<<set $crewUniqueIDsUsed = 0>>\n<<set $crewFirstNamesUsed = []>>\n<<set $crewMembersHiredByClass = {\n\tePilot: 0,\n\teMedic: 0,\n\teEngineer: 0,\n\tePlanetaryScientist: 0,\n\teBiologist: 0,\n\teXenologist: 0}>>\n<<set $unusedStarNames = clone(starNames)>>\n\n<<set $crew = []>>\n<<set $crewOnLifeSupport = []>>\n<<set $deadCrew = []>>\n<<set $recoveringCrew = []>>\n<<set $memorialCrew = []>>\n<<set $retiredCrew = []>>\n\n<<set $researchableUpgrades = [\n\t"sBasicScanners",\n\t"sUpgradeScannerAtmosphere",\n\t"sUpgradeScannerTemperature",\n\t"sUpgradeScannerGravity",\n\t"sUpgradeScannerLiquid",\n\t"sUpgradeScannerPlanetNum",\n\t"sUpgradeScannerSystemHazards",\n\t"sUpgradeScannerLife",\n\t"sUpgradeScannerExtinctLife",\n\t"sUpgradeScannerCiv",\n\t"sUpgradeScannerExtinctCiv",\n\t"sUpgradeScannerMeddlingCiv",\n\t"sUpgradeScannerGatewayLife",\n\t"sUpgradeScannerGatewayExtinctLife",\n\t"sUpgradeScannerGatewayCiv",\n\t"sUpgradeScannerGatewayExtinctCiv",\n\t"sUpgradeScannerGatewayUsed"\n\t\n]>>\n\n<<set $ship = new Ship()>>\n<<set $ship.upgrades.push("sBasicScanners")>>\n\n/% discoveredTraits object. Indexes are the trait names, values are the number of times you've discovered a trait %/\n<<set $discoveredTraits = {}>>\n\n<<set $data = {\n\tplanetary_science: 0,\n\txenobiology: 0,\n\txenotechnology: 0,\n\tgateway: 0\n} >>\n/%<<set $discoveredCivs = []>>%/\n\n<<set $positionTrait = "xInOrbit">>\n<<set $situationTraits = []>>\n\n/% Generate universe %/\n<<set $civilisations = []>>\n<<set _numInterstellarCivs = random(6,8)>>\t/% including Gatebuilders %/\n<<set $interstellarCivHomeSystems = StarSystemGenerator.makeInterstellarCivHomeSystems($civilisations, _numInterstellarCivs)>>\n/%<<set $interstellarCivHomeSystems = []>>%/\n\n<<set $civTempNamesUsed = []>>\n\n/% First interstellar civ is the Gatebuilders %/\n<<set $civilisations[0].traits.push("icGatebuilders","cKnowOf")>>\n/% Start out knowing that the Gatebuilders exist %/\n<<set $civilisations[0].knownTraits = ["ctSpacefaring","icGatebuilders","cKnowOf"]>>\n<<set $civilisations[0].tempName = "Gatebuilders">>\n\n\n/% Game stats %/\n<<set $gameStats = {\n\tsystemsVisited: 0,\n\tbodiesVisited: 0,\n\ttimesDamaged:0,\n\ttotalData: 0,\n\texplorersEmbarked: 0,\n\texplorersKilled: 0,\n\tachievementsThisGame: []\n} >>\n\n\n/% Initial position %/\n<<set $planetNumber = -1>>\n<<set $systemNumber = 0>>\n\n<<set $contextTraits = []>>\n\n/% Event queue %/\n<<set $eventQueue = []>>\n<<set $lastEvents = []>>\n<<set $eventTitle = "">>\n<<set $oneTimeEventsSeen = []>>\n\n/% Debug stuff %/\n<<set $debug_auto_succeed = false>>\n<<set $debug_auto_fail = false>>\n<<set $debug_auto_hazard = false>>\n<<set $allEventsThisGame = {}>>\n\n/%<<set $selectedDisplay = GameUI.display_main>>%/\n\n<<set $wormholeUsesRemaining = 20>>\n\n<<set $discoveriesThisSystem = []>>
window.TraitSets = {\n\tarAlienDiets: ["cOmnivores","cHerbivores","cCarnivores","cPhotosynthesizers","cAICiv"],\n\tarAlienBodyShapes: ["cQuadrupedal","cAvian","cAquatic","cWormlike","cBipedal","cAmorphous"],\n\tarAlienTechLevels: ["ctNonToolUsing","ctPaleolithic","ctMesolithic","ctNeolithic","ctBronzeAge","ctIronAge","ctMedieval","ctIndustrial","ctDigital","ctSpacefaring"],\n\tarAlienSettlementTypes: ["psUndergroundCities","psFloatingCities","psCities","psForestCities","psCrystalCities","psUnderwaterCities","psFlyingCities"],\n\tarAlienExtinctionReasons: ["cxMeteor","cxFlare","cxGammaBurst","cxClimateChange","cxNuclearWar","cxBioweapon","cxAIRebellion","cxKilledByAliens"],\n\t\n\tarSpaceshipTraits: [\n\t\t"psOrbitingStarship","psLandedStarship","psOrbitalStation","psSurfaceStation","psSurfaceDerelict","psOrbitalDerelict","psCrewedShip","psRobotShip","psSelfReplicatingStarship",\n\t\t"psColonyShip","psExperimentationShip","psExplorationShip","psMiningShip","psGenerationShip","psWarShip","psSleeperShip","psTerraformingShip",\n\t\t"psColonyOutpost","psExperimentationBase","psObservationPost","psMiningBase","psSpaceHabitat","psMilitaryBase","psSleeperStation","psTerraformingStation"],\n\t\n\tarShipDamage: ["sDamageInterplanetaryEngine","sDamageLandingEngine","sDamageLifeSupport","sDamageMedbay","sDamageFabricator","sDamageBiolab"]\n}
window.Traits = {\n\n/* STAR TRAITS AND STAR SYSTEM TRAITS */\n\n/* Star colour (type) */\ntColourBlue: {\t\t\t\t\tname: "Blue star", \t\t\t\t},\ntColourBlueWhite: {\t\t\tname: "Blue-white star", \t\t},\ntColourWhite: {\t\t\t\tname: "White star",\t\t\t\t},\ntColourYellowWhite: {\t\t\tname: "Yellow-white star", \t\t},\ntColourYellow: {\t\t\t\tname: "Yellow star",\t\t\t},\ntColourOrange: {\t\t\t\tname: "Orange star", \t\t\t},\ntColourRed: {\t\t\t\t\tname: "Red star",\t\t\t\t},\n/* Special star types */\ntWhiteDwarf: {\t\t\t\t\tname: "White dwarf"},\ntBlackHole: {\t\t\t\t\tname: "Black hole"},\ntNeutronStar: {\t\t\t\tname: "Neutron star"},\ntPulsar: {\t\t\t\t\t\tname: "Pulsar"},\n\n\n/* Star size */\ntSizeHypergiant: {\t\t\t\tname: "Hypergiant star"},\ntSizeSupergiant: {\t\t\t\tname: "Supergiant star"},\ntSizeGiant: {\t\t\t\t\tname: "Giant star"},\ntSizeSubgiant: {\t\t\t\tname: "Subgiant star"},\ntSizeMainSequence: {\t\t\tname: "Main sequence star"},\ntSizeDwarf: {\t\t\t\t\tname: "Dwarf star"},\n\n/* Star mass */\ntMassHuge: {\t\t\t\t\tname: "Huge star", \t\t\t\t},\ntMassLarge: {\t\t\t\t\tname: "Large star", \t\t\t},\ntMassMedium: {\t\t\t\t\tname: "Medium star", \t\t\t},\ntMassSmall: {\t\t\t\t\tname: "Small star", \t\t\t},\ntMassTiny: {\t\t\t\t\tname: "Tiny star", \t\t\t\t},\n\n/* Star luminosity */\ntLuminosityVeryBright: {\t\tname: "Very bright star", \t\t},\ntLuminosityBright: {\t\t\tname: "Bright star", \t\t\t},\ntLuminosityMedium: {\t\t\tname: "Medium-brightness star", },\ntLuminosityDim: {\t\t\t\tname: "Dim star", \t\t\t\t},\ntLuminosityVeryDim: {\t\t\tname: "Very dim star", \t\t\t},\n\n/* Star system traits */\ntAsteroids: {\t\t\t\t\tname: "Dense asteroids", \t\trevealedBy: "sUpgradeScannerSystemHazards",\ticon: "striking-balls", sortOrder: 0, hazard: true, hazardNegatedBy: "sUpgradeShipAsteroids"},\ntSolarFlares: {\t\t\t\tname: "Stellar flares", \t\trevealedBy: "sUpgradeScannerSystemHazards",\ticon: "eruption", sortOrder: 0, hazard: true, hazardNegatedBy: "sUpgradeShipRadiationShielding"},\ntNebula: {\t\t\t\t\t\tname: "Nebula", \t\t\t\trevealedBy: "sUpgradeScannerSystemHazards",\ticon: "fluffy-cloud", sortOrder: 0, hazard: true, hazardNegatedBy: "sUpgradeShipNebula"},\n\n\ntLifeDetected: {\t\t\t\tname: "Life detected",\t\t \trevealedBy: "sUpgradeScannerGatewayLife", sortOrder: 1},\ntExtinctLifeDetected: {\t\t\tname: "Organic remnants detected",\trevealedBy: "sUpgradeScannerGatewayLife", sortOrder: 1},\ntCivDetected: {\t\t\t\t\tname: "Civilisation detected",\trevealedBy: "sUpgradeScannerGatewayCiv", sortOrder: 1},\ntExtinctCivDetected: {\t\t\tname: "Extinct civilisation detected",\trevealedBy: "sUpgradeScannerGatewayCiv", sortOrder: 1},\ntGatewayUsed: {\t\t\t\t\tname: "Recent Gate use", \trevealedBy: "sUpgradeScannerGatewayUsed", sortOrder: 1},\n\ntFirstSystem: {},\t/* First system in the game, has some restrictions on what can spawn */\n\ntInterstellarCivHomeSystem: {},\ntGatebuildersHomeSystem: {},\n\n\n/* PLANET, LIFE, AND CIVILISATION TRAITS */\n/* Special - added by special code*/\npIsMoon: {\t\t\t\t\t\tname: "Moon",\t\t\t\trevealedBy: "sBasicScanners"},\npWormhole: {\t\t\t\t\tname: "Gate", revealedBy: "sBasicScanners", explorable: true, exploreEvent: "Enter Wormhole", location: "xInOrbit"},\n\n/* Planet temp */\npTempVeryCold: {\t\t\t\tname: "Very cold",\t\t\trevealedBy: "sUpgradeScannerTemperature",\ticon: "temp-vcold",\thazard: true, hazardNegatedBy: "sUpgradeSuitsCold", sortOrder: 0},\npTempCold: {\t\t\t\t\tname: "Cold",\t\t\t\trevealedBy: "sUpgradeScannerTemperature",\ticon: "temp-cold", sortOrder: 0},\npTempGoldilocks: {\t\t\t\tname: "Temperate",\t\t\trevealedBy: "sUpgradeScannerTemperature",\ticon: "temp-medium", sortOrder: 0},\npTempHot: {\t\t\t\t\t\tname: "Hot",\t\t\t\trevealedBy: "sUpgradeScannerTemperature",\ticon: "temp-hot", sortOrder: 0},\npTempVeryHot: {\t\t\t\t\tname: "Very hot",\t\t\trevealedBy: "sUpgradeScannerTemperature",\ticon: "temp-vhot",\thazard: true,\thazardNegatedBy: "sUpgradeSuitsHot", sortOrder: 0},\n\n/* Planet type */\npBelt: {\t\t\t\t\t\tname: "Belt",\t\t\t\trevealedBy: "sBasicScanners"},\npGasGiant: {\t\t\t\t\tname: "Gas giant",\t\t\trevealedBy: "sBasicScanners"},\npMinorPlanet: {\t\t\t\t\tname: "Minor planet",\t\trevealedBy: "sBasicScanners"},\npTerrestrialPlanet: {\t\t\tname: "Terrestrial planet",\trevealedBy: "sBasicScanners"},\n\n\n\n/* Planet size */\npLarge: {\t\t\t\t\t\tname: "Large",\t\t\t\trevealedBy: "sBasicScanners"},\npMedium: {\t\t\t\t\t\tname: "Medium",\t\t\t\trevealedBy: "sBasicScanners"},\npSmall: {\t\t\t\t\t\tname: "Small",\t\t\t\trevealedBy: "sBasicScanners"},\n\n/* Surface type */\npSurfaceGiant: {\t\t\t\tname: "Gas giant surface",\t},\npSurfaceIce: {\t\t\t\t\tname: "Ice surface",\t\t},\npSurfaceRocky: {\t\t\t\tname: "Rocky surface",\t\t},\n\n/* Gravity */\npGravNegligible: {\t\t\t\tname: "Negligible gravity",\trevealedBy: "sUpgradeScannerGravity", sortOrder: 1},\npGravLow: {\t\t\t\t\t\tname: "Low gravity",\t\trevealedBy: "sUpgradeScannerGravity", icon: "grav-low", sortOrder: 1},\npGravMedium: {\t\t\t\t\tname: "Moderate gravity",\trevealedBy: "sUpgradeScannerGravity", icon: "grav-medium", sortOrder: 1},\npGravHigh: {\t\t\t\t\tname: "High gravity",\t\trevealedBy: "sUpgradeScannerGravity", icon: "grav-high",\thazard: true,\thazardNegatedBy: "sUpgradeSuitsHighGrav", sortOrder: 1},\n\n/* Atmosphere pressure */\npAtmosNone: {\t\t\t\t\tname: "No atmosphere",\t\t\t\trevealedBy: "sUpgradeScannerAtmosphere"},\npAtmosThin: {\t\t\t\t\tname: "Thin atmosphere",\t\t\trevealedBy: "sUpgradeScannerAtmosphere",\t/*icon: "pressure-low"*/},\npAtmosThick: {\t\t\t\t\tname: "Thick atmosphere",\t\t\trevealedBy: "sUpgradeScannerAtmosphere",\t/*icon: "pressure-medium"*/},\npAtmosCrushing: {\t\t\t\tname: "Crushing atmosphere",\t\trevealedBy: "sUpgradeScannerAtmosphere",\thazard: true,\thazardNegatedBy: "sUpgradeSuitsArmour"},\n\n/* Atmosphere composition */\npAtmosHydrogen: {\t\t\t\tname: "Hydrogen gas giant",\t\t\trevealedBy: "sUpgradeScannerAtmosphere",\ticon: "atmos-h2", sortOrder: 2},\npAtmosIceGiant: {\t\t\t\tname: "Volatile-rich gas giant",\trevealedBy: "sUpgradeScannerAtmosphere",\ticon: "atmos-h2he", sortOrder: 2},\npAtmosCO2: {\t\t\t\t\tname: "Carbon dioxide atmosphere",\trevealedBy: "sUpgradeScannerAtmosphere",\ticon: "atmos-co2", sortOrder: 2},\npAtmosNi: {\t\t\t\t\t\tname: "Nitrogen atmosphere",\t\trevealedBy: "sUpgradeScannerAtmosphere",\ticon: "atmos-n2", sortOrder: 2},\npAtmosMethaneAmmonia: {\t\t\tname: "Methane-ammonia atmosphere",\trevealedBy: "sUpgradeScannerAtmosphere",\ticon: "atmos-ch4nh3", sortOrder: 2},\npAtmosHelium: {\t\t\t\t\tname: "Helium atmosphere",\t\t\trevealedBy: "sUpgradeScannerAtmosphere",\ticon: "atmos-he", sortOrder: 2},\npAtmosOxNi: { \t\t\t\t\tname: "Oxygen-nitrogen atmosphere", revealedBy: "sUpgradeScannerAtmosphere", explorable: true, canReveal: ["psRadiationSeparatesOxygen","psMicrobesMakeOxygen","psAliensMadeOxygen"], removes: ["pAtmosHydrogen","pAtmosIceGiant","pAtmosCO2","pAtmosNi"],\ticon: "atmos-n2o2", sortOrder: 2},\n\n/* Basic physical features - initially visible and not caused by secrets, but may be explorable to reveal other traits */\npWind: {\t\t\t\t\t\tname: "Strong winds",\thazard: true, hazardNegatedBy: "sUpgradeShipWings"},\npCraggy: {\t\t\t\t\t\tname: "Uneven surface",\thazard: true, hazardNegatedBy: "sUpgradeShipLandingGear"},\npOceanPlanetwide: {\t\t\t\tname: "Planet-wide ocean"},\n\npTidallyLocked: {\t\t\t\tname: "Tidally locked"},\n\npCometaryTail: {\t\t\t\tname: "Cometary tail" },\n\npCloseOrbit: {\t\t\t\t\tname: "Close orbit"},\n\n\n/* VISIBLE TRAITS */\n/* Each is added by one or more secret traits further down */\n\n/* Should only be able to have one ocean trait */\npOceanWater: {\t\t\t\t\tname: "Liquid water ocean", explorable: true, canReveal: ["psUnderwaterCities","psOceanRecentComet","psAliensMadeOcean","psOceanPrecipitation","psOceanMeltedIceSurface","psMicrobesMadeOcean","psLifeOcean","psOceanNomads","psSmallUnderwaterSettlements"]},\npOceanHydrocarbons: {\t\t\tname: "Hydrocarbon ocean", explorable: true, canReveal: ["psUnderwaterCities","psHydrocarbonPrecipitation","psLifeOcean","psOceanNomads","psSmallUnderwaterSettlements"]},\t//1\npOceanAmmonia: {\t\t\t\tname: "Ammonia ocean", explorable: true, canReveal: ["psUnderwaterCities","psAmmoniaPrecipitation","psLifeOcean","psOceanNomads","psSmallUnderwaterSettlements"]},\t//1\npOceanLava: {\t\t\t\t\tname: "Molten rock ocean", explorable: true, canReveal: ["psUnderwaterCities","psLavaOceanMoltenSurface","psLavaOceanUpwelling","psLavaOceanVolcanoes","psLavaOceanCollision","psLifeOcean","psOceanNomads","psSmallUnderwaterSettlements"]},\t//4\n\npCaves: { \t\t\t\t\t\tname: "Caves", explorable: true, revealedBy: "sUpgradeScannerSurfaceDetail", canReveal: ["psCoolingCaves","psErosionCaves","psBurrowersMadeCaves","psUndergroundCities","psMinedOut","psArtificialCaves"]},\t// 6\npDust: { \t\t\t\t\t\tname: "Dust", explorable: true, revealedBy: "sUpgradeScannerSurfaceDetail", canReveal: ["psMeteoriteImpacts","psMicroorganismDust","psAlienMeteorBombardment","psNanomachineDust","psVolcanicSurfaceDust","psDiamondDust","psDustExcretions","psFossilDust"],\thazard: true,\thazardNegatedBy: "sUpgradeSuitsArmour"},\t// 8\npEccentricOrbit: { \t\t\t\tname: "Eccentric orbit", explorable: true, revealedBy: "sUpgradeScannerSurfaceDetail", canReveal: ["psExtrasolarCapture","psPrimordialCollision","psAliensChangedOrbit","psCometaryCloudBody"]},\t//4\npFloatingStructures: { \t\t\tname: "Floating objects", explorable: true, revealedBy: "sUpgradeScannerLiquid", canReveal: ["psFloatingVegetation","psFloatingCities","psFloatingVegAnimals","psInhabitedFloatingVeg"]},\t//5\npPossibleStructures: { \t\t\tname: "Possible structures", explorable: true, revealedBy: "sUpgradeScannerSurfaceDetail", canReveal: ["psRegularGeology","psCities","psSmallSettlements","psAnimalStructures","psSurfaceSolarPanels","psPlanetSpanningComputer"]},\t//4\npPossibleVegetation: { \t\t\tname: "Possible vegetation", explorable: true, revealedBy: "sUpgradeScannerSurfaceDetail", canReveal: ["psForests","psForestAnimals","psForestOrganisms","psForestCities","psTendedForests","psCrystalForests","psCrystalCities"]},\t//7\npRadiationZones: \t{ \t\t\tname: "Radiation zones", explorable: true, revealedBy: "sUpgradeScannerSurfaceDetail", canReveal: ["psRadioactiveMinerals","psRadioactiveMicrobes","psNuclearBattlefields","psNuclearPowerAccident"]},\t//4\npRingSystem:\t \t{ \t\t\tname: "Ring system", explorable: true, revealedBy: "sUpgradeScannerSurfaceDetail", canReveal: ["psBrokenMoon","psFailedMoon","psCapturedAsteroids","psSatelliteRing","psSpaceJunk","psBattleDebrisRing","psOrbitalArtworks","psSpaceWhaleSwarm","psEjectaRings"], location: "xInOrbit"},\t//9\npSaltCoveredSurface: { \t\t\tname: "Salt-covered surface", explorable: true, revealedBy: "sUpgradeScannerSurfaceDetail", canReveal: ["psEvaporatedOceans","psSaltExcretingMicroorganism","psAliensStoleWater","psSaltExcretingNanites"]},\t//4\npSulphurCoveredSurface: { \t\tname: "Sulphur-covered surface", explorable: true, revealedBy: "sUpgradeScannerSurfaceDetail", canReveal: ["psVolcanicSulphurSurface","psSulphurExcretions","psAlienIndustrySulphur"]},\t//3\npNitrogenCoveredSurface: { \t\tname: "Nitrogen-covered surface", explorable: true, revealedBy: "sUpgradeScannerSurfaceDetail", canReveal: ["psFrozenNitrogenAtmosphere","psNitrogenExcretions","psAlienIndustryNitrogen"]},\t//3\npUnstable: { \t\t\t\t\tname: "Unstable surface", explorable: true, revealedBy: "sUpgradeScannerSurfaceDetail", canReveal: ["psMoltenCore","psRadioactiveHeating","psTidalFlexing","psBiologicalHeating","psTechnologicalHeating","psNewlyFormed"], hazard: true},\t//6\npFlyingObjects: {\t\t\t\tname: "Flying objects", explorable: true, canReveal: ["psWingedAnimals","psGasbagAnimals","psAirbornePlants","psGasbagPlants","psFlyingCities","psAircraft","psAirborneNomads"]},\npMovingLandObjects: {\t\t\tname: "Moving objects", explorable: true, canReveal: ["psLandAnimalsLegs","psLandAnimalsWorms","psLandAnimalsWheeled","psMobileLandPlants","psNomadicGroups","psRollingRocks","psGroundRobots"]},\t//7\npUnusuallyDense: {\t\t\t\tname: "High density planet", explorable: true, canReveal: ["psThinCrust","psExPlanetBelt","psGasGiantCore","psPlanetaryCoreFragment","psStrippedPlanetoid"]},\npUnusuallyLight: {\t\t\t\tname: "Low density planet", explorable: true, canReveal: ["psNoCore","psSubsurfaceOceanWater","psBurrowedOut","psActuallyASpaceWhale","psArtificialBelt","psActuallyASpaceStation","psWaterWorld","psPlanetaryCrustFragment","psOutgassingHoneycomb"]},\npVolcanoes: {\t\t\t\t\tname: "Volcanoes", explorable: true, canReveal: ["psTectonicVolcanoes","psConstantResurfacing","psVolcanoBlowholes"]},\t//3\npCryoVolcanoes: {\t\t\t\tname: "Cryovolcanoes", explorable: true, canReveal: ["psSubsurfaceOceanWater","psTidalFlexing","psCryovolcanoBlowholes"]},\t//3\npCloudCover: {\t\t\t\t\tname: "Planet-wide cloud cover", explorable: true, canReveal: ["psWaterVapourClouds","psVolcanicDustClouds","psGemstoneRain","psGlassRain","psMicrobeClouds"]},\t//5\npDiscolouredSurfaceAreas: {\tname: "Surface discolouration", explorable: true, canReveal: ["psGeologicalColouring","psColourfulSurfaceMicrobes","psColourfulInternalMicrobes","psGrasslands","psPaintedSurface"]},\t//5\npRunawayGreenhouseEffect: {\tname: "Runaway greenhouse effect", explorable: true, canReveal: ["psBoiledOceansGreenhouse","psIndustrialGreenhouse","psMeddlingCivGreenhouse"]},\t//3\npGlowingGasGiant: {\t\t\tname: "Radiation-emitting gas giant", explorable: true, canReveal: ["psBrownDwarf","psGlowingPlasmaLife","psGasGiantIndustryHeat"], location: "xInOrbit"},\t//1\npRegularInternalStructure: {\tname: "Regular internal structure", explorable: true, canReveal: ["psInternalMicrobeStructure","psInternalMeddlingCivStructure","psCrystalPlanet"]},\t//3\npPossibleChemicalLifeSigns: {\tname: "Possible biological chemistry", explorable: true, canReveal: ["psChemicalLifeSigns"]},\npPossibleArtificialTraces: {\tname: "Possible intelligent activity", explorable: true, canReveal: ["psGenericArtificialSigns"]},\npCraters: { \t\t\t\t\tname: "Heavily cratered surface", explorable: true, canReveal: ["psAncientMeteorCraters","psRecentMeteorCraters","psExtinctVolcanoCraters","psPlantCraters","psAlienBombardmentCraters"]},\npOceanSurfaceScum: {\t\t\tname: "Ocean Surface Material", explorable: true, canReveal: ["psOceanSurfaceSediment","psOceanSurfaceDust","psMicrobialOceanScum","psComplexOceanScum","psOceanSurfacePollution","psOceanSurfaceNanites"]},\n\n\n/* These things might be alien ships or space stations */\npOrbitalStructure: {\t\t\tname: "Possible Orbital Structure", explorable: true, revealedBy: "sUpgradeScannerSurfaceDetail", canReveal: ["psRegularAsteroid","psOrbitingStarship","psOrbitalStation","psOrbitalDerelict","psOrbitingSpaceWhale"], location: "xInOrbit"},\t//5\npSurfaceAnomaly: { \t\t\t\tname: "Localised surface anomaly", explorable: true, revealedBy: "sUpgradeScannerSurfaceDetail", canReveal: ["psLandedStarship","psSurfaceStation","psMonument","psSurfaceDerelict"]},\n\npIdentifiedMeddlingCiv: {},\npLandingPrevented: { name: "Landing prevented" },\n\n/* Physical causes of visible traits */\npsRadiationSeparatesOxygen: {\tname: "Radiogenic oxygen", \t\t\tdataType: "planetary_science", secret: true},\npsCoolingCaves: {\t\t\t\tname: "Cooling voids", \t\t\t\tdataType: "planetary_science", secret: true},\npsErosionCaves: { \t\t\t\tname: "Erosion caves", \t\t\t\tdataType: "planetary_science", secret: true},\npsMeteoriteImpacts: { \t\t\tname: "Meteorite bombardment dust", dataType: "planetary_science", secret: true},\npsExtrasolarCapture: { \t\t\tname: "Extrasolar capture", \t\tdataType: "planetary_science", secret: true},\npsPrimordialCollision: { \t\tname: "Primordial collision", \t\tdataType: "planetary_science", secret: true},\npsRegularGeology: { \t\t\tname: "Regular geology", \t\t\tdataType: "planetary_science", secret: true},\npsCrystalForests: { \t\t\tname: "Crystalline growths", \t\tdataType: "planetary_science", secret: true},\npsRadioactiveMinerals: { \t\tname: "Radioactive minerals", \t\tdataType: "planetary_science", secret: true},\npsBrokenMoon: { \t\t\t\tname: "Broken moon", \t\t\t\tdataType: "planetary_science", secret: true},\npsFailedMoon: { \t\t\t\tname: "Failed moon", \t\t\t\tdataType: "planetary_science", secret: true},\npsCapturedAsteroids: { \t\t\tname: "Captured asteroids", \t\tdataType: "planetary_science", secret: true},\npsEvaporatedOceans: { \t\t\tname: "Evaporated oceans", \t\t\tdataType: "planetary_science", secret: true},\npsMoltenCore: { \t\t\t\tname: "Molten core", \t\t\t\tdataType: "planetary_science", secret: true},\npsRadioactiveHeating: { \t\tname: "Radioactive heating", \t\tdataType: "planetary_science", secret: true},\npsTidalFlexing: { \t\t\t\tname: "Tidal flexing", \t\t\t\tdataType: "planetary_science", secret: true},\npsRegularAsteroid: {\t\t\tname: "Regular asteroid",\t\t\tdataType: "planetary_science", secret: true},\npsCometaryCloudBody: \t{\t\tname: "Cometary cloud body",\t\tdataType: "planetary_science", secret: true},\npsThinCrust: \t{\t\t\t\tname: "Thin planetary crust",\t\tdataType: "planetary_science", secret: true},\npsGasGiantCore: \t{\t\t\tname: "Former gas giant core",\t\tdataType: "planetary_science", secret: true},\npsNoCore: \t{\t\t\t\t\tname: "Core-less planet",\t\t\tdataType: "planetary_science", secret: true},\npsPlanetaryCoreFragment: \t{\tname: "Planetary core fragment",\tdataType: "planetary_science", secret: true},\npsStrippedPlanetoid: \t{\t\tname: "Heat-stripped planetoid",\tdataType: "planetary_science", secret: true},\npsPlanetaryCrustFragment: \t{\tname: "Planetary crust fragment",\tdataType: "planetary_science", secret: true},\npsOutgassingHoneycomb: \t{\t\tname: "Planetoid outgassing voids",\tdataType: "planetary_science", secret: true},\npsWaterWorld: {\t\t\t\t\tname: "Water Planet"\t,\t\t\tdataType: "planetary_science", secret: true},\npsRollingRocks: \t{\t\t\tname: "Rolling rocks",\t\t\t\tdataType: "planetary_science", secret: true},\npsExPlanetBelt: \t{\t\t\tname: "Broken planet",\t\t\t\tsecret: true, explorable: true, canReveal: ["psExPlanetWorldbreakers","psExPlanetCollision","psExPlanetRocheLimit"]},\npsExPlanetCollision: \t{\t\tname: "Planetary collision debris",\tdataType: "planetary_science", secret: true},\npsExPlanetRocheLimit: \t{\t\tname: "Gravitational shattering",\tdataType: "planetary_science", secret: true},\npsWaterVapourClouds: \t{\t\tname: "Water vapour clouds",\t\tdataType: "planetary_science", secret: true},\npsVolcanicDustClouds: \t{\t\tname: "Volcanic ash clouds",\t\tdataType: "planetary_science", secret: true},\npsGemstoneRain: \t{\t\t\tname: "Gemstone rain",\t\t\t\tdataType: "planetary_science", secret: true},\npsGlassRain: \t{\t\t\t\tname: "Glass rain",\t\t\t\t\tdataType: "planetary_science", secret: true},\npsVolcanicSurfaceDust: \t{\t\tname: "Volcanic dust",\t\t\t\tdataType: "planetary_science", secret: true},\npsDiamondDust: \t{\t\t\t\tname: "Diamond dust",\t\t\t\tdataType: "planetary_science", secret: true},\npsVolcanicSulphurSurface: \t{\tname: "Volcanic sulphur deposits",\tdataType: "planetary_science", secret: true},\npsGeologicalColouring: \t{\t\tname: "Geological Discolouration",\tdataType: "planetary_science", secret: true},\npsFrozenNitrogenAtmosphere: {\tname: "Frozen nitrogen atmosphere",\tdataType: "planetary_science", secret: true},\npsBoiledOceansGreenhouse: {\t\tname: "Boiled ocean greenhouse",\tdataType: "planetary_science", secret: true},\npsBrownDwarf: {\t\t\t\t\tname: "Brown dwarf star",\t\t\tdataType: "planetary_science", secret: true},\npsCrystalPlanet: {\t\t\t\tname: "Crystal planet",\t\t\t\tdataType: "planetary_science", secret: true},\npsAncientMeteorCraters: {\t\tname: "Primordial meteor bombardment",dataType: "planetary_science", secret: true},\npsRecentMeteorCraters: {\t\tname: "Recent meteor bombardment",\tdataType: "planetary_science", secret: true},\npsExtinctVolcanoCraters: {\t\tname: "Extinct volcano craters",\tdataType: "planetary_science", secret: true},\npsOceanSurfaceSediment: {\t\tname: "Ocean Surface Sediment",\t\tdataType: "planetary_science", secret: true},\npsOceanSurfaceDust: {\t\t\tname: "Ocean Surface Dust",\t\t\tdataType: "planetary_science", secret: true},\n\n/* Water ocean */\npsOceanPrecipitation: \t{\t\tname: "Precipitation ocean",\t\tdataType: "planetary_science", secret: true},\npsOceanRecentComet: \t{\t\tname: "Comet remnant ocean",\t\tdataType: "planetary_science", secret: true},\npsOceanMeltedIceSurface:{\t\tname: "Former ice surface",\t\t\tdataType: "planetary_science", secret: true},\n\n/* Lava ocean */\npsLavaOceanMoltenSurface: \t{\tname: "Molten surface",\t\tdataType: "planetary_science", secret: true},\npsLavaOceanUpwelling: \t{\t\tname: "Lava Upwellings",\tdataType: "planetary_science", secret: true},\npsLavaOceanVolcanoes: \t{\t\tname: "Planetary-scale volcanic lava flows",\tdataType: "planetary_science", secret: true},\npsLavaOceanCollision: \t{\t\tname: "Recent collision",\tdataType: "planetary_science", secret: true},\n\n/* Hydrocarbon/ammonia ocean */\npsHydrocarbonPrecipitation: {\tname: "Hydrocarbon precipitation",\tdataType: "planetary_science", secret: true},\npsAmmoniaPrecipitation: {\t\tname: "Ammonia precipitation",\t\tdataType: "planetary_science", secret: true},\n\n/* Subsurface ocean */\npsSubsurfaceOceanWater: {\t\tname: "Subsurface ocean",\t\t\tsecret: true, explorable: true, canReveal: ["psLifeSubsurfaceOcean","psMoltenCore","psTidalFlexing","psUnderwaterCities","psSmallUnderwaterSettlements"]},\n\n\n\npsEjectaRings: \t{\t\t\t\tname: "Volcanic ejecta rings",\t\tdataType: "planetary_science", secret: true},\npsNewlyFormed: \t{\t\t\t\tname: "Newly formed planet",\t\tdataType: "planetary_science", secret: true},\npsTectonicVolcanoes: \t{\t\tname: "Tectonic volcanoes",\t\t\tdataType: "planetary_science", secret: true},\npsConstantResurfacing: \t{\t\tname: "Continual resurfacing",\t\tdataType: "planetary_science", secret: true},\n\n/* Any liquid will add this */\npsLiquidDetected: {\t\t\t\tname: "Liquid detected", secret: true,\tdataType: "planetary_science",revealedBy: "sUpgradeScannerLiquid", icon: "droplets", sortOrder: 3},\n\n/* Presence of life */\npsLifeDetected: {\t\t\t\tname: "Life detected", secret: true, revealedBy: "sUpgradeScannerLife", icon: "dna2", sortOrder: 4 },\npsExtinctLifeDetected: {\t\tname: "Organic remains detected", secret: true, revealedBy: "sUpgradeScannerExtinctLife", icon: "dinosaur-bones", sortOrder: 4 },\npsLife: {\t\t\t\t\t\tname: "Life", \tdataType: "xenobiology",\tsecret: true,\nexplorable: true,\tdiscoveryEvent: "StoryEvent First Life",\ncanReveal: ["psLifeMicrobes","psLifePlants","psLifeAnimals",\n\t\t\t"psLifeChemistryCarbon","psLifeChemistryHydrocarbon","psLifeChemistrySilicon","psLifeChemistryPlasma",\n\t\t\t"psLifeSurface","psLifeOcean","psLifeSubsurfaceOcean","psLifeAtmosphere","psLifeUnderground",\n\t\t\t"psForests","psForestOrganisms","psMobileLandPlants","psGrasslands",\n\t\t\t"psForestAnimals","psLandAnimalsLegs","psLandAnimalsWorms","psLandAnimalsWheeled",\n\t\t\t"psJellyfish","psFish","psSquid","psJetFish","psIceSheetGrapplers",\n\t\t\t"psFloatingVegetation","psUnderwaterVegetation","psOceanBedVegetation","psIceSheetBottomVegetation",\n\t\t\t"psFloatingVegAnimals",\n\t\t\t"psSubsurfaceOceanWater",\n\t\t\t"psGasbagPlants","psAirbornePlants",\n\t\t\t"psWingedAnimals","psGasbagAnimals",\n\t\t\t"psCavePlants","psUndergroundPlants",\n\t\t\t"psBurrowingWorms","psCaveDwellingAnimals",\n\t\t\t"psMicrobesMakeOxygen",\n\t\t\t"plExtinct","plNotExtinct",\n\t\t\t"plLifeStaticLifeForms","plRecentExtinction","plSpeciesWithComplexBehaviour","plNoFossilRemains","plBafflingDiversity","plSimilarPlantsAndAnimals","plViolentLife","plNonViolentLife","plMysteriousCommunication"] },\nplNotExtinct: {\t\t\t\t\tname: "Living Ecosystem", \tdataType: "xenobiology",\tsecret: true},\n\nplExtinct: {\t\t\t\t\tname: "Extinct ecosystem", \tsecret: true, explorable: true,\n\tcanReveal: ["plsExtinctionClimateShift","plsExtinctionDisease","plsExtinctionAsteroid","plsExtinctionNativeCiv","plsExtinctionMeddlingCiv","plsExtinctionGammaBurst"] },\n\n\n/* Life chemistry */\npsLifeChemistryCarbon: { \t\tname: "Carbon-based life", \t\tdataType: "xenobiology", \tsecret: true},\npsLifeChemistryHydrocarbon: {\tname: "Hydrocarbon-based life", dataType: "xenobiology",\tsecret: true},\npsLifeChemistrySilicon: { \t\tname: "Silicon-based life", \tdataType: "xenobiology", \tsecret: true},\npsLifeChemistryPlasma: { \t\tname: "Plasma-based life", \t\tdataType: "xenobiology", \tsecret: true},\n\n/* Life complexity */\npsLifeMicrobes: { \t\t\t\tname: "Microbial life",\t\t\tdataType: "xenobiology", \tsecret: true},\npsLifePlants: { \t\t\t \tname: "Plant life", \t\t\tdataType: "xenobiology",\tsecret: true},\npsLifeAnimals: { \t\t\t\tname: "Animal life", \t\t\tdataType: "xenobiology", \tsecret: true},\n\n\n/* Life habitats */\npsLifeSurface: {\t\t \t\tname: "Surface-dwelling life", \tdataType: "xenobiology", \tsecret: true,\ncanReveal: ["psLife"]},\npsLifeOcean: {\t\t\t \t\tname: "Ocean-dwelling life", \tdataType: "xenobiology", \tsecret: true,\ncanReveal: ["psLife"]},\npsLifeSubsurfaceOcean: {\t\tname: "Subsurface ocean life", \tdataType: "xenobiology", \tsecret: true,\ncanReveal: ["psLife"]},\npsLifeAtmosphere: {\t\t\t\tname: "Atmospheric life", \t\tdataType: "xenobiology", \tsecret: true,\ncanReveal: ["psLife"]},\npsLifeUnderground: {\t\t\tname: "Subsurface life", \t\tdataType: "xenobiology", \tsecret: true,\ncanReveal: ["psLife"]},\n\n/* Biological secrets */\npsMicrobesMakeOxygen: {\t\t\tname: "Photosynthetic oxygen", \t\tdataType: "xenobiology", \tsecret: true,\tcanReveal: ["psLife","plExtinct","plNotExtinct"]},\npsMicroorganismDust: {\t\t\tname: "Microorganism dust", \t\tdataType: "xenobiology", \tsecret: true,\tcanReveal: ["psLife","plExtinct","plNotExtinct"]},\npsRadioactiveMicrobes: {\t\tname: "Radioactive microorganisms", dataType: "xenobiology", \tsecret: true,\tcanReveal: ["psLife","plExtinct","plNotExtinct"]},\npsSaltExcretingMicroorganism: {\tname: "Salt-excreting microorganisms",dataType: "xenobiology", \tsecret: true,\tcanReveal: ["psLife","plExtinct","plNotExtinct"]},\npsBiologicalHeating: {\t\t\tname: "Geo-active microorganisms", \t\tdataType: "xenobiology", \tsecret: true,\tcanReveal: ["psLife","plExtinct","plNotExtinct"]},\npsMicrobesMadeOcean: {\t\t\tname: "Biogenic water", \t\t\tdataType: "xenobiology", \tsecret: true,\tcanReveal: ["psLife","plExtinct","plNotExtinct"]},\npsInternalMicrobeStructure: {\tname: "Regular deep-crust microbe colones",dataType: "xenobiology", \tsecret: true,\tcanReveal: ["psLife","plExtinct","plNotExtinct"]},\npsColourfulSurfaceMicrobes: {\tname: "Microbial surface discolouration",\tdataType: "xenobiology", \tsecret: true,\tcanReveal: ["psLife","plExtinct","plNotExtinct"]},\npsColourfulInternalMicrobes: {\tname: "Microbial deep-crust discolouration",\tdataType: "xenobiology", \tsecret: true,\tcanReveal: ["psLife","plExtinct","plNotExtinct"]},\npsMicrobeClouds: {\t\t\t\tname: "Airborne microbe clouds",\tdataType: "xenobiology", \tsecret: true,\tcanReveal: ["psLife","plExtinct","plNotExtinct"]},\npsFossilDust: {\t\t\t\t\tname: "Fossil dust",\t\t\t\tdataType: "xenobiology", \tsecret: true,\tcanReveal: ["psLife","plExtinct","plNotExtinct"]},\npsVolcanoBlowholes: {\t\t\tname: "Lava whales",\t\t\t\tdataType: "xenobiology", \tsecret: true,\tcanReveal: ["psLife","plExtinct","plNotExtinct"]},\npsCryovolcanoBlowholes: {\t\tname: "Cryovolcano exhalations",\tdataType: "xenobiology", \tsecret: true,\tcanReveal: ["psLife","plExtinct","plNotExtinct"]},\npsSulphurExcretions: {\t\t\tname: "Sulphur excretions",\t\t\tdataType: "xenobiology", \tsecret: true,\tcanReveal: ["psLife","plExtinct","plNotExtinct"]},\npsNitrogenExcretions: {\t\t\tname: "Nitrogen excretions",\t\t\tdataType: "xenobiology", \tsecret: true,\tcanReveal: ["psLife","plExtinct","plNotExtinct"]},\npsGlowingPlasmaLife: {\t\t\tname: "Energetic plasma life forms",dataType: "xenobiology", \tsecret: true,\tcanReveal: ["psLife","plExtinct","plNotExtinct"]},\npsChemicalLifeSigns: {\t\t\tname: "Biological chemistry",\t\tdataType: "xenobiology", \tsecret: true,\tcanReveal: ["psLife","plExtinct","plNotExtinct"]},\npsPlantCraters: {\t\t\t\tname: "Biological cratering",\t\tdataType: "xenobiology", \tsecret: true,\tcanReveal: ["psLife","plExtinct","plNotExtinct"]},\npsMicrobialOceanScum: {\t\t\tname: "Neustonic Microorganisms",\tdataType: "xenobiology", \tsecret: true,\tcanReveal: ["psLife","plExtinct","plNotExtinct"]},\npsComplexOceanScum: {\t\t\tname: "Neustonic Plant Life",\t\tdataType: "xenobiology", \tsecret: true,\tcanReveal: ["psLife","plExtinct","plNotExtinct"]},\n\n/* Microbes don't always have specific traits */\n/* Microbial life is assumed to be omnipresent in every life-supporting region */\n\n/* PLANT-ANALOGUES */\n/* Land surface */\npsForests: {\t\t\t\t\tname: "Forests", \t\t\t\t\tdataType: "xenobiology", \tsecret: true,\tcanReveal: ["psLife","psForestCities","psTendedForests","plExtinct","plNotExtinct"]},\npsForestOrganisms: {\t\t\tname: "Forest organisms", \t\t\tdataType: "xenobiology", \tsecret: true,\tcanReveal: ["psLife","plExtinct","plNotExtinct"]},\npsMobileLandPlants: {\t\t\tname: "Moving vegetation",\t\t\tdataType: "xenobiology", \tsecret: true,\tcanReveal: ["psLife","plExtinct","plNotExtinct"]},\npsGrasslands: {\t\t\t\t\tname: "Low plant coverage",\t\t\tdataType: "xenobiology", \tsecret: true,\tcanReveal: ["psLife","plExtinct","plNotExtinct"]},\n/* Ocean / subsurface ocean */\npsFloatingVegetation: {\t\t\tname: "Floating surface vegetation", \t\tdataType: "xenobiology", \tsecret: true,\tcanReveal: ["psLife","psInhabitedFloatingVeg","plExtinct","plNotExtinct"]},\npsUnderwaterVegetation: {\t\tname: "Free-floating aquatic vegetation", \tdataType: "xenobiology", \tsecret: true,\tcanReveal: ["psLife","plExtinct","plNotExtinct"]},\npsOceanBedVegetation: {\t\t\tname: "Ocean bed vegetation", \t\tdataType: "xenobiology", \tsecret: true,\tcanReveal: ["psLife","plExtinct","plNotExtinct"]},\npsIceSheetBottomVegetation: {\tname: "Ice-sheet-hanging vegetation",\t \tdataType: "xenobiology", \tsecret: true,\tcanReveal: ["psLife","plExtinct","plNotExtinct"]},\n/* Atmosphere */\npsGasbagPlants: {\t\t\t\tname: "Gasbag vegetation",\t\t\tdataType: "xenobiology", \tsecret: true,\tcanReveal: ["psLife","plExtinct","plNotExtinct"]},\npsAirbornePlants: {\t\t\t\tname: "Lighter-than-air vegetation",dataType: "xenobiology", \tsecret: true,\tcanReveal: ["psLife","plExtinct","plNotExtinct"]},\n/* Underground */\npsCavePlants: {\t\t\t\t\tname: "Cave-dwelling plants",\t\tdataType: "xenobiology", \tsecret: true,\tcanReveal: ["psLife","plExtinct","plNotExtinct"]},\npsUndergroundPlants: {\t\t\tname: "Underground plants",\t\t\tdataType: "xenobiology", \tsecret: true,\tcanReveal: ["psLife","plExtinct","plNotExtinct"]},\n\n\n/* ANIMAL-ANALOGUES */\n/* Land surface */\npsForestAnimals: {\t\t\t\tname: "Complex forests", \t\t\tdataType: "xenobiology", \tsecret: true,\tcanReveal: ["psLife","plExtinct","plNotExtinct"]},\npsLandAnimalsLegs: {\t\t\tname: "Legged animals",\t\t\t\tdataType: "xenobiology", \tsecret: true,\tcanReveal: ["psLife","plExtinct","plNotExtinct"]},\npsLandAnimalsWorms: {\t\t\tname: "Worm-like animals",\t\t\tdataType: "xenobiology", \tsecret: true,\tcanReveal: ["psLife","plExtinct","plNotExtinct"]},\npsLandAnimalsWheeled: {\t\t\tname: "Wheeled animals",\t\t\tdataType: "xenobiology", \tsecret: true,\tcanReveal: ["psLife","plExtinct","plNotExtinct"]},\npsLandAnimalsBlobs: {\t\t\tname: "Amorphous land animals",\t\tdataType: "xenobiology", \tsecret: true,\tcanReveal: ["psLife","plExtinct","plNotExtinct"]},\n\n/* Ocean/subsurface ocean */\npsFloatingVegAnimals: {\t\t\tname: "Floating vegetation animals",dataType: "xenobiology", \tsecret: true,\tcanReveal: ["psLife","plExtinct","plNotExtinct"]},\n\npsJellyfish: {\t\t\t\t\tname: "Jellyfish-analogues",\t\tdataType: "xenobiology", \tsecret: true,\tcanReveal: ["psLife","plExtinct","plNotExtinct"]},\npsFish: {\t\t\t\t\t\tname: "Fish-analogues",\t\t\t\tdataType: "xenobiology", \tsecret: true,\tcanReveal: ["psLife","plExtinct","plNotExtinct"]},\npsSquid: {\t\t\t\t\t\tname: "Cephalapod-analogues",\t\tdataType: "xenobiology", \tsecret: true,\tcanReveal: ["psLife","plExtinct","plNotExtinct"]},\npsJetFish: {\t\t\t\t\tname: "Natural jet propulsion",\t\tdataType: "xenobiology", \tsecret: true,\tcanReveal: ["psLife","plExtinct","plNotExtinct"]},\npsIceSheetGrapplers: {\t\t\tname: "Ice sheet grapplers",\t\tdataType: "xenobiology", \tsecret: true,\tcanReveal: ["psLife","plExtinct","plNotExtinct"]},\n\n/* Atmosphere */\npsWingedAnimals: {\t\t\t\tname: "Winged animals", \t\t\tdataType: "xenobiology", \tsecret: true,\tcanReveal: ["psLife","plExtinct","plNotExtinct"]},\npsGasbagAnimals: {\t\t\t\tname: "Gasbag animals", \t\t\tdataType: "xenobiology", \tsecret: true,\tcanReveal: ["psLife","plExtinct","plNotExtinct"]},\n/* Underground */\npsBurrowingWorms: {\t\t\tname: "Burrowing animals", \t\t\tdataType: "xenobiology", \tsecret: true,\tcanReveal: ["psLife","plExtinct","plNotExtinct"]},\npsCaveDwellingAnimals: {\t\tname: "Cave-dwelling animals",\t\tdataType: "xenobiology", \tsecret: true,\tcanReveal: ["psLife","plExtinct","plNotExtinct"]},\n\n/* Space-dwelling life */\npsOrbitingSpaceWhale: {\t\tname: "Lone space-dwelling organism",\tsecret: true,\texplorable: true, canReveal: ["plsSpaceWhaleNebulaEvolution","plsSpaceWhaleSurvivedPlanet","plsArtificialSpaceWhale","plsUpliftedSpaceWhale","plsIntelligentSpaceWhale"], location: "xInOrbit",\tdiscoveryEvent: "StoryEvent First Life"},\npsSpaceWhaleSwarm: {\t\t\tname: "Space-dwelling organism swarm",\tsecret: true,\texplorable: true,\tcanReveal: ["plsSpaceWhaleNebulaEvolution","plsSpaceWhaleSurvivedPlanet","plsArtificialSpaceWhale","plsUpliftedSpaceWhale","plsIntelligentSpaceWhale"], location: "xInOrbit",\tdiscoveryEvent: "StoryEvent First Life"},\npsActuallyASpaceWhale: {\t\tname: "Gargantuan space-dwelling organism",\tsecret: true,\texplorable: true,\tcanReveal: ["plsSpaceWhaleNebulaEvolution","plsSpaceWhaleSurvivedPlanet","plsArtificialSpaceWhale","plsUpliftedSpaceWhale","plsIntelligentSpaceWhale"],\tdiscoveryEvent: "StoryEvent First Life"},\n\n/* Visible-from-orbit traits */\npsDustExcretions: {\t\t\t\tname: "Planet-wide excrement",\t\tdataType: "xenobiology", \tsecret: true,\tcanReveal: ["psLife"]},\npsAnimalStructures: {\t\t\tname: "Regular animal habitats",\tdataType: "xenobiology", \tsecret: true,\tcanReveal: ["psLife"]},\npsBurrowersMadeCaves: {\t\t\tname: "Zoogenic cave system",\t\tdataType: "xenobiology", \tsecret: true,\tcanReveal: ["psLife"]},\npsBurrowedOut: {\t\t\t\tname: "Burrowed out",\t \t\t\tdataType: "xenobiology", \tsecret: true,\tcanReveal: ["psLife"]},\n\n/* BIOLOGICAL MYSTERIES */\nplLifeStaticLifeForms: {\t\tname: "Static life",\t\t\t\tsecret: true,\texplorable: true,\tcanReveal: ["plsVerySlowLife","plsHibernatingLife","plsFreezesOnContact"]},\nplRecentExtinction: {\t\t\tname: "Recent extinction event",\tsecret: true,\texplorable: true,\tcanReveal: ["plsExtinctionClimateShift","plsExtinctionDisease","plsExtinctionAsteroid","plsExtinctionNativeCiv","plsExtinctionMeddlingCiv","plsExtinctionGammaBurst"]},\nplSpeciesWithComplexBehaviour: {name: "Complex behaviour",\t\t\tsecret: true,\texplorable: true,\tcanReveal: ["plsAnimalsActuallySapient","plsPreSapientSpecies","plsPostSapientSpecies","plsUpliftingInProgress","plsHeldBackFromSapience"]},\nplNoFossilRemains: {\t\t\tname: "Absence of remains",\t\t\tsecret: true,\texplorable: true,\tcanReveal: ["plsRecentEvolution","plsLifeLeavesNoRemains","plsLifeSeededByAliens"]},\nplBafflingDiversity: {\t\t\tname: "Baffling diversity",\t\t\tsecret: true,\texplorable: true,\tcanReveal: ["plsColonyCreatures","plsVeryDiverseLife","plsOneSpeciesManyForms","plsBodyPartGrafting","plsMicrobeColonyOrganisms"]},\nplSimilarPlantsAndAnimals: {\tname: "Plant/animal similarity",\tsecret: true,\texplorable: true,\tcanReveal: ["plsPlantAnimalLifeCycle","plsCarnivorousPlants","plsPlantsGrowLimbs"]},\nplViolentLife: {\t\t\t\tname: "Violent life",\t\t\t\tsecret: true,\texplorable: true,\tcanReveal: ["plsHealingFactor","plsBloodSportWorld","plsHumansAggravatingAnimals"]},\nplNonViolentLife: {\t\t\t\tname: "Peaceful life",\t\t\t\tsecret: true,\texplorable: true,\tcanReveal: ["plsOnlyHerbivores","plsEngineeredSafeEcosystem","plsNonObviousConflict"]},\nplMysteriousCommunication: {\tname: "Mysterious communication",\tsecret: true,\texplorable: true,\tcanReveal: ["plsNaturalEMTransmitters","plsBodyLanguageCommunication","plsChemicalCommunication"]},\n\n/* BIOLOGICAL MYSTERY RESOLUTIONS */\nplsVerySlowLife: {\t\t\t\tname: "Slow-paced life",\t\t\t\t\t\tdataType: "xenobiology", \tsecret: true},\nplsHibernatingLife: {\t\t\tname: "Planetary hibernation",\t\t\t\t\tdataType: "xenobiology", \tsecret: true},\nplsFreezesOnContact: {\t\t\tname: "Extreme freeze response",\t\t\t\tdataType: "xenobiology", \tsecret: true},\nplsExtinctionClimateShift: {\tname: "Climate shift extinction",\t\t\t\tdataType: "xenobiology", \tsecret: true},\nplsExtinctionDisease: {\t\t\tname: "Extinction-level disease",\t\t\t\tdataType: "xenobiology", \tsecret: true},\nplsExtinctionAsteroid: {\t\tname: "Asteroid extinction event",\t\t\t\tdataType: "xenobiology", \tsecret: true},\nplsExtinctionGammaBurst: {\t\tname: "Gamma ray burst extinction event",\t\tdataType: "xenobiology", \tsecret: true},\nplsExtinctionNativeCiv: {\t\tname: "Extinction due to native civilisation",\tdataType: "xenotechnology",\tsecret: true,\tcanReveal: ["psCiv"]},\nplsExtinctionMeddlingCiv: {\t\tname: "Extinction due to meddling civilisation",dataType: "xenotechnology",\tsecret: true,\tcanReveal: ["psMeddlingCiv","icExterminators"]},\nplsAnimalsActuallySapient: {\tname: "Non-obvious sapients",\t\t\t\t\tdataType: "xenotechnology",\tsecret: true,\tcanReveal: ["psCiv","ctNonToolUsing"]},\nplsPreSapientSpecies: {\t\t\tname: "Pre-sapient species",\t\t\t\t\tdataType: "xenobiology", \tsecret: true},\nplsPostSapientSpecies: {\t\tname: "Post-sapient species",\t\t\t\t\tdataType: "xenobiology", \tsecret: true,\tcanReveal: ["psCiv","cExtinct"]},\nplsUpliftingInProgress: {\t\tname: "Sapience uplifting",\t\t\t\t\t\tdataType: "xenotechnology",\tsecret: true,\tcanReveal: ["psMeddlingCiv","icInterferers"]},\nplsHeldBackFromSapience: {\t\tname: "Sapience inhibition",\t\t\t\t\tdataType: "xenotechnology",\tsecret: true,\tcanReveal: ["psMeddlingCiv","icInterferers"]},\nplsRecentEvolution: {\t\t\tname: "Recent evolution",\t\t\t\t\t\tdataType: "xenobiology", \tsecret: true},\nplsLifeLeavesNoRemains: {\t\tname: "Perfect organic material recycling",\t\tdataType: "xenobiology", \tsecret: true},\nplsLifeSeededByAliens: {\t\tname: "Seeded ecosystem",\t\t\t\t\t\tdataType: "xenotechnology",\tsecret: true,\tcanReveal: ["psMeddlingCiv","icEcoEngineering"]},\nplsColonyCreatures: {\t\t\tname: "Symbiotic cluster organisms",\t\t\tdataType: "xenobiology", \tsecret: true},\nplsVeryDiverseLife: {\t\t\tname: "Extreme biodiversity",\t\t\t\t\tdataType: "xenobiology", \tsecret: true},\nplsOneSpeciesManyForms: {\t\tname: "Multi-form species",\t\t\t\t\t\tdataType: "xenobiology", \tsecret: true},\nplsBodyPartGrafting: {\t\t\tname: "Body-part grafting",\t\t\t\t\t\tdataType: "xenobiology", \tsecret: true},\nplsMicrobeColonyOrganisms: {\tname: "Microbe colony organisms",\t\t\t\tdataType: "xenobiology", \tsecret: true},\nplsCarnivorousPlants: {\t\t\tname: "Carnivorous-plant ecosystem",\t\t\tdataType: "xenobiology", \tsecret: true},\nplsPlantAnimalLifeCycle: {\t\tname: "Sedentary and mobile life stages",\t\tdataType: "xenobiology", \tsecret: true},\nplsPlantsGrowLimbs: {\t\t\tname: "Plant-matter limb use",\t\t\t\t\tdataType: "xenobiology", \tsecret: true},\nplsHealingFactor: {\t\t\t\tname: "Extreme healing factor",\t\t\t\t\tdataType: "xenobiology", \tsecret: true},\nplsBloodSportWorld: {\t\t\tname: "Engineered aggression",\t\t\t\t\tdataType: "xenotechnology",\tsecret: true,\tcanReveal: ["psMeddlingCiv","icEcoEngineering"]},\nplsHumansAggravatingAnimals: {\tname: "Aggressive outsider response",\t\t\tdataType: "xenobiology", \tsecret: true},\nplsOnlyHerbivores: {\t\t\tname: "Herbivore ecosystem",\t\t\t\t\tdataType: "xenobiology", \tsecret: true},\nplsEngineeredSafeEcosystem: {\tname: "Engineered docility",\t\t\t\t\tdataType: "xenotechnology",\tsecret: true,\tcanReveal: ["psMeddlingCiv","icEcoEngineering"]},\nplsNonObviousConflict: {\t\tname: "Non-obvious biological conflict",\t\tdataType: "xenobiology", \tsecret: true},\nplsNaturalEMTransmitters: {\t\tname: "Natural EM transmitters",\t\t\t\tdataType: "xenobiology", \tsecret: true},\nplsBodyLanguageCommunication: {\tname: "Microsignal sensitivity",\t\t\t\tdataType: "xenobiology", \tsecret: true},\nplsChemicalCommunication: {\t\tname: "Chemical communication",\t\t\t\t\tdataType: "xenobiology", \tsecret: true},\n\n/* Natural space dwelling life forms */\nplsSpaceWhaleNebulaEvolution: {\tname: "Nebular evolution",\t\t\t\t\t\tdataType: "xenobiology", \tsecret: true},\nplsSpaceWhaleSurvivedPlanet: {\tname: "Ex-planetary space-dwelling life",\t\tdataType: "xenobiology", \tsecret: true},\n\n/* Civilisations */\npsCivDetected: {\tname: "Intelligent life",\tsecret: true,\trevealedBy: "sUpgradeScannerCiv", icon: "village", sortOrder: 5},\npsExtinctCivDetected: {\tname: "Extinct civilisation",\tsecret: true,\trevealedBy: "sUpgradeScannerExtinctCiv", icon: "ancient-columns", sortOrder: 5},\npsCiv: {\t\t\tname: "Intelligent life", \tsecret: true, explorable: true,\nexploreEvent: "Explore Native Civ",\ncanReveal: [\n"ctNonToolUsing","ctPaleolithic","ctMesolithic","ctNeolithic","ctBronzeAge","ctIronAge","ctMedieval","ctIndustrial","ctElectrical","ctDigital","ctSpacefaring","ctInterstellar",\n"ctOrbital","ctRegression",\n"cOmnivores","cHerbivores","cCarnivores","cPhotosynthesizers","cAICiv",\n"cQuadrupedal","cAvian","cAquatic","cWormlike","cBipedal","cAmorphous",\n"cExtinct","cNotExtinct",\n"cSmallGroups","cDistantMemories","cUndevelopedAreas","cTwoSpecies","cCivNotLinkedToNativeLife","cCyberBrains","cImprobablyHomogeneous","cMummiesOnDisplay","cHistoricalStasis","cAncientAliensMyth","cEmptySettlements",\n"icGatebuilders"]},\n\n/* All civs are either extinct or not */\ncExtinct: { \t\t\t\tname: "Extinct civilisation", \t\t\tsecret: true, explorable: true,\ncanReveal: ["cxMeteor","cxFlare","cxDisease","cxGammaBurst","cxClimateChange","cxNuclearWar","cxBioweapon","cxAIRebellion","cxKilledByAliens","cxClimateShift","cxDeliberatelyPostSapient","cxGraduallyPostSapient","cxTheMachineStops","cxInterstellarWar","cxAscension","cxPassedBeyondTheRim","cxUnsustainableGrowth","cxScientificHubris","cxGateFailure","cxGatebuilderFate"],\ndiscoveryEvent: "StoryEvent First Extinct Civ Homeworld"\n},\n\ncNotExtinct: { \t\t\tname: "Living civilisation", \t\t\tsecret: true, discoveryEvent: "StoryEvent First Contact"},\n\n/* Civ physical traits - food source */\ncOmnivores: {\t\t\t\t\tname: "Intelligent omnivores", \t\t\tdataType: "xenobiology", \tsecret: true},\ncHerbivores: {\t\t\t\t\tname: "Intelligent herbivores", \t\tdataType: "xenobiology",\tsecret: true},\ncCarnivores: {\t\t\t\t\tname: "Intelligent carnivores", \t\tdataType: "xenobiology", \tsecret: true},\ncPhotosynthesizers: {\t\t\tname: "Intelligent photosynthesizers",\tdataType: "xenobiology", \tsecret: true},\n\n/* Civ physical traits - body shape */\ncQuadrupedal: {\t\t\t\t\tname: "Intelligent quadrupeds", \tdataType: "xenobiology", \t\tsecret: true},\ncAvian: {\t\t\t\t\t\tname: "Intelligent avians", \t\tdataType: "xenobiology", \t\tsecret: true},\ncAquatic: {\t\t\t\t\t\tname: "Intelligent aquatics", \t\tdataType: "xenobiology", \t\tsecret: true},\ncWormlike: {\t\t\t\t\tname: "Intelligent annelids", \t\tdataType: "xenobiology", \t\tsecret: true},\ncBipedal: {\t\t\t\t\t\tname: "Intelligent bipeds", \t\tdataType: "xenobiology", \t\tsecret: true},\ncAmorphous: {\t\t\t\t\tname: "Amorphous intelligent beings", \tdataType: "xenobiology", \t\tsecret: true},\n\n/* General tech level */\nctNonToolUsing: {\t\t\t\tname: "Non-tool-using civilisation",dataType: "xenotechnology", \tsecret: true},\nctPaleolithic: {\t\t\t\tname: "Paleolithic civilisation",\tdataType: "xenotechnology", \tsecret: true},\nctMesolithic: {\t\t\t\t\tname: "Mesolithic civilisation",\tdataType: "xenotechnology", \tsecret: true},\nctNeolithic: {\t\t\t\t\tname: "Neolithic civilisation",\t\tdataType: "xenotechnology", \tsecret: true},\nctBronzeAge: {\t\t\t\t\tname: "Bronze age civilisation",\tdataType: "xenotechnology", \tsecret: true},\nctIronAge: {\t\t\t\t\tname: "Iron age civilisation",\t\tdataType: "xenotechnology", \tsecret: true},\nctMedieval: {\t\t\t\t\tname: "Medieval civilisation",\t\tdataType: "xenotechnology", \tsecret: true},\nctIndustrial: {\t\t\t\t\tname: "Industrial civilisation",\tdataType: "xenotechnology", \tsecret: true},\nctDigital: {\t\t\t\t\tname: "Information Age civilisation",dataType: "xenotechnology", \tsecret: true},\nctSpacefaring: {\t\t\t\tname: "Spacefaring civilisation", \tdataType: "xenotechnology", \tsecret: true},\n\n/* Extra tech details */\nctOrbital: {\t\t\t\t\tname: "Orbital civilisation", \t\tdataType: "xenotechnology", \tsecret: true},\nctInterstellar: {\t\t\t\tname: "Interstellar civilisation",\tdataType: "xenotechnology", \tsecret: true},\n\n/* New for 1.1.0 */\n/* Civ used to be of a higher tech level so may still have artefacts/ruins from that time */\nctRegression: {\t\t\t\t\tname: "Technological regression", \t\t\tsecret: true,\texplorable: true,\tcanReveal: ["ctRegressionRejection","ctRegressionDepletion","ctRegressionFlare","ctRegressionWar","ctRegressionMeddling"]},\nctRegressionRejection: {\t\tname: "Rejection of technology", \t\t\tdataType: "xenotechnology", \tsecret: true},\nctRegressionDepletion: {\t\tname: "Resource depletion regression", \t\tdataType: "xenotechnology", \tsecret: true},\nctRegressionFlare: {\t\t\tname: "Regression due to stellar flare", \tdataType: "xenotechnology", \tsecret: true},\nctRegressionWar: {\t\t\t\tname: "Regression due to war", \t\t\t\tdataType: "xenotechnology", \tsecret: true},\nctRegressionMeddling: {\t\t\tname: "Regression due to alien interference",dataType: "xenotechnology", \tsecret: true,\tcanReveal: ["psMeddlingCiv","icInterferers"]},\n\n\n/* Civ mystery traits */\ncSmallGroups: {\t\t\t\tname: "Permanent social groupings",\t\tsecret: true,\texplorable: true,\tcanReveal: ["cPackIntelligence","cStrongSocialBonds","cBondedOffspring","cRedundantGroups"]},\ncDistantMemories: {\t\t\tname: "Distant memories",\t\t\t\tsecret: true,\texplorable: true,\tcanReveal: ["cHistoricalCulture","cInheritedMemories","cCannibalMemories","cLongLivedSymbionts","cRejuvenationTechnology","cMemoryRecordings"]},\ncUndevelopedAreas: {\t\tname: "Undeveloped areas",\t\t\t\tsecret: true,\texplorable: true,\tcanReveal: ["cNaturalSanctuaries","cHarmfulAreas","cAncientRadiationZones"]},\ncTwoSpecies: {\t\t\t\tname: "Two-species civilisation",\t\tsecret: true,\texplorable: true,\tcanReveal: ["cTwoSeparatelyEvolvedSpecies","cCivIncludesAliens","cCivIncludesUpliftedAnimals","cCivIncludesCreatedSpecies","cLifeStageDiversity"]},\ncCivNotLinkedToNativeLife: {name: "Unconnected intelligent life",\tsecret: true,\texplorable: true,\tcanReveal: ["cGeneticallyModifiedSpecies","cMissingLinksExterminated"]},\ncCyberBrains: {\t\t\t\tname: "Cybernetic brain implants",\t\tsecret: true,\texplorable: true,\tcanReveal: ["cBrainInterfaces","cGovernmentBrainImplants","cCyberneticGroupMind"]},\ncImprobablyHomogeneous: {\tname: "Improbable homogeneity",\t\t\tsecret: true,\texplorable: true,\tcanReveal: ["cNaturalCloning","cCloneWorld","cOneFashionableAppearance"]},\ncMummiesOnDisplay: {\t\tname: "Display of remains",\t\t\t\tsecret: true,\texplorable: true,\tcanReveal: ["cDeathReverence","cDeadInformationStorage","cDormantNotDead"]},\ncHistoricalStasis: {\t\tname: "Historical stasis",\t\t\t\tsecret: true,\texplorable: true,\tcanReveal: ["cSocialEquilibrium","cMeddlingStasis","cFakeHistory"]},\ncAncientAliensMyth: {\t\tname: "Ancient aliens myth",\t\t\tsecret: true,\texplorable: true,\tcanReveal: ["cBaselessAncientAliensMyth","cRealAncientAliensMyth"]},\ncEmptySettlements: {\t\tname: "Empty settlements",\t\t\t\tsecret: true,\texplorable: true,\tcanReveal: ["cPeriodicHibernation","cPeriodicDieOffs","cRecentPlague","cRecentBioContainmentFailure"]},\ncAICiv: {\t\t\t\t\tname: "AI civilisation",\t\t\t\tsecret: true,\texplorable: true,\tcanReveal: ["cAIConversion","cAIOutlived","cAIMurdered"]},\n\n/* Civ mystery solutions */\ncPackIntelligence: {\t\tname: "Pack consciousness",\t\t\t\tdataType: "xenobiology", \tsecret: true},\ncStrongSocialBonds: {\t\tname: "Strong social bonds",\t\t\tdataType: "xenotechnology", secret: true},\ncBondedOffspring: {\t\t\tname: "Socially bonded offspring",\t\tdataType: "xenotechnology", secret: true},\ncRedundantGroups: {\t\t\tname: "Social redundancy",\t\t\t\tdataType: "xenotechnology", secret: true},\ncHistoricalCulture: {\t\tname: "Historical reverence",\t\t\tdataType: "xenotechnology", secret: true},\ncInheritedMemories: {\t\tname: "Memory inheritance",\t\t\t\tdataType: "xenobiology", \tsecret: true},\ncCannibalMemories: {\t\tname: "Xenophagic memory transfer",\t\tdataType: "xenobiology", \tsecret: true},\ncLongLivedSymbionts: {\t\tname: "Conscious symbionts",\t\t\tdataType: "xenobiology", \tsecret: true},\ncRejuvenationTechnology: {\tname: "Technological rejuvenation",\t\tdataType: "xenotechnology", secret: true},\ncMemoryRecordings: {\t\tname: "Memory recordings",\t\t\t\tdataType: "xenotechnology", secret: true},\ncNaturalSanctuaries: {\t\tname: "Natural sanctuaries",\t\t\tdataType: "xenotechnology", secret: true},\ncHarmfulAreas: {\t\t\tname: "Invisible Death",\t\t\t\tdataType: "xenobiology", \tsecret: true},\ncAncientRadiationZones: {\tname: "Long-lived radiation zone taboo",dataType: "xenotechnology", secret: true},\ncTwoSeparatelyEvolvedSpecies: {\tname: "Separately-evolved sapient species",\t\tdataType: "xenotechnology",\tsecret: true},\ncCivIncludesAliens: {\t\tname: "Integrated aliens",\t\t\t\tdataType: "xenotechnology", secret: true,\tcanReveal: ["psMeddlingCiv","icColonisers"]},\ncCivIncludesUpliftedAnimals: {\tname: "Integrated uplifted animals",dataType: "xenotechnology", secret: true},\ncCivIncludesCreatedSpecies: {\tname: "Integrated artificial species",\tdataType: "xenotechnology", secret: true},\ncLifeStageDiversity: {\t\tname: "Life stage diversity",\t\t\tdataType: "xenobiology", \tsecret: true},\ncGeneticallyModifiedSpecies: {\tname: "Extreme self-modification",\tdataType: "xenotechnology", secret: true},\ncMissingLinksExterminated: {name: "Vanished transitional stages",\tdataType: "xenotechnology", secret: true},\ncBrainInterfaces: {\t\t\tname: "Brain interfaces",\t\t\t\tdataType: "xenotechnology", secret: true},\ncGovernmentBrainImplants: {\tname: "Mandatory brain implants",\t\tdataType: "xenotechnology", secret: true},\ncCyberneticGroupMind: {\t\tname: "Cybernetic group mind",\t\t\tdataType: "xenotechnology", secret: true},\ncNaturalCloning: {\t\t\tname: "Natural reproductive cloning",\tdataType: "xenobiology", \tsecret: true},\ncCloneWorld: {\t\t\t\tname: "Artificial reproductive cloning",dataType: "xenotechnology", secret: true},\ncOneFashionableAppearance: {name: "Cosmetic self-modification",\t\tdataType: "xenotechnology", secret: true},\ncDeathReverence: {\t\t\tname: "Death reverence",\t\t\t\tdataType: "xenotechnology", secret: true},\ncDeadInformationStorage: {\tname: "Necrotic information retrieval",\tdataType: "xenotechnology", secret: true},\ncDormantNotDead: {\t\t\tname: "Intelligent life dormancy",\t\tdataType: "xenobiology", \tsecret: true},\ncSocialEquilibrium: {\t\tname: "Societal equilibrium",\t\t\tdataType: "xenotechnology", secret: true},\ncMeddlingStasis: {\t\t\tname: "Enforced historical stasis",\t\tdataType: "xenotechnology", secret: true,\tcanReveal: ["psMeddlingCiv","icInterferers"]},\ncFakeHistory: {\t\t\t\tname: "Faked historical records",\t\tdataType: "xenotechnology", secret: true},\ncBaselessAncientAliensMyth: {name: "Ancient aliens myth",\t\t\tdataType: "xenotechnology", secret: true},\ncRealAncientAliensMyth: {\tname: "Ancient alien visitors",\t\t\tdataType: "xenotechnology", secret: true,\tcanReveal: ["psMeddlingCiv","icInterferers"]},\ncPeriodicHibernation: {\t\tname: "Large-scale sapient hibernation",dataType: "xenobiology", \tsecret: true},\ncPeriodicDieOffs: {\t\t\tname: "Periodic sapient die-offs",\t\tdataType: "xenobiology", \tsecret: true},\ncRecentPlague: {\t\t\tname: "Recent plague",\t\t\t\t\tdataType: "xenobiology", secret: true},\ncRecentBioContainmentFailure: {\tname: "Bio-containment failure",\tdataType: "xenotechnology", secret: true},\ncAIConversion: {\t\t\tname: "Civilisational AI conversion",\tdataType: "xenotechnology", secret: true},\ncAIOutlived: {\t\t\t\tname: "AI outlived creators",\t\t\tdataType: "xenotechnology", secret: true},\ncAIMurdered: {\t\t\t\tname: "AI killed creators",\t\t\t\tdataType: "xenotechnology", secret: true},\n\n/* Native civ causes of visible planet traits */\n\n/* Civ settlements: must have one of these: */\npsUndergroundCities: {\t\t\tname: "Underground cities", \t\tdataType: "xenotechnology", \tsecret: true,\tcanReveal: ["psCiv","cExtinct","cNotExtinct"]},\npsFloatingCities: {\t\t\t\tname: "Floating cities", \t\t\tdataType: "xenotechnology", \tsecret: true,\tcanReveal: ["psCiv","cExtinct","cNotExtinct"]},\npsCities: {\t\t\t\t\t\tname: "Cities", \t\t\t\t\tdataType: "xenotechnology", \tsecret: true,\tcanReveal: ["psCiv","cExtinct","cNotExtinct"]},\npsSmallSettlements: {\t\t\tname: "Small settlements",\t\t\tdataType: "xenotechnology", \tsecret: true,\tcanReveal: ["psCiv","cExtinct","cNotExtinct"]},\npsSmallUnderwaterSettlements: {\tname: "Small underwater settlements",dataType: "xenotechnology", \tsecret: true,\tcanReveal: ["psCiv","cExtinct","cNotExtinct"]},\npsForestCities: \t{\t\t\tname: "Forest cities", \t\t\t\tdataType: "xenotechnology", \tsecret: true,\tcanReveal: ["psCiv","cExtinct","cNotExtinct"]},\npsInhabitedFloatingVeg: \t{\tname: "Inhabited floating vegetation", \tdataType: "xenotechnology", secret: true,\tcanReveal: ["psCiv","cExtinct","cNotExtinct"]},\npsCrystalCities: \t{\t\t\tname: "Crystal cities", \t\t\tdataType: "xenotechnology", \tsecret: true,\tcanReveal: ["psCiv","cExtinct","cNotExtinct"]},\npsUnderwaterCities: \t{\t\tname: "Underwater cities", \t\t\tdataType: "xenotechnology", \tsecret: true,\tcanReveal: ["psCiv","cExtinct","cNotExtinct"]},\npsFlyingCities: \t{\t\t\tname: "Flying cities", \t\t\t\tdataType: "xenotechnology", \tsecret: true,\tcanReveal: ["psCiv","cExtinct","cNotExtinct"]},\npsNomadicGroups: \t{\t\t\tname: "Nomadic peoples",\t\t\tdataType: "xenotechnology", \tsecret: true,\tcanReveal: ["psCiv","cExtinct","cNotExtinct"]},\npsAirborneNomads: \t{\t\t\tname: "Atmospheric nomads",\t\t\tdataType: "xenotechnology", \tsecret: true,\tcanReveal: ["psCiv","cExtinct","cNotExtinct"]},\npsOceanNomads: \t{\t\t\t\tname: "Ocean nomads",\t\t\t\tdataType: "xenotechnology", \tsecret: true,\tcanReveal: ["psCiv","cExtinct","cNotExtinct"]},\npsGenericArtificialSigns: {\t\tname: "Artificial traces",\t\t\tdataType: "xenotechnology", \tsecret: true,\tcanReveal: ["psCiv","cExtinct","cNotExtinct"]},\n\n/* Other native civ traces */\npsArtificialCaves: \t{\t\t\tname: "Artificial caves", \t\t\tdataType: "xenotechnology", \tsecret: true,\tcanReveal: ["psCiv","cExtinct","cNotExtinct"]},\npsTendedForests: \t{\t\t\tname: "Tended forests", \t\t\tdataType: "xenotechnology", \tsecret: true,\tcanReveal: ["psCiv","cExtinct","cNotExtinct"]},\npsNuclearBattlefields: {\t\tname: "Nuclear battlefields", \t\tdataType: "xenotechnology", \tsecret: true,\tcanReveal: ["psCiv","cExtinct","cNotExtinct"]},\npsNuclearPowerAccident: {\t\tname: "Nuclear power accident", \tdataType: "xenotechnology", \tsecret: true,\tcanReveal: ["psCiv","cExtinct","cNotExtinct"]},\npsAircraft: {\t\t\t\t\tname: "Aircraft",\t\t\t\t\tdataType: "xenotechnology", \tsecret: true,\tcanReveal: ["psCiv","cExtinct","cNotExtinct"]},\npsSatelliteRing: {\t\t\t\tname: "Satellite network", \t\t\tdataType: "xenotechnology", \tsecret: true,\tcanReveal: ["psCiv","cExtinct","cNotExtinct"]},\npsSpaceJunk: {\t\t\t\t\tname: "Space junk", \t\t\t\tdataType: "xenotechnology", \tsecret: true,\tcanReveal: ["psCiv","cExtinct","cNotExtinct"]},\npsIndustrialGreenhouse: {\t\tname: "Industrial greenhouse effect",\tdataType: "xenotechnology", secret: true,\tcanReveal: ["psCiv","cExtinct","cNotExtinct"]},\npsOceanSurfacePollution: {\t\tname: "Ocean Surface Pollution",\tdataType: "xenotechnology",\t\tsecret: true,\tcanReveal: ["psCiv","cExtinct","cNotExtinct"]},\n\n/* New for 1.1.0 */\npsPlanetSpanningComputer: {\t\tname: "Planet-spanning computer",\tsecret: true, explorable: true, canReveal: ["psSimulatedWorld","psComputerGod","psGrandCalculator"]},\n\npsSimulatedWorld: {\t\t\t\tname: "Simulated world",\t\t\tdataType: "xenotechnology", \tsecret: true,\tcanReveal: ["psCiv","cExtinct","cNotExtinct"] },\npsComputerGod: {\t\t\t\tname: "Computer God",\t\t\t\tdataType: "xenotechnology", \tsecret: true,\tcanReveal: ["psCiv","cExtinct","cNotExtinct"] },\npsGrandCalculator: {\t\t\tname: "Grand Calculator",\t\t\tdataType: "xenotechnology", \tsecret: true ,\tcanReveal: ["psCiv","cExtinct","cNotExtinct"]},\n\n\n\n\n\n/* Trait that represents meddling by non-native civ */\npsMeddlingCiv: { \t\t\t\tname: "Alien visitation",\t\t\tdataType: "xenotechnology",\t\tsecret: true, canReveal: ["ctSpacefaring"], discoveryEvent: "StoryEvent First Interplanetary Traces"},\npsMeddlingCivDetected: {\t\tname: "Alien interference", \t\t\tdataType: "xenotechnology", \tsecret: true, revealedBy: "sUpgradeScannerMeddlingCiv", icon: "ufo", sortOrder: 6},\n\n/* Civ causes of extinction */\ncxMeteor: {\t\t\t\t\t\tname: "Extinction by meteor", \t\t\t\tdataType: "xenotechnology", \tsecret: true},\ncxFlare: {\t\t\t\t\t\tname: "Extinction by stellar Flare", \t\tdataType: "xenotechnology", \tsecret: true},\ncxDisease: {\t\t\t\t\tname: "Extinction by disease", \t\t\t\tdataType: "xenobiology", \t\tsecret: true},\ncxGammaBurst: {\t\t\t\t\tname: "Extinction by gamma-ray burst",\t\tdataType: "xenobiology", \t\tsecret: true},\ncxClimateChange: {\t\t\t\tname: "Extinction by artificial climate change",dataType: "xenotechnology",\tsecret: true},\ncxClimateShift: {\t\t\t\tname: "Extinction by natural climate shift",\tdataType: "xenobiology",\t\tsecret: true},\ncxNuclearWar: {\t\t\t\t\tname: "Extinction by nuclear war", \t\t\tdataType: "xenotechnology", \tsecret: true},\ncxBioweapon: {\t\t\t\t\tname: "Extinction by runaway bioweapon",\tdataType: "xenobiology", \t\tsecret: true},\ncxAIRebellion: {\t\t\t\tname: "Extinction by AI rebellion", \t\tdataType: "xenotechnology", \tsecret: true},\ncxKilledByAliens: {\t\t\t\tname: "Extermination by spacefaring aliens",dataType: "xenotechnology", \tsecret: true,\tcanReveal: ["psMeddlingCiv","icExterminators"]},\ncxDeliberatelyPostSapient: {\tname: "Rejection of sapience", \t\t\t\tdataType: "xenotechnology", \tsecret: true},\ncxGraduallyPostSapient: {\t\tname: "Sapience lost", \t\t\t\t\t\tdataType: "xenobiology", \t\tsecret: true},\ncxTheMachineStops: {\t\t\tname: "Extinction by technological failure",dataType: "xenotechnology", \tsecret: true},\n\n/* Special fates for spacefaring or equivalent civs */\ncxInterstellarWar: {\t\t\tname: "Extinction by interstellar war",\t\tdataType: "xenotechnology", \tsecret: true},\ncxAscension: {\t\t\t\t\tname: "Post-material civilisation",\t\t\tdataType: "xenotechnology", \tsecret: true},\ncxPassedBeyondTheRim: {\t\t\tname: "Civilisational departure",\t\t\tdataType: "xenotechnology", \tsecret: true},\ncxUnsustainableGrowth: {\t\tname: "Extinction by unsustainable growth",\tdataType: "xenotechnology", \tsecret: true},\ncxScientificHubris: {\t\t\tname: "Extinction by scientific hubris",\tdataType: "xenotechnology", \tsecret: true},\ncxGateFailure: {\t\t\t\tname: "Extinction by gate failure",\t\t\tdataType: "xenotechnology", \tsecret: true},\ncxGatebuilderFate: {\t\t\tname: "Disappearance into the Gates",\t\tdataType: "xenotechnology", \tsecret: true},\n\n/* New for 1.1.0 */\ncxSimulationEnding: {\t\t\tname: "Retreat into simulation",\t\t\tdataType: "xenotechnology", \tsecret: true},\n\n\n/* INTERSTELLAR/INTERPLANETARY CIV TRAITS */\n/* Special technologies and/or cultural traits that affect what traces they leave */\nicEcoEngineering: {\t\t\t\tname: "Ecosystem engineering", \t\tdataType: "xenotechnology", \tsecret: true},\nicNanotech: {\t\t\t\t\tname: "Nanotechnology", \t\t\tdataType: "xenotechnology", \tsecret: true},\nicPlanetMoving: {\t\t\t\tname: "Celestial engineering",\t\tdataType: "xenotechnology", \tsecret: true},\nicPlanetEngineering: {\t\t\tname: "Planetary engineering",\t\tdataType: "xenotechnology", \tsecret: true},\nicSelfReplicatingMachines: {\tname: "Self-replicating machines",\tdataType: "xenotechnology", \tsecret: true},\nicColonisers: {\t\t\t\t\tname: "Colonisers",\t\t\t\t\tdataType: "xenotechnology", \tsecret: true},\nicExperimenters: {\t\t\t\tname: "Experimenters",\t\t\t\tdataType: "xenotechnology", \tsecret: true},\nicExploiters: {\t\t\t\t\tname: "Exploiters",\t\t\t\t\tdataType: "xenotechnology", \tsecret: true},\nicObservers: {\t\t\t\t\tname: "Observers",\t\t\t\t\tdataType: "xenotechnology", \tsecret: true},\nicSpaceHabitation: {\t\t\tname: "Void dwellers",\t\t\t\tdataType: "xenotechnology", \tsecret: true},\nicSpaceWarfare: {\t\t\t\tname: "Interplanetary warfare",\t\tdataType: "xenotechnology", \tsecret: true},\nicSuspendedAnimation: {\t\t\tname: "Suspended animation",\t\tdataType: "xenotechnology", \tsecret: true},\nicTerraformers: {\t\t\t\tname: "Terraformers",\t\t\t\tdataType: "xenotechnology", \tsecret: true},\nicExterminators: {\t\t\t\tname: "Exterminators",\t\t\t\tdataType: "xenotechnology", \tsecret: true},\nicInterferers: {\t\t\t\tname: "Civilisation meddlers",\t\tdataType: "xenotechnology", \tsecret: true},\nicArtists: {\t\t\t\t\tname: "Interplanetary artists",\t\tdataType: "xenotechnology", \tsecret: true},\n\n/* Exactly one civ should have this */\nicGatebuilders: {\t\t\t\tname: "Gatebuilders", \t\t\t\tsecret: true,\texplorable: true, exploreEvent: "Explore Gatebuilder Story"},\n\n/* Special end-game object -- exploring this starts the endgame */\npsEndgameTrigger: {\t\t\t\tname: "Gate Nexus",\t\t\t\t\tsecret: true, location: "xInOrbit",\texplorable: true, exploreEvent: "Endgame Activate Nexus"},\n\n/* Meddling/spacefaring civ traces */\npsBattleDebrisRing: {\t\t\tname: "Orbital battle debris", \t\tdataType: "xenotechnology", \tsecret: true,\tcanReveal: ["psMeddlingCiv","icSpaceWarfare"]},\npsOrbitalArtworks: {\t\t\tname: "Orbital artworks", \t\t\tdataType: "xenotechnology", \tsecret: true,\tcanReveal: ["psMeddlingCiv","icArtists"]},\npsMonument: {\t\t\t\t\tname: "Monument",\t\t \t\t\tdataType: "xenotechnology", \tsecret: true,\tcanReveal: ["psMeddlingCiv","icArtists"]},\npsPaintedSurface: {\t\t\t\tname: "Planetary artwork",\t\t\tdataType: "xenotechnology", \tsecret: true,\tcanReveal: ["psMeddlingCiv","icArtists"]},\npsAliensMadeOcean: {\t\t\tname: "Artificial ocean", \t\t\tdataType: "xenotechnology", \tsecret: true,\tcanReveal: ["psMeddlingCiv","icTerraformers"]},\npsAliensMadeOxygen: {\t\t\tname: "Artificial oxygen", \t\t\tdataType: "xenotechnology", \tsecret: true,\tcanReveal: ["psMeddlingCiv","icTerraformers"]},\npsMinedOut: {\t\t\t\t\tname: "Planet-wide mining", \t\tdataType: "xenotechnology", \tsecret: true,\tcanReveal: ["psMeddlingCiv","icPlanetEngineering"]},\npsAlienMeteorBombardment: {\t\tname: "Deliberate surface pulverisation",dataType: "xenotechnology", \tsecret: true,\tcanReveal: ["psMeddlingCiv","icPlanetMoving"]},\npsNanomachineDust: {\t\t\tname: "Nanomachine dust", \t\t\tdataType: "xenotechnology", \tsecret: true,\tcanReveal: ["psMeddlingCiv","icNanotech"]},\npsAlienIndustrySulphur: {\t\tname: "Industrial sulphur", \t\tdataType: "xenotechnology", \tsecret: true,\tcanReveal: ["psMeddlingCiv","icPlanetEngineering"]},\npsAlienIndustryNitrogen: {\t\tname: "Industrial nitrogen", \t\tdataType: "xenotechnology", \tsecret: true,\tcanReveal: ["psMeddlingCiv","icPlanetEngineering"]},\npsAliensChangedOrbit: {\t\t\tname: "Orbital redirection",\t\tdataType: "xenotechnology", \tsecret: true,\tcanReveal: ["psMeddlingCiv","icPlanetMoving"]},\npsAliensStoleWater: {\t\t\tname: "Planet-wide water extraction",dataType: "xenotechnology", \tsecret: true,\tcanReveal: ["psMeddlingCiv","icExploiters"]},\npsSaltExcretingNanites: {\t\tname: "Salt-excreting nanites", \tdataType: "xenotechnology", \tsecret: true,\tcanReveal: ["psMeddlingCiv","icNanotech"]},\npsTechnologicalHeating: {\t\tname: "Technological heating", \t\tdataType: "xenotechnology", \tsecret: true,\tcanReveal: ["psMeddlingCiv","icPlanetEngineering"]},\npsMeddlingCivGreenhouse: {\t\tname: "Xeno-industrial greenhouse effect", \t\tdataType: "xenotechnology", \tsecret: true,\tcanReveal: ["psMeddlingCiv","icPlanetEngineering"]},\npsGasGiantIndustryHeat: {\t\tname: "High-energy gas giant industry", \t\tdataType: "xenotechnology", \tsecret: true,\tcanReveal: ["psMeddlingCiv","icPlanetEngineering"]},\npsInternalMeddlingCivStructure: {\tname: "Artificial internal structure", \t\tdataType: "xenotechnology", \tsecret: true,\tcanReveal: ["psMeddlingCiv","icPlanetEngineering"]},\npsAlienBombardmentCraters: {\tname: "Deliberate bombardment craters", \t\tdataType: "xenotechnology", \tsecret: true,\tcanReveal: ["psMeddlingCiv","icPlanetMoving"]},\npsOceanSurfaceNanites: {\t\tname: "Ocean Surface Nanites", \t\tdataType: "xenotechnology", \tsecret: true,\tcanReveal: ["psMeddlingCiv","icPlanetEngineering"]},\n\npsGroundRobots: {\t\t\t\tname: "Robots", \t\t\t\t\t\t\t\tdataType: "xenotechnology", \tsecret: true,\tcanReveal: ["psMeddlingCiv","icSelfReplicatingMachines"]},\npsSurfaceSolarPanels: {\t\t\tname: "Solar panel installations", \tdataType: "xenotechnology", \tsecret: true,\tcanReveal: ["psMeddlingCiv","icPlanetEngineering"]},\n\npsArtificialBelt: {\t\t\t\tname: "Artificial belt",\t\t \tsecret: true,\texplorable: true, canReveal: ["psDysonSwarm","psHabitatBelt","psReplicatorBelt"]},\npsDysonSwarm: {\t\t\t\t\tname: "Dyson swarm",\t\t\t \tdataType: "xenotechnology", \tsecret: true,\tcanReveal: ["psMeddlingCiv","icPlanetMoving"]},\npsHabitatBelt: {\t\t\t\tname: "Habitat ring",\t\t\t \tdataType: "xenotechnology", \tsecret: true, exploreEvent: "Explore Starship",\tcanReveal: ["psMeddlingCiv","icSpaceHabitation"]},\npsReplicatorBelt: {\t\t\t\tname: "Replicator swarm",\t\t \tdataType: "xenotechnology", \tsecret: true,\tcanReveal: ["psMeddlingCiv","icSelfReplicatingMachines"]},\npsExPlanetWorldbreakers: {\t\tname: "Deliberate planetary destruction",\t\t \tdataType: "xenotechnology", \tsecret: true,\tcanReveal: ["psMeddlingCiv","icPlanetMoving"]},\npsActuallyASpaceStation: {\t\tname: "Planetary-scale habitat",\t\t\t \tdataType: "xenotechnology", \tsecret: true, exploreEvent: "Explore Starship",\tcanReveal: ["psMeddlingCiv","icSpaceHabitation"]},\n\n/* Artificial/modified space-dwelling life forms */\nplsArtificialSpaceWhale: {\t\tname: "Artificial space-dwelling life form",\tdataType: "xenotechnology",\tsecret: true,\tcanReveal: ["psMeddlingCiv","icSelfReplicatingMachines"]},\nplsUpliftedSpaceWhale: {\t\tname: "Modified space-dwelling life form",\t\tdataType: "xenotechnology",\tsecret: true,\tcanReveal: ["psMeddlingCiv","icEcoEngineering"]},\n\n/* If there is also a ship or base, the robots are carrying out its mission */\n\n/* STARSHIPS */\n/* Surface or orbit? */\npsOrbitingStarship: {\t\t\tname: "Orbiting starship",\t\t\tsecret: true,\texplorable: true,\texploreEvent: "Explore Starship", discoveryEvent: "StoryEvent First Interplanetary Traces", location: "xInOrbit", canReveal: ["psMeddlingCiv","psOrbitalDerelict","psCrewedShip","psRobotShip","psSelfReplicatingStarship","psColonyShip","psExperimentationShip","psExplorationShip","psMiningShip","psGenerationShip","psWarShip","psSleeperShip","psTerraformingShip"]},\npsLandedStarship: {\t\t\tname: "Starship on surface",\t\tsecret: true,\texplorable: true, exploreEvent: "Explore Starship", discoveryEvent: "StoryEvent First Interplanetary Traces", canReveal: ["psMeddlingCiv","psSurfaceDerelict","psCrewedShip","psRobotShip","psSelfReplicatingStarship","psSleeperShip","psGenerationShip","psColonyShip","psExperimentationShip","psExplorationShip","psMiningShip","psGenerationShip","psWarShip","psSleeperShip","psTerraformingShip"]},\n\n/* SPACE STATION/GROUND BASES */\npsOrbitalStation: {\t\t\tname: "Space station",\t\t\tsecret: true,\texplorable: true, exploreEvent: "Explore Starship", discoveryEvent: "StoryEvent First Interplanetary Traces", location: "xInOrbit",\tcanReveal: ["psMeddlingCiv","psOrbitalDerelict","psCrewedShip","psRobotShip","psSelfReplicatingStarship","psColonyOutpost","psExperimentationBase","psObservationPost","psMiningBase","psSpaceHabitat","psMilitaryBase","psSleeperStation","psTerraformingStation"]},\npsSurfaceStation: {\t\t\tname: "Surface outpost",\t\t\tsecret: true,\texplorable: true, exploreEvent: "Explore Starship", discoveryEvent: "StoryEvent First Interplanetary Traces",\tcanReveal: ["psMeddlingCiv","psSurfaceDerelict","psCrewedShip","psRobotShip","psSelfReplicatingStarship","psSleeperShip","psGenerationShip","psColonyOutpost","psExperimentationBase","psObservationPost","psMiningBase","psSpaceHabitat","psMilitaryBase","psSleeperStation","psTerraformingStation"]},\n\n/* Derelict? */\npsOrbitalDerelict: {\t\t\tname: "Orbital derelict", \t\tdataType: "xenotechnology", secret: true, canReveal: []},\npsSurfaceDerelict: {\t\t\tname: "Surface wreck", \t\t\tdataType: "xenotechnology", secret: true, canReveal: []},\n\n\n/* Crewed or robot? */\npsCrewedShip: {\t\t\t\tname: "Crewed space travel",\t\t\tdataType: "xenotechnology", \tsecret: true},\npsRobotShip: {\t\t\t\t\tname: "Robotic space travel", \t\t\tdataType: "xenotechnology", \tsecret: true},\n/* If robot, may also be self-replicating */\npsSelfReplicatingStarship: {\tname: "Self-replicating ship",\tdataType: "xenotechnology", \tsecret: true,\tcanReveal: ["icSelfReplicatingMachines","psMeddlingCiv"]},\n\n/* Spaceship types */\npsColonyShip: {\t\tname: "Colony ship",\t\tdataType: "xenotechnology", \tsecret: true,\tcanReveal: ["icColonisers","psMeddlingCiv"]},\npsExperimentationShip: {name: "Experimentation ship",dataType: "xenotechnology", \tsecret: true,\tcanReveal: ["icExperimenters","psMeddlingCiv"]},\npsExplorationShip: {\tname: "Exploration ship",\tdataType: "xenotechnology", \tsecret: true,\tcanReveal: ["icObservers","psMeddlingCiv"]},\npsMiningShip: {\t\tname: "Mining ship",\t\tdataType: "xenotechnology", \tsecret: true,\tcanReveal: ["icExploiters","psMeddlingCiv"]},\npsGenerationShip: {\tname: "Generation ship",\tdataType: "xenotechnology", \tsecret: true,\tcanReveal: ["icSpaceHabitation","psMeddlingCiv"]},\npsWarShip: {\t\t\tname: "Warship",\t\t\tdataType: "xenotechnology", \tsecret: true,\tcanReveal: ["icSpaceWarfare","psMeddlingCiv"]},\npsSleeperShip: {\t\tname: "Sleeper ship",\t\tdataType: "xenotechnology", \tsecret: true,\tcanReveal: ["icSuspendedAnimation","psMeddlingCiv"]},\npsTerraformingShip: {\tname: "Engineering ship",\tdataType: "xenotechnology", \tsecret: true,\tcanReveal: ["icTerraformers","psMeddlingCiv"]},\n\n/* Space station / ground base types */\npsColonyOutpost: {\t\tname: "Colony outpost",\t\tdataType: "xenotechnology", \tsecret: true,\tcanReveal: ["icColonisers","psMeddlingCiv"]},\npsExperimentationBase: {name: "Experimentation base",dataType: "xenotechnology", \tsecret: true,\tcanReveal: ["icExperimenters","psMeddlingCiv"]},\npsObservationPost: {\tname: "Observation post",\tdataType: "xenotechnology", \tsecret: true,\tcanReveal: ["icObservers","psMeddlingCiv"]},\npsMiningBase: {\t\tname: "Mining base",\t\tdataType: "xenotechnology", \tsecret: true,\tcanReveal: ["icExploiters","psMeddlingCiv"]},\npsSpaceHabitat: {\t\tname: "Artificial habitat",\tdataType: "xenotechnology", \tsecret: true,\tcanReveal: ["icSpaceHabitation","psMeddlingCiv"]},\npsMilitaryBase: {\t\tname: "Military base",\t\tdataType: "xenotechnology", \tsecret: true,\tcanReveal: ["icSpaceWarfare","psMeddlingCiv"]},\npsSleeperStation: {\tname: "Cryo-storage facility",dataType: "xenotechnology", \tsecret: true,\tcanReveal: ["icSuspendedAnimation","psMeddlingCiv"]},\npsTerraformingStation: {name: "Terraforming station",dataType: "xenotechnology", \tsecret: true,\tcanReveal: ["icTerraformers","psMeddlingCiv"]},\n\n/* Civ knowledge/relation traits */\ncKnowName: {},\ncKnowOf: {},\n\n/* Hidden trait - do not remove this civ when generating new systems */\ncDontRemove: {},\n\n/* MISC PLANET TRAITS - UNSORTED */\npVisited: { name: "Visited", spawnsOn: "planet", icon: "confirmed", sortOrder: 100},\n\n/* SHIP STATUS TRAITS */\nsDamageInterplanetaryEngine: { name: "Damaged Interplanetary Drive", \tskillModifier: -40, gainVerb: "has a", \tloseVerb: "no longer has a", icon: "damage-glowing-artifact"},\nsDamageLandingEngine: { \t\tname: "Damaged Landing Engine", \t\tskillModifier: -40, gainVerb: "has a", \tloseVerb: "no longer has a", icon: "damage-rocket-thruster"},\nsDamageLifeSupport: { \t\t\tname: "Damaged Life Support", \t\t\tskillModifier: -40, gainVerb: "has", \tloseVerb: "no longer has", icon: "damage-heart-beats"},\nsDamageMedbay: { \t\t\t\tname: "Damaged Medbay", \t\t\t\tskillModifier: -40, gainVerb: "has a", \tloseVerb: "no longer has a", icon: "damage-medical-pack-alt"},\nsDamageBiolab: { \t\t\t\tname: "Damaged Biolab", \t\t\t\tskillModifier: -40, gainVerb: "has a", \tloseVerb: "no longer has a", icon: "damage-parmecia"},\nsDamageFabricator: { \t\t\tname: "Damaged Fabricator", \t\t\tskillModifier: -40, gainVerb: "has a", \tloseVerb: "no longer has a", icon: "damage-processor"},\n\n/* SHIP UPGRADES*/\n\t/* Start out with this, anything revealed by this will always be visible */\nsBasicScanners:\t\t\t\t{ name: "Basic Scanners",\n\t\t\t\t\t\t\t\tdesc: "The Chiron Project's basic scanner suite is only able to reveal the type and size of bodies in a system.",\n\t\t\t\t\t\t\t\ticon: "radar-dish"},\n\n/* Gateway scanners */\nsUpgradeScannerPlanetNum:\t\t{ name: "Planet Detector",\n\t\t\t\t\t\t\t\tisUpgrade: true,\n\t\t\t\t\t\t\t\tdataType: "planetary_science",\n\t\t\t\t\t\t\t\tdataCost: 50,\n\t\t\t\t\t\t\t\tdesc: "Analysis of gravitational fluctuations in the wormhole vortex could reveal the number of planet-sized bodies in the destination system.",\n\t\t\t\t\t\t\t\ticon: "solar-system"},\nsUpgradeScannerSystemHazards:\t{ name: "Hazard Analysis",\n\t\t\t\t\t\t\t\tisUpgrade: true,\n\t\t\t\t\t\t\t\tdataType: "planetary_science",\n\t\t\t\t\t\t\t\tdataCost: 50,\n\t\t\t\t\t\t\t\tdesc: "Analysis of the sparse particulate matter arriving through the wormhole could reveal navigational hazards present in the destination system.",\n\t\t\t\t\t\t\t\ticon: "eruption"},\nsUpgradeScannerGatewayLife:\t{ name: "Gate Life Sign Analysis",\n\t\t\t\t\t\t\t\tisUpgrade: true,\n\t\t\t\t\t\t\t\tdataType: "xenobiology",\n\t\t\t\t\t\t\t\tdataCost: 100,\n\t\t\t\t\t\t\t\tdesc: "Advances in xenobiology could reveal signifiers of organic life that are detectable through the wormhole vortex.",\n\t\t\t\t\t\t\t\ticon: "dna2"},\nsUpgradeScannerGatewayExtinctLife:\t{ name: "Gate Life Remnant Detection",\n\t\t\t\t\t\t\t\tisUpgrade: true,\n\t\t\t\t\t\t\t\tdataType: "xenobiology",\n\t\t\t\t\t\t\t\tdataCost: 100,\n\t\t\t\t\t\t\t\tdesc: "Increasing the sensitivity of the life detection system could identify systems containing remnants of extinct life.",\n\t\t\t\t\t\t\t\ticon: "dinosaur-bones",\n\t\t\t\t\t\t\t\trequires: "sUpgradeScannerGatewayLife" },\nsUpgradeScannerGatewayCiv:\t\t{ name: "Gate Civilisation Detector",\n\t\t\t\t\t\t\t\tisUpgrade: true,\n\t\t\t\t\t\t\t\tdataType: "xenotechnology",\n\t\t\t\t\t\t\t\tdataCost: 100,\n\t\t\t\t\t\t\t\tdesc: "The Gate network appears to monitor their systems for the emergence of intelligent life. By connecting with this system, the Chiron Project could determine which target systems have civilisations.",\n\t\t\t\t\t\t\t\ticon: "village" },\nsUpgradeScannerGatewayExtinctCiv:\t{ name: "Gate Civilisation Remnant Detector",\n\t\t\t\t\t\t\t\tisUpgrade: true,\n\t\t\t\t\t\t\t\tdataType: "xenotechnology",\n\t\t\t\t\t\t\t\tdataCost: 100,\n\t\t\t\t\t\t\t\tdesc: "Improvements to the Civilisation Detector can reveal which systems have traces of extinct civilisations.",\n\t\t\t\t\t\t\t\ticon: "ancient-columns",\n\t\t\t\t\t\t\t\trequires: "sUpgradeScannerGatewayCiv" },\nsUpgradeScannerGatewayUsed:\t{ name: "Gate Traffic Analysis",\n\t\t\t\t\t\t\t\tisUpgrade: true,\n\t\t\t\t\t\t\t\tdataType: "xenotechnology",\n\t\t\t\t\t\t\t\tdataCost: 100,\n\t\t\t\t\t\t\t\tdesc: "Analysis of the wormhole vortex could reveal which systems' Gates have been activated within the last few thousand years, indicating that they have been visited by other spacefaring civilisations.",\n\t\t\t\t\t\t\t\ticon: "ufo"},\n\n/* System scanners */\nsUpgradeScannerAtmosphere: \t{ name: "Atmosphere Scanner",\n\t\t\t\t\t\t\t\tisUpgrade: true,\n\t\t\t\t\t\t\t\tdataType: "planetary_science",\n\t\t\t\t\t\t\t\tdataCost: 50,\n\t\t\t\t\t\t\t\tdesc: "Advanced spectrographic analysis could reveal the atmospheric pressure and composition of all planets in a system.",\n\t\t\t\t\t\t\t\tskillModifier: 20,\n\t\t\t\t\t\t\t\ticon: "atmos-n2o2" },\nsUpgradeScannerTemperature: \t{ name: "Temperature Scanner",\n\t\t\t\t\t\t\t\tisUpgrade: true,\n\t\t\t\t\t\t\t\tdataType: "planetary_science",\n\t\t\t\t\t\t\t\tdataCost: 50,\n\t\t\t\t\t\t\t\tdesc: "Thermal imaging could reveal the surface temperature of all planets in a system.",\n\t\t\t\t\t\t\t\tskillModifier: 20,\n\t\t\t\t\t\t\t\ticon: "temp-medium" },\nsUpgradeScannerGravity:\t \t{ name: "Gravity Scanner",\n\t\t\t\t\t\t\t\tisUpgrade: true,\n\t\t\t\t\t\t\t\tdataType: "planetary_science",\n\t\t\t\t\t\t\t\tdataCost: 50,\n\t\t\t\t\t\t\t\tdesc: "Sensitive mass detection could reveal the surface gravity of all planets in a system.",\n\t\t\t\t\t\t\t\tskillModifier: 20,\n\t\t\t\t\t\t\t\ticon: "grav-high" },\nsUpgradeScannerLiquid: \t\t{ name: "Liquid Scanner",\n\t\t\t\t\t\t\t\tdataType: "planetary_science",\n\t\t\t\t\t\t\t\tisUpgrade: true,\n\t\t\t\t\t\t\t\tdataCost: 50,\n\t\t\t\t\t\t\t\tdesc: "Detailed radar modelling could predict the presence of liquid on or beneath a planet's surface.",\n\t\t\t\t\t\t\t\tskillModifier: 20,\n\t\t\t\t\t\t\t\ticon: "droplets" },\nsUpgradeScannerLife:\t\t{ name: "Life Sign Analysis Package",\n\t\t\t\t\t\t\t\tisUpgrade: true,\n\t\t\t\t\t\t\t\tdataType: "xenobiology",\n\t\t\t\t\t\t\t\tdataCost: 100,\n\t\t\t\t\t\t\t\tdesc: "Sophisticated AI modelling of many observable factors could accurately predict which planets in a system are likely to harbour life.",\n\t\t\t\t\t\t\t\ticon: "dna2",\n\t\t\t\t\t\t\t\tskillModifier: 20,\n\t\t\t\t\t\t\t\trequires: "sUpgradeScannerGatewayLife" },\nsUpgradeScannerExtinctLife:\t{ name: "Organic Remnant Detection System",\n\t\t\t\t\t\t\t\tisUpgrade: true,\n\t\t\t\t\t\t\t\tdataType: "xenobiology",\n\t\t\t\t\t\t\t\tdataCost: 100,\n\t\t\t\t\t\t\t\tdesc: "Improvements in the life detection system could identify which planets in a system have traces of extinct ecosystems.",\n\t\t\t\t\t\t\t\ticon: "dinosaur-bones",\n\t\t\t\t\t\t\t\tskillModifier: 20,\n\t\t\t\t\t\t\t\trequires: "sUpgradeScannerLife" },\nsUpgradeScannerCiv:\t\t\t{ name: "Intelligent Life Detection Algorithms",\n\t\t\t\t\t\t\t\tisUpgrade: true,\n\t\t\t\t\t\t\t\tdataType: "xenotechnology",\n\t\t\t\t\t\t\t\tdataCost: 100,\n\t\t\t\t\t\t\t\tdesc: "Detailed analysis of planet data could reveal any anomalies that point to the presence of intelligent life.",\n\t\t\t\t\t\t\t\ticon: "village",\n\t\t\t\t\t\t\t\tskillModifier: 20,\n\t\t\t\t\t\t\t\trequires: "sUpgradeScannerGatewayCiv" },\nsUpgradeScannerExtinctCiv:\t{ name: "Archaeological Analysis Package",\n\t\t\t\t\t\t\t\tisUpgrade: true,\n\t\t\t\t\t\t\t\tdataType: "xenotechnology",\n\t\t\t\t\t\t\t\tdataCost: 100,\n\t\t\t\t\t\t\t\tdesc: "Fine-tuning of the Intelligent Life Detection Algorithms could additionally reveal planets that harbour traces of vanished civilisations.",\n\t\t\t\t\t\t\t\ticon: "ancient-columns",\n\t\t\t\t\t\t\t\tskillModifier: 20,\n\t\t\t\t\t\t\t\trequires: "sUpgradeScannerCiv" },\nsUpgradeScannerMeddlingCiv:\t{ name: "Technological Anomaly Detection System",\n\t\t\t\t\t\t\t\tisUpgrade: true,\n\t\t\t\t\t\t\t\tdataType: "xenotechnology",\n\t\t\t\t\t\t\t\tdataCost: 100,\n\t\t\t\t\t\t\t\tdesc: "Comparison with the known products of spacefaring civilisations could allow the ship to identify which planets show signs of alien visitors.",\n\t\t\t\t\t\t\t\ticon: "ufo",\n\t\t\t\t\t\t\t\tskillModifier: 20,\n\t\t\t\t\t\t\t\trequires: "sUpgradeScannerGatewayUsed", },\n\n/* Crew capacity */\nsUpgradeCrewCapacityPS:\t\t{ name: "Expanded Crew Quarters",\n\t\t\t\t\t\t\t\tisUpgrade: true,\n\t\t\t\t\t\t\t\tdataType: "planetary_science",\n\t\t\t\t\t\t\t\tdataCost: 50,\n\t\t\t\t\t\t\t\tdesc: "Advances in materials science would allow a larger ship to withstand the wormhole vortex, adding space for an additional crew cabin.",\n\t\t\t\t\t\t\t\ticon: "habitat-dome" },\nsUpgradeCrewCapacityBio:\t{ name: "Miniaturised Life Support",\n\t\t\t\t\t\t\t\tisUpgrade: true,\n\t\t\t\t\t\t\t\tdataType: "xenobiology",\n\t\t\t\t\t\t\t\tdataCost: 50,\n\t\t\t\t\t\t\t\tdesc: "Study of alien cyanobacteria would allow the &shipName&'s life support system to be made both smaller and more efficient, allowing the ship to support an additional crew member.",\n\t\t\t\t\t\t\t\ticon: "cannister" },\nsUpgradeCrewCapacityXeno:\t{ name: "Living Quarters Redesign",\n\t\t\t\t\t\t\t\tisUpgrade: true,\n\t\t\t\t\t\t\t\tdataType: "xenotechnology",\n\t\t\t\t\t\t\t\tdataCost: 50,\n\t\t\t\t\t\t\t\tdesc: "A complete redesign of the &shipName&'s living quarters, based on alien design principles, would allow the ship to support an additional crew member.",\n\t\t\t\t\t\t\t\ticon: "abstract-012" },\n\n/* Medical */\nsUpgradeAntiRadiation:\t\t{ name: "Advanced Anti-Radiation Drugs",\n\t\t\t\t\t\t\t\tisUpgrade: true,\n\t\t\t\t\t\t\t\tdataType: "xenobiology",\n\t\t\t\t\t\t\t\tdataCost: 50,\n\t\t\t\t\t\t\t\tdesc: "Organisms that thrive on high-radiation planets could prove a model for advanced anti-radiation drugs.",\n\t\t\t\t\t\t\t\tskillModifier: 20,\n\t\t\t\t\t\t\t\ticon: "radioactive" },\nsUpgradeFirstAid:\t\t\t{ name: "Emergency Bio-Regeneration",\n\t\t\t\t\t\t\t\tisUpgrade: true,\n\t\t\t\t\t\t\t\tdataType: "xenobiology",\n\t\t\t\t\t\t\t\tdataCost: 50,\n\t\t\t\t\t\t\t\tdesc: "Certain extraterrestial microorganisms could be modified to enhance the human body's healing process.",\n\t\t\t\t\t\t\t\tskillModifier: 20,\n\t\t\t\t\t\t\t\ticon: "health-capsule" },\nsUpgradeLifeSupport:\t\t{ name: "Stasis Pods",\n\t\t\t\t\t\t\t\tdataType: "xenobiology",\n\t\t\t\t\t\t\t\tisUpgrade: true,\n\t\t\t\t\t\t\t\tdataCost: 50,\n\t\t\t\t\t\t\t\tdesc: "Analysis of alien creatures' hibernation processes would allow the development of stasis chambers that can sometimes keep critically injured crew members alive until the return to Chiron Base.",\n\t\t\t\t\t\t\t\ticon: "cryo-chamber" },\n\n/* Suits */\nsUpgradeSuitsCold:\t\t\t{ name: "Enhanced Suit Insulation",\n\t\t\t\t\t\t\t\tisUpgrade: true,\n\t\t\t\t\t\t\t\tdataType: "xenobiology",\n\t\t\t\t\t\t\t\tdataCost: 50,\n\t\t\t\t\t\t\t\tdesc: "Study of how alien organisms survive in very cold environments could lead to advances in suit insulation.",\n\t\t\t\t\t\t\t\tskillModifier: 20,\n\t\t\t\t\t\t\t\ticon: "eskimo" },\nsUpgradeSuitsHot:\t\t\t{ name: "Enhanced Suit Cooling",\n\t\t\t\t\t\t\t\tisUpgrade: true,\n\t\t\t\t\t\t\t\tdataType: "xenobiology",\n\t\t\t\t\t\t\t\tdataCost: 50,\n\t\t\t\t\t\t\t\tdesc: "Study of how alien organisms survive in very hot environments could lead to advances in suit cooling systems.",\n\t\t\t\t\t\t\t\tskillModifier: 20,\n\t\t\t\t\t\t\t\ticon: "fire-silhouette" },\nsUpgradeSuitsHighGrav:\t\t{ name: "Powered Exoskeletons",\n\t\t\t\t\t\t\t\tisUpgrade: true,\n\t\t\t\t\t\t\t\tdataType: "xenobiology",\n\t\t\t\t\t\t\t\tdataCost: 50,\n\t\t\t\t\t\t\t\tdesc: "Servo-motors mimicking the musculature of alien animals would mean that explorers would no longer suffer from exhaustion on high-gravity planets.",\n\t\t\t\t\t\t\t\tskillModifier: 20,\n\t\t\t\t\t\t\t\ticon: "robot-leg" },\nsUpgradeSuitsArmour:\t\t{ name: "Armoured Spacesuits",\n\t\t\t\t\t\t\t\tisUpgrade: true,\n\t\t\t\t\t\t\t\tdataType: "xenobiology",\n\t\t\t\t\t\t\t\tdataCost: 50,\n\t\t\t\t\t\t\t\tdesc: "New, lightweight bio-materials would allow for the construction of spacesuits that much more resistant to damage.",\n\t\t\t\t\t\t\t\tskillModifier: 20,\n\t\t\t\t\t\t\t\ticon: "megabot" },\nsUpgradeTranslator:\t\t\t{ name: "Linguistic AI",\n\t\t\t\t\t\t\t\tisUpgrade: true,\n\t\t\t\t\t\t\t\tdataType: "xenotechnology",\n\t\t\t\t\t\t\t\tdataCost: 50,\n\t\t\t\t\t\t\t\tdesc: "Study of xenolinguistics could lead to the development of an AI expert system that can aid in the analysis of new languages.",\n\t\t\t\t\t\t\t\tskillModifier: 20,\n\t\t\t\t\t\t\t\ticon: "talk" },\n\n/* Ship */\nsUpgradeShipWings:\t\t\t{ name: "Adaptive Aerodynamics",\n\t\t\t\t\t\t\t\tisUpgrade: true,\n\t\t\t\t\t\t\t\tdataType: "planetary_science",\n\t\t\t\t\t\t\t\tdataCost: 50,\n\t\t\t\t\t\t\t\tdesc: "Study of alien atmospheric conditions could could lead to advances in aerodynamics that would allow the ship to land in strong winds.",\n\t\t\t\t\t\t\t\tskillModifier: 20,\n\t\t\t\t\t\t\t\ticon: "glider" },\nsUpgradeShipLandingGear:\t{ name: "AI-Enhanced Landing Gear",\n\t\t\t\t\t\t\t\tisUpgrade: true,\n\t\t\t\t\t\t\t\tdataType: "planetary_science",\n\t\t\t\t\t\t\t\tdataCost: 50,\n\t\t\t\t\t\t\t\tdesc: "Study of exotic planetary surfaces could lead to improvements in the ship's landing gear.",\n\t\t\t\t\t\t\t\tskillModifier: 20,\n\t\t\t\t\t\t\t\ticon: "tesla" },\nsUpgradeShipRadiationShielding:{ name: "Advanced Radiation Shielding",\n\t\t\t\t\t\t\t\tisUpgrade: true,\n\t\t\t\t\t\t\t\tdataType: "planetary_science",\n\t\t\t\t\t\t\t\tdataCost: 50,\n\t\t\t\t\t\t\t\tdesc: "Further study of the radiation emitted by high-energy stars could lead to better shielding against that radiation.",\n\t\t\t\t\t\t\t\tskillModifier: 20,\n\t\t\t\t\t\t\t\ticon: "shieldcomb" },\nsUpgradeShipNebula:\t\t\t{ name: "Nebula Interference Compensation",\n\t\t\t\t\t\t\t\tisUpgrade: true,\n\t\t\t\t\t\t\t\tdataType: "planetary_science",\n\t\t\t\t\t\t\t\tdataCost: 50,\n\t\t\t\t\t\t\t\tdesc: "Analysis of the &shipName&'s performance in regions of dense nebular gas could allow the scanners to compensate for nebular interference.",\n\t\t\t\t\t\t\t\tskillModifier: 20,\n\t\t\t\t\t\t\t\ticon: "radar-sweep" },\nsUpgradeShipAsteroids:\t\t{ name: "Asteroid Deflection Field",\n\t\t\t\t\t\t\t\tisUpgrade: true,\n\t\t\t\t\t\t\t\tdataType: "xenotechnology",\n\t\t\t\t\t\t\t\tdataCost: 50,\n\t\t\t\t\t\t\t\tdesc: "Some alien ships have an energy field that deflects dangerous asteroids. With some study, a similar system could be built for the &shipName&.",\n\t\t\t\t\t\t\t\tskillModifier: 20,\n\t\t\t\t\t\t\t\ticon: "bubble-field-edit" },\n\n/* Armour (damage capacity) */\nsUpgradeArmourPS:\t\t\t{ name: "Armour Plating",\n\t\t\t\t\t\t\t\tisUpgrade: true,\n\t\t\t\t\t\t\t\tdataType: "planetary_science",\n\t\t\t\t\t\t\t\tdataCost: 50,\n\t\t\t\t\t\t\t\tdesc: "Newly-discovered extrasolar materials could be used to construct a protective shell around the &shipName&.",\n\t\t\t\t\t\t\t\ticon: "metal-scales" },\nsUpgradeArmourBio:\t\t\t{ name: "Biometal Carapace",\n\t\t\t\t\t\t\t\tisUpgrade: true,\n\t\t\t\t\t\t\t\tdataType: "xenobiology",\n\t\t\t\t\t\t\t\tdataCost: 50,\n\t\t\t\t\t\t\t\tdesc: "The hide of space-dwelling life forms could be used as a model for a new layer of armour.",\n\t\t\t\t\t\t\t\ticon: "stegosaurus-scales" },\nsUpgradeArmourXeno:\t\t\t{ name: "Structural Integrity Field",\n\t\t\t\t\t\t\t\tisUpgrade: true,\n\t\t\t\t\t\t\t\tdataType: "xenotechnology",\n\t\t\t\t\t\t\t\tdataCost: 50,\n\t\t\t\t\t\t\t\tdesc: "Reverse-engineering technology from alien starships could allow the &shipName& to be equipped with a protective energy field.",\n\t\t\t\t\t\t\t\ticon: "abstract-113" },\n\t\t\t\t\t\t\t\t\n/* Endgame */\nsUpgradeGateOriginHoming: \t{ name: "Gate Origin Homing",\n\t\t\t\t\t\t\t\tisUpgrade: true,\n\t\t\t\t\t\t\t\tdataType: "xenotechnology",\n\t\t\t\t\t\t\t\tdataCost: 200,\n\t\t\t\t\t\t\t\tdesc: "Study of the subatomic resonance of artefacts from spacefaring civilisations could allow the Chiron Project to open the Gate directly to their systems of origin.",\n\t\t\t\t\t\t\t\ticon: "digital-trace"},\nsUpgradeGateNexusLocator: \t{ name: "Gate Nexus Locator",\n\t\t\t\t\t\t\t\tisUpgrade: true,\n\t\t\t\t\t\t\t\tdataType: "xenotechnology",\n\t\t\t\t\t\t\t\tdataCost: 300,\n\t\t\t\t\t\t\t\tdesc: "A more complete understanding of alien technology and psychology is required to locate the Gatebuilders' home system at the heart of the Gate Network.",\n\t\t\t\t\t\t\t\ticon: "mesh-network",\n\t\t\t\t\t\t\t\trequires: "sUpgradeGateOriginHoming"},\n\n/* CURRENT ACTIVITY/POSITION TRAITS */\nxExploringSurface: { name: "Exploring surface"},\nxInOrbit: { name: "In orbit"},\nxInterplanetary: { name: "Interplanetary travel"},\nxGateJourney: { name: "Gate journey"},\nxChironBase: { name: "Chiron Base"},\nxEndgame: { name: "Gate Nexus"},\n\n/* EXPLORER TRAITS */\n/* Skill class */\nePilot: { \t\t\t\t\t\tname: "Pilot", \t\t\t\t\ticon: "rocket-flight"},\neEngineer: { \t\t\t\t\tname: "Engineer", \t\t\t\ticon: "auto-repair"},\neMedic: { \t\t\t\t\t\tname: "Medic", \t\t\t\t\ticon: "first-aid-kit"},\nePlanetaryScientist: { \t\t\tname: "Planetary scientist", \ticon: "mining"},\neBiologist: { \t\t\t\t\tname: "Biologist", \t\t\t\ticon: "dna1"},\neXenologist: { \t\t\t\t\tname: "Xenologist", \t\t\ticon: "conversation"},\n\n/* Gender */\neFemale: { \t\t\t\t\t\tname: "She/her"},\neMale: { \t\t\t\t\t\tname: "He/him"},\neNonBinary: { \t\t\t\t\tname: "They/them"},\n\n/* Reverse name order (for e.g. Chinese people) */\neReverseNameOrder: {},\n\n/* Status effects */\neWormholeSickness: { \t\t\tname: "Wormhole sickness",\t\tskillModifier: -5,\ticon: "knockout" },\neRadiationSickness: { \t\t\tname: "Radiation sickness",\t\tskillModifier: -10,\ticon: "radioactive", stackable: true, fatalNumber: 3 },\neTerrestrialInfection: { \t\tname: "Terrestrial Infection",\tskillModifier: -5,\ticon: "vomiting", stackable: true, fatalNumber: 4 },\neAlienInfection: { \t\t\t\tname: "Alien Infection",\t\tskillModifier: -15,\ticon: "biohazard", stackable: true, fatalNumber: 2 },\neInjured: {\t\t\t\t\t\tname: "Injured",\t\t\t\tskillModifier: -10,\ticon: "arm-sling", stackable: true, fatalNumber: 3 },\neInspired: { \t\t\t\t\tname: "Inspired",\t\t\t\tskillModifier: 5,\ticon: "aura" },\neDepressed: { \t\t\t\t\tname: "Depressed",\t\t\t\tskillModifier: -10,\ticon: "drowning", stackable: true },\n\neChanged: { \t\t\t\t\tname: "Changed",\t\t\t\tskillModifier: -10,\ticon: "psychic-waves", stackable: false },\n\n\n\n\n/* DATA TYPES */\nplanetary_science: { \t\t\tname: "Planetary Science",\t \ticon: "world", \t\t\tsortOrder: 1},\nxenobiology: { \t\t\t\t\tname: "Biology", \t\t\t\ticon: "dna2", \t\t\tsortOrder: 2},\nxenotechnology: { \t\t\t\tname: "Xenology",\t \t\t\ticon: "alien-stare", \tsortOrder: 3}\n}\n
<<if $editingCrewMember.traits.includes("eMale")>>\n\t<<set _pronounTrait = "eMale">>\n<<elseif $editingCrewMember.traits.includes("eFemale")>>\n\t<<set _pronounTrait = "eFemale">>\n<<else>>\n\t<<set _pronounTrait = "eNonBinary">>\n<</if>>\n\n<<if $editingCrewMember.traits.includes("eReverseNameOrder")>>\n\t<<set _reverseOrder = true>>\n<<else>>\n\t<<set _reverseOrder = false>>\n<</if>>\n\n<h1>Edit crew member</h1>\n\n<table class="crew-member-edit-table">\n/% <colgroup> %/\n\t/% <col style="width: 20%; background-color: #100"> %/\n\t/% <col style="width: 80%; background-color: #010"> %/\n/% </colgroup> %/\n\n<tr><td>Given name:</td><td><<textbox "$editingCrewMember.firstName" $editingCrewMember.firstName>></td></tr>\n<tr><td>Surname:</td><td><<textbox "$editingCrewMember.lastName" $editingCrewMember.lastName>></td></tr>\n<tr><td>Name order:</td><td>\n\t<<listbox "_reverseOrder" autoselect>>\n\t\t<<option "(Given name) (Surname)" false>>\n\t\t<<option "(Surname) (Given name)" true>>\n\t<</listbox>></td></tr>\n<tr><td>Pronouns:</td><td>\n\t<<listbox "_pronounTrait" autoselect>>\n\t\t<<option "he/him" "eMale">>\n\t\t<<option "she/her" "eFemale">>\n\t\t<<option "they/them" "eNonBinary">>\n\t<</listbox>></td></tr>\n<tr><td>Bio:</td><td><<textarea "$editingCrewMember.bio" $editingCrewMember.bio>></td></tr>\n</table>\n\n<div class="full-width-link">\n<<link "Done">>\n\t<<set $editingCrewMember.traits.delete("eMale","eFemale","eNonBinary","eReverseNameOrder")>>\n\t<<set $editingCrewMember.traits.push(_pronounTrait)>>\n\t<<if _reverseOrder>><<set $editingCrewMember.traits.push("eReverseNameOrder")>><</if>>\n\t<<set $editingCrewMember.firstName = TextUtils.sanitiseString($editingCrewMember.firstName)>>\n\t<<set $editingCrewMember.lastName = TextUtils.sanitiseString($editingCrewMember.lastName)>>\n\t<<set $editingCrewMember.bio = TextUtils.sanitiseString($editingCrewMember.bio)>>\n\t<<unset $editingCrewMember>>\n\t\n\t<<if passage() == "Chiron Base Select Crew" || passage() == "Intro 3">>\n\t\t<<run setPageElement("select-crew-list", "Select Crew List")>>\n\t\t<<run GameUI.switchDisplay(0)>>\n\t<<elseif passage() == "Chiron Base Memorial">>\n\t\t<<run setPageElement("memorial-content", "Chiron Base Memorial Content")>>\n\t\t<<run GameUI.switchDisplay(0)>>\n\t<<else>>\n\t\t<<run setPageElement("crew-display", "Crew Display")>>\n\t<</if>>\n<</link>>\n</div>
<<if !tags().includes("no-crew") && !tags().includes("front-matter")>>\n\t\n\t<div id="may-replace-with-crew-edit">\n\t\n\t\t<h1>Crew of the <<shipName>></h1>\n\n\t\t<<for _n = 0; _n < $crew.length; _n++>>\n\t\t\t<<crewMemberListEntry $crew[_n] false "" true>>\n\t\t\t\n\t\t\t/% Debug %/\n\t\t\t@@.debug-text;<<capture _n>>\n\t\t\t\t<<include [[Debug Edit Crew Member Button]]>>\n\t\t\t<</capture>>@@\n\t\t\t/% End Debug %/\n\t\t<</for>>\n\t\t\n\t\t<<if $crewOnLifeSupport.length > 0>>\n\t\t\t<h2>Crew members in medical stasis</h2>\n\t\t\t<<for _n = 0; _n < $crewOnLifeSupport.length; _n++>>\n\t\t\t\t<<crewMemberListEntry $crewOnLifeSupport[_n] false "crew-member-list-entry-life-support">>\n\t\t\t<</for>>\n\t\t<</if>>\n\n\t\t<<if $deadCrew.length > 0>>\n\t\t\t<h2>Dead crew members</h2>\n\t\t\t<<for _n = 0; _n < $deadCrew.length; _n++>>\n\t\t\t\t<<crewMemberListEntry $deadCrew[_n] false "crew-member-list-entry-life-support">>\n\t\t\t<</for>>\n\t\t<</if>>\n\t</div>\n\n\t@@.full-width-link;<<link "Done">><<switchDisplay 0>><</link>>@@\n\t@@.debug-text;<<linkreplace "DEBUG: Show full crew data">>\n\t\t<<set _json = JSON.stringify($crew, null, 1)>>\n\t\t<code><<= _json>></code>\n\t<</linkreplace>>@@\n<</if>>
/% $args[0] should be the crew member object (not the index) %/\n/% If $args[1] is true, add an add/remove button and highlight if this crew member is on the crew %/\n/% If $args[2] is present, it is a css class to add to the box %/\n/% If $args[3] is true, show the skill % calculation %/\n/% If $args[4] is true, do not show edit button %/\n\n<<widget crewMemberListEntry>>\n\t<<set _crewMember = $args[0]>>\n\t\n\t<<set _class = getMatchingElement(_crewMember.traits, ["ePilot", "eEngineer", "eMedic", "ePlanetaryScientist", "eBiologist", "eXenologist"])>>\n\t<<set _gender = getMatchingElement(_crewMember.traits, ["eMale", "eFemale", "eNonBinary"])>>\n\t<<set _otherTraits = clone(_crewMember.traits)>>\n\t<<set _otherTraits.delete(_class, _gender,"eReverseNameOrder")>>\n\n\t<<set _skillBonus = Crew.getSuccessChance(_crewMember, [], 0)>>\n\t\n\t<<set _cssClass = "crew-member-list-entry">>\n\t<<if $args[1] && $crew.includes(_crewMember)>>\n\t\t<<set _cssClass += " menu-item-selected">>\n\t<</if>>\n\t<<if $args[2]>>\n\t\t<<set _cssClass += " "+$args[2]>>\n\t<</if>>\n\t\n\t<div @class="_cssClass">\n\t\t<div class="crew-member-list-entry-class-icon-container"><<traitIcon _class>></div>\n\t\t<div class="crew-member-list-entry-namebio-container">\n\t\t\t''<<= Crew.fullName(_crewMember)>>'' (<<= TextUtils.heshe(_crewMember)>>/<<= TextUtils.himher(_crewMember)>>)\n\t\t\t\n\t\t\t<<if !$args[4]>>\n\t\t\t\t<<capture _crewMember>>\n\t\t\t\t\t<span class="subtle-icon-link inline-icon-small keyword">\n\t\t\t\t\t\t<<link "<img data-passage='archive-register' alt='Edit'>">>\n\t\t\t\t\t\t\t<<set $editingCrewMember = _crewMember>>\n\t\t\t\t\t\t\t<<run setPageElement("crew-display", "Edit Crew Member")>>\n\t\t\t\t\t\t\t<<run GameUI.switchDisplay(1)>>\n\t\t\t\t\t\t<</link>>\n\t\t\t\t\t<span class="tooltip">Edit</span>\n\t\t\t\t\t</span>\n\t\t\t\t<</capture>>\n\t\t\t<</if>>\n\t\t\t\n\t\t\t<div class="crew-member-list-entry-bio">\n\t\t\t\t<<= _crewMember.bio>>\n\t\t\t\t<<if _crewMember.deathReason>>\n\t\t\t\t\t<<= _crewMember.deathReason>>\n\t\t\t\t<</if>>\n\t\t\t</div>\n\n\t\t\t/%Level <<= _crewMember.level>> (<<= _crewMember.xp>>/<<= Crew.XPForNextLevel(_crewMember.level, _crewMember.traits)>> XP)%/\n\t\t</div>\n\t\t<div class="crew-member-list-entry-modifiers-button-container">\n\t\t\t<div class="crew-member-list-entry-modifiers-container">\n\t\t\t\t<<if $args[3]>>\n\t\t\t\t\t''Total skill: <<if _skillBonus >= 0>>+<</if>><<= _skillBonus>>%''\n\t\t\t\t\t<br>\n\t\t\t\t\t+<<= _crewMember.level*Crew.skillBonusPerLevel>>% Level <<= _crewMember.level>>\n\t\t\t\t<<else>>\n\t\t\t\t\tLevel <<= _crewMember.level>>\n\t\t\t\t<</if>>\n\t\t\t\t<<if _crewMember.level < Crew.levelCap>>\n\t\t\t\t\t<span style="font-size: 80%">(<<= _crewMember.xp>>/<<= Crew.XPForNextLevel(_crewMember.level, _crewMember.traits)>> XP)</span>\n\t\t\t\t<<else>>\n\t\t\t\t\t<span style="font-size: 80%">(max)</span>\n\t\t\t\t<</if>>\n\t\t\t\t<<set _mentionedTraits = []>>\n\t\t\t\t<<if _otherTraits.length > 0>>\n\t\t\t\t\t<<for _t = 0; _t < _otherTraits.length; _t++>>\n\t\t\t\t\t\t<<if !_mentionedTraits.includes(_otherTraits[_t])>>\n\t\t\t\t\t\t\t<<set _trait = _otherTraits[_t]>>\n\t\t\t\t\t\t\t<<set _count = _otherTraits.count(_trait)>>\n\t\t\t\t\t\t\t<<set _mentionedTraits.push(_trait)>>\n\t\t\t\t\t\t\t<br>\n\t\t\t\t\t\t\t<<if $args[3]>>\n\t\t\t\t\t\t\t\t<<if Traits[_trait].skillModifier >= 0>>\n\t\t\t\t\t\t\t\t\t<<= "+" + Traits[_trait].skillModifier * _count + "%">>\n\t\t\t\t\t\t\t\t<<else>>\n\t\t\t\t\t\t\t\t\t<<= "" + Traits[_trait].skillModifier * _count + "%">>\n\t\t\t\t\t\t\t\t<</if>>\n\t\t\t\t\t\t\t<</if>>\n\n\t\t\t\t\t\t\t@@.inline-icon;<<traitIcon _otherTraits[_t]>>@@\n\t\t\t\t\t\t\t<<= getTraitName(_otherTraits[_t])>>\n\t\t\t\t\t\t\t<<if Traits[_trait].fatalNumber>>\n\t\t\t\t\t\t\t\t<<if _count >= Traits[_trait].fatalNumber-1>>\n\t\t\t\t\t\t\t\t\t@@.keyword-bad;(<<= _count>>/<<= Traits[_trait].fatalNumber>>)@@\n\t\t\t\t\t\t\t\t<<else>>\n\t\t\t\t\t\t\t\t\t(<<= _count>>/<<= Traits[_trait].fatalNumber>>)\n\t\t\t\t\t\t\t\t<</if>>\n\t\t\t\t\t\t\t<<elseif _count > 1>>\n\t\t\t\t\t\t\t\t(<<= _count>>)\n\t\t\t\t\t\t\t<</if>>\n\t\t\t\t\t\t<</if>>\n\t\t\t\t\t<</for>>\n\t\t\t\t<</if>>\n\t\t\t</div>\n\t\t\t<<if $args[1]>>\n\t\t\t\t<div class="crew-member-list-entry-button-container full-width-link">\n\t\t\t\t\t<<if $crew.includes(_crewMember)>>\n\t\t\t\t\t\t<<capture _crewMember>>\n\t\t\t\t\t\t\t<<link "Remove">>\n\t\t\t\t\t\t\t\t<<set $crew.delete(_crewMember)>>\n\t\t\t\t\t\t\t\t<<set $crewPool.push(_crewMember)>>\n\t\t\t\t\t\t\t\t<<run $crewPool.sort(Crew.crewPoolSort)>>\n\t\t\t\t\t\t\t\t<<selectCrewRefresh>>\n\t\t\t\t\t\t\t<</link>>\n\t\t\t\t\t\t<</capture>>\n\t\t\t\t\t<<elseif $crew.length < $ship.getMaxCrew()>>\n\t\t\t\t\t\t<<capture _crewMember>>\n\t\t\t\t\t\t\t<<link "Add">>\n\t\t\t\t\t\t\t\t<<set $crewPool.delete(_crewMember)>>\n\t\t\t\t\t\t\t\t<<set $crew.push(_crewMember)>>\n\t\t\t\t\t\t\t\t<<run $crew.sort(Crew.crewPoolSort)>>\n\t\t\t\t\t\t\t\t<<selectCrewRefresh>>\n\t\t\t\t\t\t\t<</link>>\n\t\t\t\t\t\t<</capture>>\n\t\t\t\t\t<<else>>\n\t\t\t\t\t\t<span class="full-width-link-disabled">Add</span>\n\t\t\t\t\t<</if>>\n\n\t\t\t\t</div>\n\t\t\t<</if>>\n\t\t</div>\n\n\t</div>\n\n<</widget>>
<<if !tags().includes("no-stats") && !tags().includes("front-matter")>>\n\t<h1>Discoveries</h1>\n\t<div id="data-display-civs">\n\t\t<h2>Known civilisations</h2>\n\t\t\n\t\t/% Get list of known civ indexes and then sort these first by type (Gatebuilders/interstellar/regular) then name %/\n\t\t<<set _knownCivIndexes = []>>\n\t\t<<for _c = 0; _c < $civilisations.length; _c++>>\n\t\t\t<<if $civilisations[_c].traits.includes("cKnowOf")>>\n\t\t\t\t<<set _knownCivIndexes.push(_c)>>\n\t\t\t<</if>>\n\t\t<</for>>\n\t\t<<run _knownCivIndexes.sort(Civs.dataViewSort)>>\n\t\t\n\t\t<<for _i = 0; _i < _knownCivIndexes.length; _i++>>\n\t\t\t<<set _c = _knownCivIndexes[_i]>>\n\t\t\t<<if $civilisations[_c].traits.includes("cKnowOf")>>\n\t\t\t\t<div class="notification-box discovery-repeat">\n\t\t\t\t\t<h3>\n\t\t\t\t\t\t<<if $civilisations[_c].knownTraits.includes("cKnowName")>>\n\t\t\t\t\t\t\t<<if "tempName" in $civilisations[_c]>>\n\t\t\t\t\t\t\t\t<<= $civilisations[_c].civName>> (<<= $civilisations[_c].tempName>>)\n\t\t\t\t\t\t\t<<else>>\n\t\t\t\t\t\t\t\t<<= $civilisations[_c].civName>>\n\t\t\t\t\t\t\t<</if>>\n\t\t\t\t\t\t<<else>>\n\t\t\t\t\t\t\t<<= $civilisations[_c].tempName>>\n\t\t\t\t\t\t<</if>>\n\t\t\t\t\t</h3>\n\t\t\t\t\t<<set _desc = CivDescription.inDataView($civilisations[_c].knownTraits).trim().toUpperFirst()>>\n\t\t\t\t\t<<set _planet = { name: "", nativeCiv: _c, meddlingCiv: _c, traits: ["civHomeworld"], knownTraits: [], exploredTraits: [] }>>\n\t\t\t\t\t<<printDesc _desc false _planet>>\n\t\t\t\t\t<div class="debug-text">\n\t\t\t\t\t\t<<capture _c>>\n\t\t\t\t\t\t\t<<link "Reveal all">>\n\t\t\t\t\t\t\t\t<<set $civilisations[_c].knownTraits = $civilisations[_c].traits>>\n\t\t\t\t\t\t\t\t<<run setPageElement("civ-display","Data Display")>>\n\t\t\t\t\t\t\t<</link>>\n\t\t\t\t\t\t<</capture>>\n\t\t\t\t\t\t<code><<= JSON.stringify($civilisations[_c], null, 1)>></code>\n\t\t\t\t\t</div>\n\t\t\t\t</div>\n\t\t\t<</if>>\n\t\t<</for>>\n\t</div>\n\t<div id="data-display-discoveries">\n\n\t\t<<set _keys = Object.keys($discoveredTraits)>>\n\t\t<<run _keys.sort(traitSort)>>\n\t\t\n\t\t<<if _keys.length > 0>>\n\t\t\t<h2>Explored features</h2>\n\t\t<</if>>\n\t\t\n\t\t<<for _t = 0; _t < _keys.length; _t++>>\n\t\t\t<<set _class = "notification-box discovery-repeat">>\n\t\t\t<<if _keys[_t] in $discoveriesThisTurn>>\n\t\t\t\t<<set _class += " menu-item-selected">>\n\t\t\t<</if>>\n\t\t\t<div @class="_class">\n\t\t\t\t<<if "dataType" in Traits[_keys[_t]]>>\n\t\t\t\t\t<span class="inline-icon"><<traitIcon `Traits[_keys[_t]].dataType`>></span>\n\t\t\t\t<</if>>\n\t\t\t\t<<= getTraitName(_keys[_t])>>\n\t\t\t\t\n\t\t\t\t<<if $discoveredTraits[_keys[_t]] > 1>>\n\t\t\t\t\t× <<= $discoveredTraits[_keys[_t]]>>\n\t\t\t\t<</if>>\n\t\t\t</div>\n\t\t<</for>>\n\t</div>\n\t\n\t<div class="sticky-bottom-button">\n\t\t@@.full-width-link;<<link "Done">><<switchDisplay 0>><</link>>@@\n\t</div>\n\t<div class="debug-text">\n\t\t<div class="full-width-link">\n\t\t<<linkreplace "DEBUG: Show full civ data">>\n\t\t\t<<for _n = 0; _n < $civilisations.length; _n++>>\n\t\t\t\t<h2><<= _n>></h2>\n\t\t\t\t<<= JSON.stringify($civilisations[_n], null, 1)>>\n\t\t\t<</for>>\n\t\t<</linkreplace>>\n\t\t</div>\n\t</div>\n<</if>>
<div class="credits-or-final-score">\n\t<<if $gameStats.victory>>\n\t\t<h1>Gate Restored</h1>\n\t<<else>>\n\t\t<h1>Game Over</h1>\n\t<</if>>\n\n\t<<showGameStats $gameStats>>\n\n\t<div class="title-screen-button-row"><span class="title-screen-link">\n\t\t<<link "Main Menu">>\n\t\t\t<<run Save.autosave.delete()>>\n\t\t\t<<quitToTitleScreen>>\n\t\t<</link>>\n\t</span></div>\n\n\t<<if $gameStats.victory && !$sandboxMode>>\n\t\t<div class="title-screen-button-row"><span class="title-screen-link">\n\t\t\t<<link "Continue in Endless Mode" "Start Endless Mode">>\n\t\t\t<</link>>\n\t\t</span></div>\n\t<</if>>\n</div>
<h1>How to Play</h1>\n\n<h2>Overview</h2>\n<p>You control a group of space explorers on humanity's first interstellar starship, exploring the universe via the mysterious Chiron Gate. Your goal in each system is to collect as much data as you can before returning safely to Chiron Base. Back at base, you can spend data to upgrade your ship and recruit new explorers before embarking on your next mission. Your ultimate goal is to find the mysterious alien Gatebuilders.</p>\n\n<<if tags().includes("front-matter")>>\n\t<p>During the game, you can view these instructions from the @@.inline-icon-small-middle;<<iconWithTooltip "cog" "Settings">>@@ settings menu.</p>\n<</if>>\n\n<h2>Status Bar</h2>\n\n<div class="how-to-play-fake-status-bar">\n\t<div class="topbar-entry keyword">\n\t\t<img class="topbar-image" data-passage="space-suit" alt="Crew">\n\t\t<div class="topbar-text">3/3</div>\n\t\t<div class="tooltip">\n\t\t\t<<= getTraitIconImg("ePilot")>>1 Explorer 1<br>\t\n\t\t\t<<= getTraitIconImg("eEngineer")>>1 Explorer 2<br>\t\n\t\t\t<<= getTraitIconImg("eMedic")>>1 Explorer 3\n\t\t</div>\n\t</div>\n\n\t<div class="topbar-entry keyword">\n\t\t<img class="topbar-image" data-passage="atom" alt="Fuel">\n\t\t<div class="topbar-text">100%</div>\n\t\t<div class="tooltip">Fuel: 100%</div>\n\t</div>\n\n\t<div class="topbar-entry keyword">\n\t\t<img class="topbar-image" data-passage="metal-scales" alt="Hull integrity">\n\t\t<div class="topbar-text">3/3</div>\n\t\t<div class="tooltip">No damage</div>\n\t</div>\n\n\t<div class="topbar-entry keyword">\n\t\t<img class="topbar-image" data-passage="world" alt="Planetary Science">\n\t\t<div class="topbar-text">0</div>\n\t\t<div class="tooltip">Planetary Science data: 0</div>\n\t</div>\n\n\t<div class="topbar-entry keyword">\n\t\t<img class="topbar-image" data-passage="dna2" alt="Biology">\n\t\t<div class="topbar-text">0</div>\n\t\t<div class="tooltip">Biology data: 0</div>\n\t</div>\n\n\t<div class="topbar-entry keyword">\n\t\t<img class="topbar-image" data-passage="alien-stare" alt="Xenology">\n\t\t<div class="topbar-text">0</div>\n\t\t<div class="tooltip">Xenology data: 0</div>\n\t</div>\n</div>\n\n<p>The status bar at the top of the page shows your current explorers (<span class="inline-icon-small-middle"><<iconWithTooltip "space-suit" "Crew">></span>), fuel (<span class="inline-icon-small-middle"><<iconWithTooltip "atom" "Fuel">></span>), hull integrity (<span class="inline-icon-small-middle"><<iconWithTooltip "metal-scales" "Hull integrity">></span>), and the amount of each kind of data (<span class="inline-icon-small-middle"><<iconWithTooltip "world" "Planetary Science">><<iconWithTooltip "dna2" "Biology">><<iconWithTooltip "alien-stare" "Xenology">></span>) you've collected.</p>\n\n<h2>Tooltips</h2>\n<p>Words in <span class="keyword">bold text<span class="tooltip">Like this</span></span> and icons <span class="inline-icon-small-middle"><<iconWithTooltip "defense-satellite" "Like these">></span> have tooltips that appear when you <<if mobileVersion>>tap them<<else>>hover the mouse over them<</if>>. <span class="keyword keyword-bad">Red text<span class="tooltip"><img data-passage="hazard-sign" alt="Hazard"> Something bad</span></span> indicates a negative event or potential hazard.</p>\n\n\n<h2>Explorers</h2>\n\n<div class="crew-member-list-entry">\n\t<div class="crew-member-list-entry-class-icon-container"><<iconWithTooltip "rocket-flight" "Speciality icon">></div>\n\t<div class="crew-member-list-entry-namebio-container">\n\t\t''Explorer Name'' (pronouns)\n\t\t<br>\n\t\tExplorer bio\n\t</div>\n\t<div class="crew-member-list-entry-modifiers-container">\n\t\t''Total skill: -5%''\n\t\t<br>\n\t\t+5% Level 1 <span style="font-size: 80%">(0/10 XP)</span>\n\t\t<br>\n\t\t-10% @@.inline-icon;<<traitIcon "eInjured">>@@ <<= getTraitName("eInjured")>> (1/3)\n\t</div>\n</div>\n\n<p>Each explorer has one of six specialities:\n<span class="inline-icon-small-middle"><<traitIcon "ePilot">> Pilot,\n<<traitIcon "eEngineer">> Engineer,\n<<traitIcon "eMedic">> Medic,\n<<traitIcon "ePlanetaryScientist">> Planetary Scientist,\n<<traitIcon "eBiologist">> Biologist, and\n<<traitIcon "eXenologist">> Xenologist.</span>\nEach speciality unlocks new options in events, and the three science specialities also grant bonus data whenever you collect data of the corresponding type. Your ship can initially only carry three explorers, but this can be increased by installing certain upgrades.</p>\n<p>An explorer's level grants them a bonus to skill checks (+5% per level). Each explorer starts at level 1 and gains a level when they gain enough XP. An explorer gains 1 XP when they succeed on a skill check, and all explorers gain 1 XP when they make a discovery.</p>\n<p>During a mission, explorers can acquire traits that give them a bonus or (more often) a penalty to skill checks. Some traits can be gained multiple times, and the penalty stacks. Some traits can only be gained a certain number of times before they are fatal, e.g. "Injured (1/3)" means that an explorer will die if they get three injured three times. If all your explorers die, the game is over. When you return to Chiron Base, explorers with negative traits are moved to the hospital to recover, and you can select new explorers for the next mission.</p>\n<p>You can view details of your explorers in the @@.inline-icon-small-middle;<<iconWithTooltip "space-suit" "Crew">>@@ crew view.</p>\n\n\n<h2>Success Chance</h2>\n<div class="full-width-link">\n\t<<link "A crew member attempts a moderately difficult task">><</link>>\n\t<div class="full-width-link-success-chance">\n\t\t<<link "45%">>\n\t\t\t<<run $("#how-to-play-success-chance-box").slideToggle()>>\n\t\t<</link>>\n\t</div>\n</div>\n<div class="success-chance-box" id="how-to-play-success-chance-box">\n\t<table>\n\t\t<tr>\n\t\t\t<td>Base:</td>\n\t\t\t<td>50%</td>\n\t\t</tr>\n\t\t<tr>\n\t\t\t<td>Level 1:</td>\n\t\t\t<td>+5%</td>\n\t\t</tr>\n\t\t<tr>\n\t\t\t<td>\n\t\t\t\t<span class="inline-icon"><<= getTraitIconImg("eInjured")>></span>\n\t\t\t\tInjured:\n\t\t\t</td>\n\t\t\t<td>-10%</td>\n\t\t</tr>\n\t</table>\n</div>\n<p>Many options in the game have a random chance of success, which is usually based on the relevant crew member's level and traits. The % chance of success is shown beside the option, and you can click on it to see the factors that go into the calculation.</p>\n\n\n<h2>Ship Upgrades and Damage</h2>\n/% <div class="notification-box injury"> %/\n\t/% <span class="inline-icon"><<traitIcon "sDamageLandingEngine">></span> %/\n\t/% <<= getTraitName("sDamageLandingEngine")>> %/\n/% </div> %/\n<p>Events during a mission may cause your ship's systems to be damaged. Your explorers have a -40% penalty to skill checks involving the damaged system. If enough systems are damaged (initially three, but this can be increased by certain upgrades), the ship is destroyed and the game is over. All damage is repaired when the ship returns to Chiron Base.</p>\n\n/% <div class="ship-upgrade-list-row"> %/\n\t/% <div class="ship-upgrade-list-icon"> %/\n\t\t/% <span class="inline-icon"><<traitIcon "sBasicScanners">></span> %/\n\t/% </div> %/\n\t/% <div class="ship-upgrade-list-name"> %/\n\t\t/% ''<<= getTraitName("sBasicScanners")>>'' %/\n\t\t/% <br> %/\n\t\t/% <<= Traits["sBasicScanners"].desc>> %/\n\t/% </div> %/\n\t/% <div class="ship-upgrade-list-cost-and-button"> %/\n\t/% </div> %/\n/% </div> %/\n\n<p>At Chiron Base you can spend data to install upgrades. Some upgrades are available from the start as long as you have enough data, while others must be discovered while exploring.</p>\n<p>You can see your ship's upgrades and current damage in the @@.inline-icon-small-middle;<<iconWithTooltip "defense-satellite" "Ship">>@@ ship view.</p>\n\n<h2>Data and Discoveries</h2>\n<p>Data comes in three types:\n<span class="inline-icon-small-middle"><<iconWithTooltip "world" "Planetary Science">></span> Planetary Science,\n<span class="inline-icon-small-middle"><<iconWithTooltip "dna2" "Biology">></span> Biology, and\n<span class="inline-icon-small-middle"><<iconWithTooltip "alien-stare" "Xenology">></span> Xenology.\nYou gain data from events or from making discoveries: 10 for a new discovery, or 2 for a discovery you've made before. Whenever you gain data, you also get a bonus equal to the level of the highest-level explorer with the appropriate science speciality (e.g. if you gain 10 Biology data and have a level 2 Biologist, you get a total of 12 Biology data).</p>\n<p>You can see all the discoveries you've made and all the alien civilisations you've discovered in the <span class="inline-icon-small-middle"><<iconWithTooltip "microscope" "Data">></span> data view.</p>\n\n<h2>System View</h2>\n\n<div class="system-view-list-entry">\n\t<div class="system-view-list-entry-nav-icon-container">\n\t\t<<iconWithTooltip "defense-satellite" "In orbit">>\n\t\t<<iconWithTooltip "world_medium" "Medium terrestrial planet">>\n\t</div>\n\t<div class="system-view-list-entry-name-traits-container">\n\t\t<div class="system-view-list-entry-name-container">\n\t\t\t''Acrux II''\n\t\t</div>\n\t\t<div class="system-view-list-entry-traits-container">\n\t\t\t<<traitIcon "pTempCold">>\n\t\t\t<<traitIcon "pGravMedium">>\n\t\t\t<<traitIcon "pAtmosCO2">>\n\t\t\t<<traitIcon "pVisited">>\n\t\t</div>\n\t</div>\n\t<div class="system-view-list-entry-button-container">\n\t\t<<link "Return">><</link>>\n\t</div>\n</div>\n<div class="system-view-list-entry system-view-list-entry-moon">\n\t<div class="system-view-list-entry-nav-icon-container">\n\t\t<div class="system-view-list-entry-nav-icon-spacer"></div>\n\t\t<div class="system-view-list-entry-nav-icon-spacer"></div>\n\t\t<<iconWithTooltip "world_small" "Small terrestrial planet">>\n\t</div>\n\t<div class="system-view-list-entry-name-traits-container">\n\t\t<div class="system-view-list-entry-name-container">\n\t\t\t''Acrux IIa''\n\t\t</div>\n\t\t<div class="system-view-list-entry-traits-container">\n\t\t\t<<traitIcon "pTempCold">>\n\t\t\t<<traitIcon "pGravLow">>\n\t\t\t<<traitIcon "pAtmosOxNi">>\n\t\t\t<<traitIcon "psLifeDetected">>\n\t\t</div>\n\t</div>\n\t<div class="system-view-list-entry-button-container">\n\t\t<<link "Travel (1<img data-passage='atom' alt='Fuel'>)">><</link>>\n\t</div>\n</div>\n\n<p>System view lists all the planets and other explorable bodies in the system. The @@.inline-icon-small-middle;<<iconWithTooltip "defense-satellite" "In orbit">>@@ icon marks your ship's current position. Click on the "Travel" button next to a planet to visit it. This button also shows the amount of fuel (<span class="inline-icon-small-middle"><<iconWithTooltip "atom" "Fuel">></span>) the journey will expend. Once you've discovered information about a body (either by visiting it or by having upgraded scanners), icons will appear next to it in system view summarising what you know. Once you've finished exploring the system, you can return to base by traveling to the system's Gate (<span class="inline-icon-small-middle"><<iconWithTooltip "portal" "Gate">></span>).</p>\n\n<h2>Planet View</h2>\n<p>Planet view shows a description of the planet, with important features highlighted. Unexplored features appear as <span class="keyword"><<link "links">><</link>></span>, which you can click on to have your explorers explore the feature. Features marked with the @@.inline-icon-small-middle;<<iconWithTooltip "growth_flipped" "Land">>@@ icon will cause the ship to land first (or in the case of a gas giant, descend into the atmosphere). On the surface, features with the @@.inline-icon-small-middle;<<iconWithTooltip "growth" "Takeoff">>@@ will cause the ship to take off. Landing expends fuel but taking off again does not (the fuel you use to land includes the fuel you reserve in order to take off again).\n\n<h2>Autosave</h2>\n<p>The game autosaves every turn. You can safely close it at any time.</p>
<<if !tags().includes("front-matter")>>\n\t<strong>\n\t\t<<if $locationOverride>>\n\t\t\t<<= $locationOverride>>\n\t\t<<elseif $systemNumber == -1>>\n\t\t\tChiron Base\n\t\t<<elseif $positionTrait == "xInterplanetary" || $planetNumber == -1>>\n\t\t\t<<= $currentSystem.name>> System\n\t\t<<elseif $positionTrait == "xExploringSurface">>\n\t\t\t<<if $contextTraits.includes("pGasGiant")>>\n\t\t\t\tAtmosphere of <<= $currentSystem.planets[$planetNumber].name>>\n\t\t\t<<else>>\n\t\t\t\tSurface of <<= $currentSystem.planets[$planetNumber].name>>\n\t\t\t<</if>>\n\t\t<<else>>\n\t\t\tIn orbit of <<= $currentSystem.planets[$planetNumber].name>>\n\t\t<</if>>\n\t\t<<if $eventTitle != "">>\n\t\t\t<br><<= $eventTitle>>\n\t\t<</if>>\n\t</strong>\n<</if>>
<<if $positionTrait == "xEndgame">>\n\t<<set _mainIcon = "unstable-orb">>\n<<elseif $positionTrait == "xChironBase">>\n\t<<set _mainIcon = "solar-system">>\n<<elseif $positionTrait == "xGateJourney">>\n\t<<set _mainIcon = "portal">>\n<<elseif $positionTrait == "xExploringSurface">>\n\t<<if $contextTraits.includes("pBelt")>>\t\t\t\t\t<<set _mainIcon = "belt">>\n\t<<elseif $contextTraits.includes("pMinorPlanet")>>\t\t<<set _mainIcon = "minor-planet">>\n\t<<elseif $contextTraits.includes("pTerrestrialPlanet")>><<set _mainIcon = "terrestrial-planet">>\n\t<<elseif $contextTraits.includes("pGasGiant")>>\t\t\t<<set _mainIcon = "gas-giant">>\n\t<</if>>\n<<else>>\n\t<<set _mainIcon = "solar-system">>\n<</if>>\n<<menuBarLink "Main" _mainIcon 0 "" "Chiron Base">>\n<<menuBarLink "Crew" "space-suit" 1 "no-crew" "Chiron Base Select Crew">>\n<<menuBarLink "Ship" "defense-satellite" 2 "no-ship" "Chiron Base Upgrade Ship">>\n<<menuBarLink "Data" "microscope" 3 "no-data">>\n<<menuBarLink "Settings" "cog" 4>>
/% $args[0] is the tooltip text. %/\n/% $args[1] is the name of the image. %/\n/% $args[2] is the int id of the display this button switches to. %/\n/% $args[3] is the passage tag that will suppress this button. (The front-matter tag suppresses the entire menu bar.) %/\n/% $args[4] is the alternative passage to go to if this is clicked on while in Chiron Base %/\n<<widget menuBarLink>>\n\t<<set _title = $args[0]>>\n\t<<set _img = $args[1]>>\n\t<<set _switchTo = $args[2]>>\n\t<<set _thisDisplaySelected = false>>\n\t<<if tags().includes("counts-as-display-1") && GameUI.selectedDisplay == 0>>\n\t\t<<set _thisDisplaySelected = _switchTo == 1>>\n\t<<elseif tags().includes("counts-as-display-2") && GameUI.selectedDisplay == 0>>\n\t\t<<set _thisDisplaySelected = _switchTo == 2>>\n\t<<else>>\n\t\t<<set _thisDisplaySelected = GameUI.selectedDisplay == _switchTo>>\n\t<</if>>\n\t<<if $args[3] && tags().includes($args[3])>>\n\t\t<div class="menu-bar-link">\n\t\t\t/% Text "Disabled" should not appear but there needs to be a link with text for the spacing to work %/\n\t\t\t<<link "Disabled">>\n\t\t\t<</link>>\n\t\t</div>\n\t<<elseif _thisDisplaySelected>>\n\t\t<<set _class = "menu-bar-link tooltip-zone menu-bar-link-selected menu-bar-image-"+_img>>\n\t\t<div @class="_class" @aria-label="_title">\n\t\t\t<<link _title>>\n\t\t\t<</link>>\n\t\t\t<div class="tooltip"><<= _title>></div>\n\t\t</div>\n\t<<else>>\n\t\t<<capture _switchTo>>\n\t\t\t<<set _class = "menu-bar-link tooltip-zone menu-bar-image-"+_img>>\n\t\t\t<div @class="_class" @aria-label="_title">\n\t\t\t\t<<link _title>>\n\t\t\t\t\t<<if $args[4] && $chironBaseMenuButtons>>\n\t\t\t\t\t\t<<run Engine.play($args[4])>>\n\t\t\t\t\t\t<<switchDisplay 0>>\n\t\t\t\t\t<<else>>\n\t\t\t\t\t\t<<switchDisplay _switchTo>>\n\t\t\t\t\t<</if>>\n\t\t\t\t<</link>>\n\t\t\t\t<div class="tooltip"><<= _title>></div>\n\t\t\t</div>\n\t\t<</capture>>\n\t<</if>>\n<</widget>>
/% $args[0] is the number of the display to switch to %/\n<<widget switchDisplay>>\n\t<<set GameUI.selectedDisplay = $args[0]>>\n\t<<run GameUI.switchDisplay($args[0])>>\n<</widget>>
/% In Chiron Base, the first 3 buttons have different behaviours %/\n/% $args[0] is the image title (alt text). %/\n/% $args[1] is the name of the image. %/\n/% $args[2] is the name of the passage this button sends the player to. %/\n<<widget ChironBaseMenuBarLink>>\n\t<<set _title = $args[0]>>\n\t<<set _img = $args[1]>>\n\t<<set _goTo = $args[2]>>\n\t<<if (passage() != _goTo && !tags().includes($args[3])) || GameUI.selectedDisplay != 0>>\n\t\t<<capture _goTo>>\n\t\t\t<<set _class = "menu-bar-link menu-bar-image-"+_img>>\n\t\t\t<div @class="_class">\n\t\t\t\t<<link "">>\n\t\t\t\t\t<<run Engine.play(_goTo)>>\n\t\t\t\t\t<<switchDisplay 0>>\n\t\t\t\t<</link>>\n\t\t\t\t<div class="tooltip"><<= _title>></div>\n\t\t\t</div>\n\t\t<</capture>>\n\t<<else>>\n\t\t<<set _class = "menu-bar-link menu-bar-link-selected menu-bar-image-"+_img>>\n\t\t<div @class="_class">\n\t\t\t<<link "">>\n\t\t\t<</link>>\n\t\t\t<div class="tooltip"><<= _title>></div>\n\t\t</div>\n\t<</if>>\n<</widget>>
window.Music = {\n\tplaylists: {\n\t\texploration: ["continuum","fourth_dimension","hydrogen","space_wanderlust","spectrum","stardust","terraforming"],\n\t\twonder: ["celestial_sphere","drifting_souls","omega_nebula","quantum","queen_of_neptune"],\n\t\tdanger: ["black_hole","faceless_moon","mind_games","outer_space","parallel_worlds","the_portal","the_void","zero_g"]\n\t},\n\t\n\tplayNewTrack: function() {\n\t\tvar nextPlaylist;\n\t\t\n\t\tif (!variables().crew) {\n\t\t\tnextPlaylist = "exploration";\n\t\t} else {\n\t\t\t/* See if any crew members are in the red zone */\n\t\t\tvar criticalCrew = 0;\n\t\t\tif (variables().crew) {\n\t\t\t\tfor (var n = 0; n < variables().crew.length; n++) {\n\t\t\t\t\tif (variables().crew[n].traits.count("eRadiationSickness") >= Traits["eRadiationSickness"].fatalNumber-1) { criticalCrew++; break; }\n\t\t\t\t\tif (variables().crew[n].traits.count("eTerrestrialInfection") >= Traits["eTerrestrialInfection"].fatalNumber-1) { criticalCrew++; break; }\n\t\t\t\t\tif (variables().crew[n].traits.count("eAlienInfection") >= Traits["eAlienInfection"].fatalNumber-1) { criticalCrew++; break; }\n\t\t\t\t\tif (variables().crew[n].traits.count("eInjured") >= Traits["eInjured"].fatalNumber-1) { criticalCrew++; break; }\n\t\t\t\t}\n\t\t\t}\n\t\t\t\n\t\t\tif (tags().includesAny("no-crew","chiron-base","front-matter")) {\n\t\t\t\tnextPlaylist = "exploration";\n\t\t\t} else if (variables().positionTrait == "xEndgame") {\n\t\t\t\tnextPlaylist = "wonder";\n\t\t\t} else if (variables().deadCrew.length > 0 || criticalCrew > 0 || variables().ship.traits.length > variables().ship.getMaxDamage()-2 || variables().ship.fuel <= 25) {\n\t\t\t\tnextPlaylist = "danger";\n\t\t\t} else if (variables().discoveriesThisSystem.includesAny("psLife","psCiv","psMeddlingCiv") || variables().contextTraits.includes("tInterstellarCivHomeSystem")) {\n\t\t\t\tnextPlaylist = "wonder";\n\t\t\t} else {\n\t\t\t\tnextPlaylist = "exploration";\n\t\t\t}\n\t\t}\n\t\t\n\t\tvar nextTrackName = Music.playlists[nextPlaylist].shift();\n\t\tMusic.playlists[nextPlaylist].shuffle();\n\t\tMusic.playlists[nextPlaylist].pushUnique(nextTrackName);\n\t\t\n\t\tconsole.log("MUSIC: Playing track "+nextTrackName+" from playlist "+nextPlaylist+" at time "+Date.now());\n\t\t\n\t\tSimpleAudio.stop();\n\t\tSimpleAudio.tracks.get(nextTrackName).volume(1).playWhenAllowed();\n\t},\n\t\n\tsetup: function() {\n\t\tSimpleAudio.tracks.add("outer_space", "audio/Outer Space.mp3");\n\t\tSimpleAudio.tracks.add("stardust", "audio/Stardust.mp3");\n\t\tSimpleAudio.tracks.add("faceless_moon", "audio/Faceless Moon.mp3");\n\t\tSimpleAudio.tracks.add("the_portal", "audio/The Portal.mp3");\n\t\tSimpleAudio.tracks.add("queen_of_neptune", "audio/Queen Of Neptune.mp3");\n\t\tSimpleAudio.tracks.add("spectrum", "audio/Spectrum.mp3");\n\t\tSimpleAudio.tracks.add("fourth_dimension", "audio/Fourth Dimension.mp3");\n\t\tSimpleAudio.tracks.add("hydrogen", "audio/Hydrogen.mp3");\n\t\tSimpleAudio.tracks.add("celestial_sphere", "audio/Celestial Sphere.mp3");\n\t\tSimpleAudio.tracks.add("parallel_worlds", "audio/Parallel Worlds.mp3");\n\t\tSimpleAudio.tracks.add("black_hole", "audio/Black Hole.mp3");\n\t\tSimpleAudio.tracks.add("continuum", "audio/Continuum.mp3");\n\t\tSimpleAudio.tracks.add("drifting_souls", "audio/Drifting Souls.mp3");\n\t\tSimpleAudio.tracks.add("mind_games", "audio/Mind Games.mp3");\n\t\tSimpleAudio.tracks.add("omega_nebula", "audio/Omega Nebula.mp3");\n\t\tSimpleAudio.tracks.add("quantum", "audio/Quantum.mp3");\n\t\tSimpleAudio.tracks.add("space_wanderlust", "audio/Space Wanderlust.mp3");\n\t\tSimpleAudio.tracks.add("terraforming", "audio/Terraforming.mp3");\n\t\tSimpleAudio.tracks.add("the_void", "audio/The Void.mp3");\n\t\tSimpleAudio.tracks.add("zero_g", "audio/Zero-G.mp3");\n\t\t\n\t\tSimpleAudio.tracks.get("outer_space").on("ended.myEvents",Music.playNewTrack).on(":faded.myEvents",Music.playNewTrack);\n\t\tSimpleAudio.tracks.get("stardust").on("ended.myEvents",Music.playNewTrack).on(":faded.myEvents",Music.playNewTrack);\n\t\tSimpleAudio.tracks.get("faceless_moon").on("ended.myEvents",Music.playNewTrack).on(":faded.myEvents",Music.playNewTrack);\n\t\tSimpleAudio.tracks.get("the_portal").on("ended.myEvents",Music.playNewTrack).on(":faded.myEvents",Music.playNewTrack);\n\t\tSimpleAudio.tracks.get("queen_of_neptune").on("ended.myEvents",Music.playNewTrack).on(":faded.myEvents",Music.playNewTrack);\n\t\tSimpleAudio.tracks.get("spectrum").on("ended.myEvents",Music.playNewTrack).on(":faded.myEvents",Music.playNewTrack);\n\t\tSimpleAudio.tracks.get("fourth_dimension").on("ended.myEvents",Music.playNewTrack).on(":faded.myEvents",Music.playNewTrack);\n\t\tSimpleAudio.tracks.get("hydrogen").on("ended.myEvents",Music.playNewTrack).on(":faded.myEvents",Music.playNewTrack);\n\t\tSimpleAudio.tracks.get("celestial_sphere").on("ended.myEvents",Music.playNewTrack).on(":faded.myEvents",Music.playNewTrack);\n\t\tSimpleAudio.tracks.get("parallel_worlds").on("ended.myEvents",Music.playNewTrack).on(":faded.myEvents",Music.playNewTrack);\n\t\tSimpleAudio.tracks.get("black_hole").on("ended.myEvents",Music.playNewTrack).on(":faded.myEvents",Music.playNewTrack);\n\t\tSimpleAudio.tracks.get("continuum").on("ended.myEvents",Music.playNewTrack).on(":faded.myEvents",Music.playNewTrack);\n\t\tSimpleAudio.tracks.get("drifting_souls").on("ended.myEvents",Music.playNewTrack).on(":faded.myEvents",Music.playNewTrack);\n\t\tSimpleAudio.tracks.get("mind_games").on("ended.myEvents",Music.playNewTrack).on(":faded.myEvents",Music.playNewTrack);\n\t\tSimpleAudio.tracks.get("omega_nebula").on("ended.myEvents",Music.playNewTrack).on(":faded.myEvents",Music.playNewTrack);\n\t\tSimpleAudio.tracks.get("quantum").on("ended.myEvents",Music.playNewTrack).on(":faded.myEvents",Music.playNewTrack);\n\t\tSimpleAudio.tracks.get("space_wanderlust").on("ended.myEvents",Music.playNewTrack).on(":faded.myEvents",Music.playNewTrack);\n\t\tSimpleAudio.tracks.get("terraforming").on("ended.myEvents",Music.playNewTrack).on(":faded.myEvents",Music.playNewTrack);\n\t\tSimpleAudio.tracks.get("the_void").on("ended.myEvents",Music.playNewTrack).on(":faded.myEvents",Music.playNewTrack);\n\t\tSimpleAudio.tracks.get("zero_g").on("ended.myEvents",Music.playNewTrack).on(":faded.myEvents",Music.playNewTrack);\n\t\t\n\t\tMusic.playlists.exploration.shuffle();\n\t\tMusic.playlists.wonder.shuffle();\n\t\tMusic.playlists.danger.shuffle();\n\t\t\n\t\tif (mobileVersion) {\n\t\t\tSimpleAudio.muteOnHidden(true);\n\t\t}\n\t\t\n\t},\n\t\n\tfadeOutAndChange: function() {\n\t\tSimpleAudio.select(":playing").fadeOut(2);\n\t}\n}
/% ERROR MESSAGE %/\n<<if Object.keys($discoveriesThisTurn).length != 0>>\n\tERROR: Discoveries with no tooltip: <<= JSON.stringify($discoveriesThisTurn,null,1)>>\n<</if>>
<h1>Settings</h1>\n\n<<if !tags().includes("front-matter")>>\n\t<div class="full-width-link">\n\t\t<<link "How to Play">>\n\t\t\t<<run setPageElement("settings-display","Settings View How to Play")>>\n\t\t\t<<run GameUI.setupTooltips()>>\n\t\t<</link>>\n\t</div>\n<</if>>\n\n<<if (document.fullscreenEnabled || document.webkitFullscreenEnabled || document.msFullscreenEnabled) && !mobileVersion>>\n\t<div class="full-width-link hide-in-fullscreen">\n\t\t<<link "Full screen: Off">>\n\t\t\t<<run enterFullScreen()>>\n\t\t<</link>>\n\t</div>\n\t<div class="full-width-link show-in-fullscreen">\n\t\t<<link "Full screen: On">>\n\t\t\t<<run exitFullScreen()>>\n\t\t<</link>>\n\t</div>\n<</if>>\n\n<div id="music-row" class="settings-display-row">\n\t<<include [[Settings Display Music Row]]>>\n</div>\n\n\n<div id="text-size-control" class="settings-display-row">\n\t<<include [[Settings Display Text Size]]>>\n</div>\n\n<div id="achievements-row" class="settings-display-row">\n\t<<include [[Settings Display Achievements Row]]>>\n</div>\n\n<<if tags().includes("front-matter")>>\n\t<<if !mobileVersion>>\n\t\t<div class="full-width-link">\n\t\t\t<<link "Quit Game">>\n\t\t\t\t<<run window.close()>>\n\t\t\t<</link>>\n\t\t</div>\n\t<</if>>\n\t<div class="full-width-link">[[Back|Start]]</div>\n<<else>>\n\t<div class="full-width-link">\n\t\t<<link "Quit to Title Screen">>\n\t\t\t<<quitToTitleScreen>>\n\t\t<</link>>\n\t</div>\n\t<<if !mobileVersion>>\n\t\t<div class="full-width-link">\n\t\t\t<<link "Quit Game">>\n\t\t\t\t<<run window.close()>>\n\t\t\t<</link>>\n\t\t</div>\n\t<</if>>\n\t<div class="full-width-link"><<link "Done">><<switchDisplay 0>><</link>></div>\n<</if>>\n<div class="settings-version-number">version <<= Config.saves.version>></div>\n\n/% COMMENT OUT FOR RELEASE %/\n/% <div class="full-width-link" style="opacity: 0.25"> %/\n\t/% <<link "Toggle debug text">><<run $("html").toggleClass("show-debug-text")>><</link>> %/\n/% </div> %/\n/% COMMENT OUT FOR RELEASE %/\n\n<div class="debug-text">\nDEBUG OPTIONS:<br>\n\nQuick test event: Event: <<textbox "$debug_goto" "" "Debug Quick Goto">>[[Go|Debug Quick Goto]]<br>\n\n\nCURRENT PASSAGE: <<= passage()>>, TAGS: <<= tags()>>\n@@.full-width-link;<<link "Manage saves...">>\n\t\t<<run UI.saves()>>\n<</link>>@@\n@@.full-width-link;<<link "Destroy save game and quit">>\n\t<<run Save.autosave.delete()>>\n\t<<run Engine.restart()>>\n<</link>>@@\n\n\tOverride skill checks:<br>\n\t<label><<radiobutton "$debug_auto_succeed" 0 autocheck>>Normal</label><br>\n\t<label><<radiobutton "$debug_auto_succeed" 1 autocheck>>Succeed</label><br>\n\t<label><<radiobutton "$debug_auto_succeed" -1 autocheck>>Fail</label><br>\n\n\t@@.full-width-link;\n\t<<link "DEBUG: test event" "Debug Test Event">>\n\t\t<<switchDisplay 0>>\n\t<</link>>@@\n\tDiscoveries this turn:\n\t<code><<= JSON.stringify($discoveriesThisTurn, null, 1)>></code>\n\tDiscoveries this system:\n\t<code><<= JSON.stringify($discoveriesThisSystem, null, 1)>></code>\n\t\n\tContext traits:\n\t<<set _json = JSON.stringify($contextTraits, null, 1)>>\n\t<code><<= _json>></code>\n\tCurrent event queue:\n\t<<set _json = JSON.stringify($eventQueue, null, 1)>>\n\t<code><<= _json>></code>\n\t<br><br>\n\tPrevious events:\n\t<<set _json = JSON.stringify($lastEvents, null, 1)>>\n\t<code><<= _json>></code>\n\t<br><br>\n\tAll events this game:\n\t<<set _json = JSON.stringify($allEventsThisGame, null, 1)>>\n\t<code><<= _json>></code>\n\n\t<<link "DEBUG: Skip current event" "Next Event">>\n\t\t<<switchDisplay 0>>\n\t<</link>>\n\t<<link "DEBUG: Cheat add data">>\n\t\t<<set $data.planetary_science += 1000>>\n\t\t<<set $data.xenobiology += 1000>>\n\t\t<<set $data.xenotechnology += 1000>>\n\t<</link>>\n\t<<linkreplace "Clear high scores">>\n\t\t<<run forget("highscores")>>\n\t\tHigh scores cleared\n\t<</linkreplace>>\n\t<<linkreplace "Add junk high scores">>\n\t\t<<set _highscores = recall("highscores",[])>>\n\t\t<<for _n = 0; _n < 100; _n++>>\n\t\t\t<<set _newScore = {}>>\n\t\t\t<<set _newScore.shipName = "Junk "+_n>>\n\t\t\t<<set _newScore.endingType = "base">>\n\t\t\t<<set _newScore.endingReason = "Junk score">>\n\t\t\t<<set _newScore.systemsVisited = random(1,20)>>\n\t\t\t<<set _newScore.totalData = random(0,5000)>>\n\t\t\t<<set _highscores.push(_newScore)>>\n\t\t<</for>>\n\t\t<<set _highscores.sort(\n\t\t\tfunction(g1,g2) {\n\t\t\t\treturn g2.totalData - g1.totalData;\n\t\t\t}\n\t\t)>>\n\t\t<<if _highscores.length > 100>>\n\t\t\t<<set _highscores = _highscores.slice(0,100)>>\n\t\t<</if>>\n\t\t<<run memorize("highscores",_highscores)>>\n\t\tJunk scores added\n\t<</linkreplace>>\n\t<<linkreplace "Clear achievements">>\n\t\t<<run forget("achievements")>>\n\t\tAchievements cleared\n\t<</linkreplace>>\n\n</div>
<<set _volume = recall("music_volume",100)>>\n\n<<if recall("music",true)>>\n\t<<link "Music: On">>\n\t\t<<run memorize("music",false)>>\n\t\t<<masteraudio stop>>\n\t\t<<run setPageElement("music-row","Settings Display Music Row")>>\n\t<</link>>\n<<else>>\n\t<<link "Music: Off">>\n\t\t<<run memorize("music",true)>>\n\t\t<<if _volume <= 0>>\n\t\t\t<<set _volume = 5>>\n\t\t\t<<run memorize("music_volume",_volume)>>\n\t\t<</if>>\n\t\t<<masteraudio volume `_volume/100`>>\n\t\t<<run Music.playNewTrack()>>\n\t\t<<run setPageElement("music-row","Settings Display Music Row")>>\n\t<</link>>\n<</if>>\n<div class="settings-display-text-area">Volume: <<= _volume>>%</div>\n<<link "-5%">>\n\t<<if _volume <= 5>>\n\t\t<<run memorize("music",false)>>\n\t\t<<masteraudio stop>>\n\t\t<<run memorize("music_volume",0)>>\n\t\t<<run setPageElement("music-row","Settings Display Music Row")>>\n\t<<else>>\n\t\t<<run memorize("music_volume",_volume-5)>>\n\t\t<<masteraudio volume `_volume/100`>>\n\t\t<<run setPageElement("music-row","Settings Display Music Row")>>\n\t\t<<if !recall("music",true)>>\n\t\t\t<<run memorize("music",true)>>\n\t\t\t<<run Music.playNewTrack()>>\n\t\t<</if>>\n\t<</if>>\n<</link>>\n<<link "+5%">>\n\t<<if _volume < 100>>\n\t\t<<run memorize("music_volume",_volume+5)>>\n\t\t<<masteraudio volume `_volume/100`>>\n\t\t<<run setPageElement("music-row","Settings Display Music Row")>>\n\t<</if>>\n\t<<if !recall("music",true)>>\n\t\t<<run memorize("music",true)>>\n\t\t<<run Music.playNewTrack()>>\n\t<</if>>\n<</link>>
<<if recall("achievement_notifications",true)>>\n\t<<link "Achievement Notifications: On">>\n\t\t<<run memorize("achievement_notifications",false)>>\n\t\t<<run setPageElement("achievements-row","Settings Display Achievements Row")>>\n\t<</link>>\n<<else>>\n\t<<link "Achievement Notifications: Off">>\n\t\t<<run memorize("achievement_notifications",true)>>\n\t\t<<run setPageElement("achievements-row","Settings Display Achievements Row")>>\n\t<</link>>\n<</if>>\n\n<<if !tags().includes("front-matter")>>\n\t<<link "Show Achievements">>\n\t\t<<run setPageElement("settings-display","Settings View Achievements")>>\n\t\t<<run GameUI.setupTooltips()>>\n\t<</link>>\n<</if>>
<<set _textSize = recall("text_size",100)>>\n<div class="settings-display-text-area">Zoom: <<= _textSize>>%</div>\n<<link "-10%">>\n\t<<if _textSize > 40>>\n\t\t<<run memorize("text_size",_textSize-10)>>\n\t\t<<updateTextSize>>\n\t\t<<run setPageElement("text-size-control","Settings Display Text Size")>>\n\t<</if>>\n<</link>>\n<<link "+10%">>\n\t<<run memorize("text_size",_textSize+10)>>\n\t<<updateTextSize>>\n\t<<run setPageElement("text-size-control","Settings Display Text Size")>>\n<</link>>
<<widget updateTextSize>>\n\t<<set _textSizeString = recall("text_size",100)+"%">>\n\t<<run $("html").css("font-size",_textSizeString)>>\n\t<<run console.log("updated text size to "+_textSize)>>\n<</widget>>
<<widget quitToTitleScreen>>\n\t<<switchDisplay 0>>\n\t<<run Music.fadeOutAndChange()>>\n\t/% State.reset() does most of what Engine.restart() does but does not reload the page, which drops us out of full screen mode %/\n\t<<run State.reset()>>\n\t<<goto "Start">>\n<</widget>>
<<include [[Achievements List]]>>\n<div class="full-width-link">\n\t<<link "Back">>\n\t\t<<run setPageElement("settings-display","Settings Display")>>\n\t<</link>>\n</div>
<<include [[How to Play]]>>\n<div class="full-width-link">\n\t<<link "Back">>\n\t\t<<run setPageElement("settings-display","Settings Display")>>\n\t<</link>>\n</div>
<<if !tags().includes("no-ship") && !tags().includes("front-matter")>>\n\t<h1>Starship <<shipName>></h1>\n\t<<if $endgame_ship_destroyed && !$sandboxMode>>\n\t\t<p>This was the <<shipName>>'s <<= TextUtils.ordinalWord($gameStats.systemsVisited)>> journey beyond the Chiron Gate.</p>\n\t<<else>>\n\t<p>This is the <<shipName>>'s <<= TextUtils.ordinalWord($gameStats.systemsVisited)>> journey beyond the Chiron Gate.\n\t\t<<if $seenFirstDestinationChoice && !$sandboxMode>>\n\t\t\t<<if $wormholeUsesRemaining <= 0>>\n\t\t\t\tThis is the last journey; after the <<shipName>> returns, the Chiron Gate will collapse.\n\t\t\t<<elseif $wormholeUsesRemaining == 1>>\n\t\t\t\tAfter this, the Chiron Project will be able to activate the Gate only ''once'' more before it collapses.\n\t\t\t<<else>>\n\t\t\t\tAfter this, the Chiron Gate can be used ''<<= $wormholeUsesRemaining>>'' more <<= $wormholeUsesRemaining==1?"time":"times">> before it collapses.\n\t\t\t<</if>>\n\t\t<</if>>\n\t\t</p>\n\t<</if>>\n\n\t<<if $endgame_ship_destroyed && !$sandboxMode>>\n\t\t<h2>Damage</h2>\n\t\t<div class="notification-box injury"><span class="inline-icon"><<iconWithTooltip "defense-satellite" "Destroyed">></span>The <<shipName>> has been destroyed.</div>\n\t<<else>>\n\t\t<<if $ship.traits.length > 0>>\n\t\t\t<h2>Damage</h2>\n\t\t\t<<for _t = 0; _t < $ship.traits.length; _t++>>\n\t\t\t\t<div class="notification-box injury">\n\t\t\t\t\t<span class="inline-icon"><<traitIcon $ship.traits[_t]>></span>\n\t\t\t\t\t<<= getTraitName($ship.traits[_t])>>\n\t\t\t\t</div>\n\t\t\t<</for>>\n\t\t<</if>>\n\t<</if>>\n\t\n\t<h2>Upgrades</h2>\n\t<div class="full-width-link"><<link "Toggle unresearched upgrades">>\n\t\t<<run $("html").toggleClass("ship-view-show-unresearched-upgrades")>>\n\t<</link>></div>\n\t<<for _cat = 0; _cat < ShipUpgradeCategories.length; _cat++>>\n\t\t<<set _availableThisCategory = ShipUpgradeCategories[_cat].upgrades.filter( function(t){ return this.includes(t);}, $researchableUpgrades)>>\n\t\t\n\t\t<<if _availableThisCategory.length > 0>>\n\t\t\t<<set _installedThisCategory = ShipUpgradeCategories[_cat].upgrades.filter( function(t){ return this.includes(t);}, $ship.upgrades)>>\n\t\t\t<<if _installedThisCategory.length > 0>>\t\t\t\n\t\t\t\t<h2><<= ShipUpgradeCategories[_cat].name>></h2>\n\t\t\t<<else>>\n\t\t\t\t<h2 class="ship-view-unresearched-upgrade"><<= ShipUpgradeCategories[_cat].name>></h2>\n\t\t\t<</if>>\n\t\t\t<<if "extraText" in ShipUpgradeCategories[_cat]>>\n\t\t\t\t<<= ShipUpgradeCategories[_cat].extraText>>\n\t\t\t<</if>>\n\t\t\t<<for _n = 0; _n < _availableThisCategory.length; _n++>>\n\t\t\t\t<<if _availableThisCategory[_n] in Traits>>\n\t\t\t\t\t<<set _trait = _availableThisCategory[_n]>>\n\t\t\t\t\t<<set _cssClass = "ship-upgrade-list-row">>\n\t\t\t\t\t<<if !$ship.upgrades.includes(_availableThisCategory[_n])>>\n\t\t\t\t\t\t<<set _cssClass += " ship-view-unresearched-upgrade">>\n\t\t\t\t\t<</if>>\n\t\t\t\t\t\n\t\t\t\t\t<div @class="_cssClass">\n\t\t\t\t\t\t<div class="ship-upgrade-list-icon">\n\t\t\t\t\t\t\t<span class="inline-icon"><<traitIcon _trait>></span>\n\t\t\t\t\t\t</div>\n\t\t\t\t\t\t<div class="ship-upgrade-list-name">\n\t\t\t\t\t\t\t''<<= getTraitName(_trait)>>''\n\t\t\t\t\t\t\t<br>\n\t\t\t\t\t\t\t<<= Traits[_trait].desc.replace("&shipName&","<em>"+$ship.name+"</em>")>>\n\t\t\t\t\t\t</div>\n\t\t\t\t\t\t<div class="ship-upgrade-list-cost-and-button">\n\t\t\t\t\t\t\t<<if $ship.upgrades.includes(_availableThisCategory[_n])>>\n\t\t\t\t\t\t\t\t/% nothing %/\n\t\t\t\t\t\t\t<<elseif "requires" in Traits[_trait] && !$ship.upgrades.includes(Traits[_trait].requires)>>\n\t\t\t\t\t\t\t\tRequires <<= Traits[Traits[_trait].requires].name>>\n\t\t\t\t\t\t\t<<else>>\n\t\t\t\t\t\t\t\t<span class="ship-upgrade-list-cost">\n\t\t\t\t\t\t\t\t\t<<= getTraitIconImg(Traits[_trait].dataType)>>\n\t\t\t\t\t\t\t\t\t<<= Traits[_trait].dataCost>>\n\t\t\t\t\t\t\t\t</span>\n\t\t\t\t\t\t\t<</if>>\n\t\t\t\t\t\t</div>\n\t\t\t\t\t</div>\n\t\t\t\t<<else>>\n\t\t\t\t\t@@.error;Unexpected trait <<= _availableThisCategory[_n]>>@@\n\t\t\t\t<</if>>\n\t\t\t<</for>>\n\t\t<</if>>\n\t<</for>>\n\t@@.full-width-link;<<link "Done">><<switchDisplay 0>><</link>>@@\n<</if>>
/% $args[0] is the game stats object %/\n<<widget showGameStats>>\n\t<<set _gameStats = $args[0]>>\n\t<<gameStatsEndingText _gameStats>>\n\n\t<h2>Data collected: <<= _gameStats.totalData>></h2>\n\n\t<div class="final-score-table-container">\n\t\t<table class="final-score-table">\n\t\t\t<tr><th colspan=2>Exploration</th></tr>\n\t\t\t<tr><td>Systems visited:</td><td><<= _gameStats.systemsVisited>></td></tr>\n\t\t\t<tr><td>Worlds visited:</td><td><<= _gameStats.bodiesVisited>></td></tr>\n\t\t\t<tr><td>Unique discoveries:</td><td><<= _gameStats.discoveriesMade>></td></tr>\n\t\t\t<tr><td>Times found life:</td><td><<= _gameStats.timesFoundLife>></td></tr>\n\t\t\t<tr><td>Civilisations encountered:</td><td><<= _gameStats.civsEncountered>></td></tr>\n\n\t\t\t<tr><th colspan=2>Explorers</th></tr>\n\t\t\t<tr><td>Explorers embarked:</td><td><<= _gameStats.explorersEmbarked>></td></tr>\n\t\t\t<tr><td>Explorers killed:</td><td><<= _gameStats.explorersKilled>></td></tr>\n\t\t\t<tr><td>Highest-level explorer:</td>\n\t\t\t\t<td><<nameObj _gameStats.highestLevelExplorer>> (level <<= _gameStats.highestLevelExplorer.level>>)</td>\n\t\t\t</tr>\n\t\t\t<tr><td>Most missions:</td>\n\t\t\t\t<td ><<nameObj _gameStats.mostMissionsExplorer>> (<<= _gameStats.mostMissionsExplorer.missions>> <<= _gameStats.mostMissionsExplorer.missions==1?"mission":"missions">>)</td>\n\t\t\t</tr>\n\t\t\t<<if _gameStats.survivors && _gameStats.memorial>>\n\t\t\t\t<tr><td>All explorers:</td>\n\t\t\t\t\t<td>\n\t\t\t\t\t\t<span id="game-stats-all-explorers-show-button">\n\t\t\t\t\t\t\t<<link "Show">>\n\t\t\t\t\t\t\t\t<<run $(".final-score-crew-list").show()>>\n\t\t\t\t\t\t\t\t<<run $("#game-stats-all-explorers-show-button").hide()>>\n\t\t\t\t\t\t\t\t<<run $("#game-stats-all-explorers-hide-button").show()>>\n\t\t\t\t\t\t\t<</link>>\n\t\t\t\t\t\t</span>\n\t\t\t\t\t\t<span id="game-stats-all-explorers-hide-button" style="display: none;">\n\t\t\t\t\t\t\t<<link "Hide">>\n\t\t\t\t\t\t\t\t<<run $(".final-score-crew-list").hide()>>\n\t\t\t\t\t\t\t\t<<run $("#game-stats-all-explorers-show-button").show()>>\n\t\t\t\t\t\t\t\t<<run $("#game-stats-all-explorers-hide-button").hide()>>\n\t\t\t\t\t\t\t<</link>>\n\t\t\t\t\t\t</span>\n\t\t\t\t\t</td>\n\t\t\t\t</tr>\n\t\t\t\t<tr class="final-score-crew-list"><th colspan=2>Surviving explorers</th></tr>\n\t\t\t\t<tr class="final-score-crew-list"><td colspan=2 class="final-score-crew-list">\n\t\t\t\t\t<<for _n = 0; _n < _gameStats.survivors.length; _n++>>\n\t\t\t\t\t\t<<crewMemberListEntry _gameStats.survivors[_n] false false "" true>>\n\t\t\t\t\t<</for>>\n\t\t\t\t</td></tr>\n\t\t\t\t<tr class="final-score-crew-list"><th colspan=2>Memorial</th></tr>\n\t\t\t\t<tr class="final-score-crew-list"><td colspan=2 class="final-score-crew-list">\n\t\t\t\t\t<<for _n = 0; _n < _gameStats.memorial.length; _n++>>\n\t\t\t\t\t\t<<crewMemberListEntry _gameStats.memorial[_n] false false "" true>>\n\t\t\t\t\t<</for>>\n\t\t\t\t</td></tr>\n\t\t\t<</if>>\n\t\t\t<tr><th colspan=2>The <em><<= _gameStats.shipName>></em></th></tr>\n\t\t\t<tr><td>Upgrades:</td><td><<= _gameStats.shipUpgrades>></td></tr>\n\t\t\t<tr><td>Times damaged:</td><td><<= _gameStats.timesDamaged>></td></tr>\n\t\t\t\n\t\t\t<<if $gameStats.achievementsThisGame && $gameStats.achievementsThisGame.length > 0>>\n\t\t\t\t<tr><th colspan=2>Achievements</th></tr>\n\t\t\t\t<tr><td colspan=2 style="text-align: center">\n\t\t\t\t\t<<for _n = 0; _n < $gameStats.achievementsThisGame.length; _n++>>\n\t\t\t\t\t\t<<set _aData = Achievements[$gameStats.achievementsThisGame[_n]]>>\n\t\t\t\t\t\t<<set _tooltipText = "''"+_aData.name+"''<br>_aData.desc">>\n\t\t\t\t\t\t<span class="inline-icon"><<iconWithTooltip _aData.icon _tooltipText>></span>\n\t\t\t\t\t<</for>>\n\t\t\t\t</td></tr>\n\t\t\t<</if>>\n\t\t</table>\n\t</div>\n<</widget>>
<<widget gameStatsEndingText>>\n\t<<set _gameStats = $args[0]>>\n\t\n\t<<if _gameStats.endingType == "crew">>\n\t\tThe last explorer <<= _gameStats.endingReason>> on the <em><<= _gameStats.shipName>></em>'s <<= TextUtils.ordinalWord(_gameStats.systemsVisited)>> journey beyond the Chiron Gate.\n\t<<elseif _gameStats.endingType == "crew_multiple">>\n\t\tThe explorers <<= _gameStats.endingReason>> on the <em><<= _gameStats.shipName>></em>'s <<= TextUtils.ordinalWord(_gameStats.systemsVisited)>> journey beyond the Chiron Gate.\n\t<<elseif _gameStats.endingType == "base">>\n\t\t<<= _gameStats.endingReason>> after the <em><<= _gameStats.shipName>></em>'s <<= TextUtils.ordinalWord(_gameStats.systemsVisited)>> journey beyond the Chiron Gate.\n\t<<else>>\n\t\tThe <em><<= _gameStats.shipName>></em> <<= _gameStats.endingReason>> on its <<= TextUtils.ordinalWord(_gameStats.systemsVisited)>> journey beyond the Chiron Gate.\n\t<</if>>\n<</widget>>
data:image/svg+xml;base64,PD94bWwgdmVyc2lvbj0iMS4wIiBlbmNvZGluZz0iVVRGLTgiIHN0YW5kYWxvbmU9Im5vIj8+CjxzdmcKICAgeG1sbnM6ZGM9Imh0dHA6Ly9wdXJsLm9yZy9kYy9lbGVtZW50cy8xLjEvIgogICB4bWxuczpjYz0iaHR0cDovL2NyZWF0aXZlY29tbW9ucy5vcmcvbnMjIgogICB4bWxuczpyZGY9Imh0dHA6Ly93d3cudzMub3JnLzE5OTkvMDIvMjItcmRmLXN5bnRheC1ucyMiCiAgIHhtbG5zOnN2Zz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciCiAgIHhtbG5zPSJodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2ZyIKICAgeG1sbnM6c29kaXBvZGk9Imh0dHA6Ly9zb2RpcG9kaS5zb3VyY2Vmb3JnZS5uZXQvRFREL3NvZGlwb2RpLTAuZHRkIgogICB4bWxuczppbmtzY2FwZT0iaHR0cDovL3d3dy5pbmtzY2FwZS5vcmcvbmFtZXNwYWNlcy9pbmtzY2FwZSIKICAgaGVpZ2h0PSI0NTYuNzc1OTQiCiAgIHdpZHRoPSIxMjU0Ljc3NiIKICAgdmVyc2lvbj0iMS4xIgogICBpZD0iTGF5ZXIxIgogICB4PSIwcHgiCiAgIHk9IjBweCIKICAgdmlld0JveD0iMCAwIDEyNTQuNzc2IDQ1Ni43NzU5NSIKICAgeG1sOnNwYWNlPSJwcmVzZXJ2ZSIKICAgc29kaXBvZGk6ZG9jbmFtZT0iVGl0bGVfR2xvdy5zdmciCiAgIGlua3NjYXBlOnZlcnNpb249IjEuMCAoNDAzNWE0ZmI0OSwgMjAyMC0wNS0wMSkiPjxtZXRhZGF0YQogICBpZD0ibWV0YWRhdGE1MyI+PHJkZjpSREY+PGNjOldvcmsKICAgICAgIHJkZjphYm91dD0iIj48ZGM6Zm9ybWF0PmltYWdlL3N2Zyt4bWw8L2RjOmZvcm1hdD48ZGM6dHlwZQogICAgICAgICByZGY6cmVzb3VyY2U9Imh0dHA6Ly9wdXJsLm9yZy9kYy9kY21pdHlwZS9TdGlsbEltYWdlIiAvPjxkYzp0aXRsZT48L2RjOnRpdGxlPjwvY2M6V29yaz48L3JkZjpSREY+PC9tZXRhZGF0YT48ZGVmcwogICBpZD0iZGVmczUxIj48ZmlsdGVyCiAgICAgaWQ9ImZpbHRlcjE2NjMiCiAgICAgc3R5bGU9ImNvbG9yLWludGVycG9sYXRpb24tZmlsdGVyczpzUkdCIgogICAgIGlua3NjYXBlOmxhYmVsPSJEYXJrIGFuZCBHbG93IgogICAgIGlua3NjYXBlOm1lbnU9IlNoYWRvd3MgYW5kIEdsb3dzIgogICAgIGlua3NjYXBlOm1lbnUtdG9vbHRpcD0iRGFya2VucyB0aGUgZWRnZSB3aXRoIGFuIGlubmVyIGJsdXIgYW5kIGFkZHMgYSBmbGV4aWJsZSBnbG93IgogICAgIGhlaWdodD0iMS41IgogICAgIHk9Ii0wLjI1Ij48ZmVHYXVzc2lhbkJsdXIKICAgICAgIGlkPSJmZUdhdXNzaWFuQmx1cjE2NTMiCiAgICAgICByZXN1bHQ9InJlc3VsdDYiCiAgICAgICBzdGREZXZpYXRpb249IjUiIC8+PGZlQ29tcG9zaXRlCiAgICAgICBpZD0iZmVDb21wb3NpdGUxNjU1IgogICAgICAgaW4yPSJyZXN1bHQ2IgogICAgICAgb3BlcmF0b3I9ImF0b3AiCiAgICAgICBpbj0iU291cmNlR3JhcGhpYyIKICAgICAgIHJlc3VsdD0icmVzdWx0OCIgLz48ZmVDb21wb3NpdGUKICAgICAgIGlkPSJmZUNvbXBvc2l0ZTE2NTciCiAgICAgICBpbj0icmVzdWx0OCIKICAgICAgIGluMj0iU291cmNlQWxwaGEiCiAgICAgICBvcGVyYXRvcj0ib3ZlciIKICAgICAgIHJlc3VsdD0icmVzdWx0OSIgLz48ZmVDb2xvck1hdHJpeAogICAgICAgaWQ9ImZlQ29sb3JNYXRyaXgxNjU5IgogICAgICAgcmVzdWx0PSJyZXN1bHQxMCIKICAgICAgIHZhbHVlcz0iMSAwIDAgMCAwIDAgMSAwIDAgMCAwIDAgMSAwIDAgMCAwIDAgMSAwICIgLz48ZmVCbGVuZAogICAgICAgaWQ9ImZlQmxlbmQxNjYxIgogICAgICAgaW4yPSJyZXN1bHQ2IgogICAgICAgbW9kZT0ibm9ybWFsIgogICAgICAgaW49InJlc3VsdDEwIiAvPjwvZmlsdGVyPjxmaWx0ZXIKICAgICBoZWlnaHQ9IjEuMDAwMDUxMSIKICAgICB5PSItMi41NjIxNTM5ZS0wNSIKICAgICB3aWR0aD0iMS4wMDAwMTciCiAgICAgeD0iLTguNTQ0NzkyOGUtMDYiCiAgICAgaWQ9ImZpbHRlcjIyOTciCiAgICAgaW5rc2NhcGU6bGFiZWw9IkJsdXIiCiAgICAgc3R5bGU9ImNvbG9yLWludGVycG9sYXRpb24tZmlsdGVyczpzUkdCIj48ZmVHYXVzc2lhbkJsdXIKICAgICAgIGlkPSJmZUdhdXNzaWFuQmx1cjIyOTUiCiAgICAgICByZXN1bHQ9ImZiU291cmNlR3JhcGhpYyIKICAgICAgIHN0ZERldmlhdGlvbj0iMC4wMDQyNjI3ODM1IiAvPjxmZUNvbG9yTWF0cml4CiAgICAgICBpZD0iZmVDb2xvck1hdHJpeDIyOTkiCiAgICAgICB2YWx1ZXM9IjAgMCAwIC0xIDAgMCAwIDAgLTEgMCAwIDAgMCAtMSAwIDAgMCAwIDEgMCIKICAgICAgIGluPSJmYlNvdXJjZUdyYXBoaWMiCiAgICAgICByZXN1bHQ9ImZiU291cmNlR3JhcGhpY0FscGhhIiAvPjxmZUdhdXNzaWFuQmx1cgogICAgICAgaW49ImZiU291cmNlR3JhcGhpYyIKICAgICAgIHJlc3VsdD0iYmx1ciIKICAgICAgIHN0ZERldmlhdGlvbj0iMjAgMjAiCiAgICAgICBpZD0iZmVHYXVzc2lhbkJsdXIyMzAxIiAvPjwvZmlsdGVyPjxmaWx0ZXIKICAgICB3aWR0aD0iMS4wNDgwMDQ2IgogICAgIHg9Ii0wLjAyNDAwMjMyMyIKICAgICBpZD0iZmlsdGVyMjY5NyIKICAgICBzdHlsZT0iY29sb3ItaW50ZXJwb2xhdGlvbi1maWx0ZXJzOnNSR0IiCiAgICAgaW5rc2NhcGU6bGFiZWw9IkRhcmsgYW5kIEdsb3ciCiAgICAgaW5rc2NhcGU6bWVudT0iU2hhZG93cyBhbmQgR2xvd3MiCiAgICAgaW5rc2NhcGU6bWVudS10b29sdGlwPSJEYXJrZW5zIHRoZSBlZGdlIHdpdGggYW4gaW5uZXIgYmx1ciBhbmQgYWRkcyBhIGZsZXhpYmxlIGdsb3ciCiAgICAgaGVpZ2h0PSIxLjE0Mzk0MTgiCiAgICAgeT0iLTAuMDcxOTcwOTAyIj48ZmVHYXVzc2lhbkJsdXIKICAgICAgIGlkPSJmZUdhdXNzaWFuQmx1cjI2ODciCiAgICAgICByZXN1bHQ9InJlc3VsdDYiCiAgICAgICBzdGREZXZpYXRpb249IjExLjk3NDE1OSIgLz48ZmVDb21wb3NpdGUKICAgICAgIGlkPSJmZUNvbXBvc2l0ZTI2ODkiCiAgICAgICBpbjI9InJlc3VsdDYiCiAgICAgICBvcGVyYXRvcj0iYXRvcCIKICAgICAgIGluPSJTb3VyY2VHcmFwaGljIgogICAgICAgcmVzdWx0PSJyZXN1bHQ4IiAvPjxmZUNvbXBvc2l0ZQogICAgICAgaWQ9ImZlQ29tcG9zaXRlMjY5MSIKICAgICAgIGluPSJyZXN1bHQ4IgogICAgICAgaW4yPSJTb3VyY2VBbHBoYSIKICAgICAgIG9wZXJhdG9yPSJvdmVyIgogICAgICAgcmVzdWx0PSJyZXN1bHQ5IiAvPjxmZUNvbG9yTWF0cml4CiAgICAgICBpZD0iZmVDb2xvck1hdHJpeDI2OTMiCiAgICAgICByZXN1bHQ9InJlc3VsdDEwIgogICAgICAgdmFsdWVzPSIxIDAgMCAwIDAgMCAxIDAgMCAwIDAgMCAxIDAgMCAwIDAgMCAxIDAgIiAvPjxmZUJsZW5kCiAgICAgICBpZD0iZmVCbGVuZDI2OTUiCiAgICAgICBpbjI9InJlc3VsdDYiCiAgICAgICBtb2RlPSJub3JtYWwiCiAgICAgICBpbj0icmVzdWx0MTAiIC8+PC9maWx0ZXI+PC9kZWZzPjxzb2RpcG9kaTpuYW1lZHZpZXcKICAgZml0LW1hcmdpbi1ib3R0b209IjAiCiAgIGZpdC1tYXJnaW4tcmlnaHQ9IjAiCiAgIGZpdC1tYXJnaW4tbGVmdD0iMCIKICAgZml0LW1hcmdpbi10b3A9IjAiCiAgIGlua3NjYXBlOmRvY3VtZW50LXJvdGF0aW9uPSIwIgogICBwYWdlY29sb3I9IiMwMDAwMDAiCiAgIGJvcmRlcmNvbG9yPSIjNjY2NjY2IgogICBib3JkZXJvcGFjaXR5PSIxIgogICBvYmplY3R0b2xlcmFuY2U9IjEwIgogICBncmlkdG9sZXJhbmNlPSIxMCIKICAgZ3VpZGV0b2xlcmFuY2U9IjEwIgogICBpbmtzY2FwZTpwYWdlb3BhY2l0eT0iMCIKICAgaW5rc2NhcGU6cGFnZXNoYWRvdz0iMiIKICAgaW5rc2NhcGU6d2luZG93LXdpZHRoPSIxOTIwIgogICBpbmtzY2FwZTp3aW5kb3ctaGVpZ2h0PSIxMDE3IgogICBpZD0ibmFtZWR2aWV3NDkiCiAgIHNob3dncmlkPSJmYWxzZSIKICAgaW5rc2NhcGU6em9vbT0iMC44ODEwNTM4NiIKICAgaW5rc2NhcGU6Y3g9IjU3NS44MzIyMSIKICAgaW5rc2NhcGU6Y3k9IjIyOC45Mzc5OCIKICAgaW5rc2NhcGU6d2luZG93LXg9Ii04IgogICBpbmtzY2FwZTp3aW5kb3cteT0iLTgiCiAgIGlua3NjYXBlOndpbmRvdy1tYXhpbWl6ZWQ9IjEiCiAgIGlua3NjYXBlOmN1cnJlbnQtbGF5ZXI9ImcyMzQ5IiAvPgo8c3R5bGUKICAgdHlwZT0idGV4dC9jc3MiCiAgIGlkPSJzdHlsZTIiPgoJLnN0MHtmaWxsOiNGRkZGRkY7fQo8L3N0eWxlPgoKCgo8ZwogICB0cmFuc2Zvcm09InRyYW5zbGF0ZSgyMy41Mzc5ODEsMjcuNzM3OTgxKSIKICAgc3R5bGU9ImRpc3BsYXk6aW5saW5lO29wYWNpdHk6MTttaXgtYmxlbmQtbW9kZTpub3JtYWwiCiAgIGlua3NjYXBlOmxhYmVsPSJHbG93IgogICBpZD0iZzIzNDkiCiAgIGlua3NjYXBlOmdyb3VwbW9kZT0ibGF5ZXIiPjxnCiAgICAgaWQ9ImcyMzQ3IgogICAgIHN0eWxlPSJtaXgtYmxlbmQtbW9kZTpub3JtYWw7ZmlsbDojNDA2YWJmO2ZpbGwtb3BhY2l0eToxO2ZpbHRlcjp1cmwoI2ZpbHRlcjI2OTcpIj48ZwogICAgICAgaWQ9ImcyMzQxIgogICAgICAgc3R5bGU9ImZpbGw6IzQwNmFiZjtmaWxsLW9wYWNpdHk6MSI+Cgk8cGF0aAogICBpZD0icGF0aDIzMDMiCiAgIGQ9Im0gMzUyLDEyOC43IGMgMCwxLjUgLTAuMywzLjEgLTAuOCw0LjggLTAuNSwxLjcgLTEuNCwzLjMgLTIuNSw0LjggLTEuMiwxLjUgLTIuNywyLjcgLTQuNiwzLjcgLTEuOSwxIC00LjIsMS41IC02LjksMS41IEggMjkxIGMgLTAuOSwwIC0xLjcsLTAuMiAtMi40LC0wLjUgLTAuOCwtMC4zIC0xLjQsLTAuNyAtMS45LC0xLjMgLTAuNSwtMC41IC0xLC0xLjIgLTEuMywtMS45IC0wLjMsLTAuOCAtMC41LC0xLjYgLTAuNSwtMi40IFYgODIuMyBjIDAsLTAuOCAwLjIsLTEuNiAwLjUsLTIuNCAwLjMsLTAuOCAwLjcsLTEuNCAxLjMsLTIgMC41LC0wLjYgMS4yLC0xIDEuOSwtMS4zIDAuOCwtMC4zIDEuNiwtMC41IDIuNCwtMC41IGggNDAuOCBjIDEuNSwwIDMuMSwwLjMgNC44LDAuOCAxLjcsMC41IDMuMywxLjQgNC44LDIuNiAxLjUsMS4yIDIuNywyLjcgMy43LDQuNiAxLDEuOSAxLjUsNC4yIDEuNSw2LjkgdiAyLjMgYyAwLDIuMiAtMC40LDQuNSAtMS4xLDcgLTAuNywyLjUgLTEuOSw0LjggLTMuNSw3LjEgMS40LDAuOCAyLjcsMS45IDMuOSwzIDEuMiwxLjIgMi4zLDIuNiAzLjIsNC4xIDAuOSwxLjYgMS42LDMuMyAyLjIsNS4zIDAuNSwyIDAuOCw0LjEgMC44LDYuNSB2IDIuNCB6IG0gLTEyLjIsLTIuNCBjIDAsLTEuNiAtMC4zLC0zIC0wLjgsLTQuMyAtMC41LC0xLjMgLTEuMiwtMi40IC0yLjEsLTMuMyAtMC45LC0wLjkgLTIsLTEuNiAtMy4zLC0yLjEgLTEuMywtMC41IC0yLjcsLTAuNyAtNC4zLC0wLjcgaCAtMjcuNSB2IC0xMi4zIGggMjIgYyAxLjYsMCAzLC0wLjIgNC4zLC0wLjcgMS4zLC0wLjUgMi40LC0xLjIgMy4zLC0yLjEgMC45LC0wLjkgMS42LC0yIDIuMSwtMy4zIDAuNSwtMS4zIDAuNywtMi43IDAuNywtNC4zIFYgOTEgYyAwLC0xLjggLTAuOCwtMi42IC0yLjUsLTIuNiBIIDI5NyB2IDQyLjggaCA0MC4yIGMgMC4yLDAgMC41LDAgMC44LDAgMC4zLDAgMC42LC0wLjEgMC44LC0wLjMgMC4yLC0wLjIgMC41LC0wLjQgMC43LC0wLjggMC4yLC0wLjQgMC4zLC0wLjkgMC4zLC0xLjUgeiIKICAgY2xhc3M9InN0MCIKICAgc3R5bGU9ImZpbGw6IzQwNmFiZjtmaWxsLW9wYWNpdHk6MSIgLz4KCTxwYXRoCiAgIGlkPSJwYXRoMjMwNSIKICAgZD0ibSA0MjMuMywxNDMuNCBoIC00NCBjIC0xLjcsMCAtMy41LC0wLjMgLTUuNSwtMC45IC0yLC0wLjYgLTMuOSwtMS42IC01LjYsLTIuOSAtMS43LC0xLjQgLTMuMSwtMy4xIC00LjMsLTUuMyAtMS4xLC0yLjIgLTEuNywtNC44IC0xLjcsLTggdiAtNDQgYyAwLC0wLjggMC4yLC0xLjYgMC41LC0yLjQgMC4zLC0wLjggMC43LC0xLjQgMS4zLC0yIDAuNSwtMC42IDEuMiwtMSAxLjksLTEuMyAwLjgsLTAuMyAxLjYsLTAuNSAyLjQsLTAuNSBoIDU0LjkgdiAxMi4yIGggLTQ4LjggdiAzNy45IGMgMCwxLjYgMC40LDIuOCAxLjMsMy43IDAuOSwwLjkgMi4xLDEuMyAzLjcsMS4zIGggNDMuOSB6IG0gLTUuNSwtMjcuNSBoIC0zOC41IHYgLTEyLjMgaCAzOC41IHoiCiAgIGNsYXNzPSJzdDAiCiAgIHN0eWxlPSJmaWxsOiM0MDZhYmY7ZmlsbC1vcGFjaXR5OjEiIC8+Cgk8cGF0aAogICBpZD0icGF0aDIzMDciCiAgIGQ9Im0gNDk5LjEsOTguNyBjIDAsMi44IC0wLjQsNS4zIC0xLjEsNy41IC0wLjcsMi4yIC0xLjYsNC4xIC0yLjgsNS44IC0xLjIsMS43IC0yLjUsMy4xIC00LjEsNC4zIC0xLjUsMS4yIC0zLjEsMi4yIC00LjgsMi45IC0xLjcsMC44IC0zLjMsMS4zIC01LDEuNyAtMS43LDAuMyAtMy4zLDAuNSAtNC44LDAuNSBoIC00LjkgdiAyMi4xIGggLTEyLjMgdiAtMjIuMSBoIC00LjkgYyAtMS41LDAgLTMuMSwtMC4yIC00LjgsLTAuNSAtMS43LC0wLjMgLTMuNCwtMC45IC01LjEsLTEuNyAtMS43LC0wLjggLTMuMywtMS43IC00LjgsLTIuOSAtMS41LC0xLjIgLTIuOSwtMi42IC00LjEsLTQuMyAtMS4yLC0xLjcgLTIuMSwtMy42IC0yLjgsLTUuOCAtMC43LC0yLjIgLTEuMSwtNC43IC0xLjEsLTcuNCBWIDc2LjIgaCAxMi4yIHYgMjIuNSBjIDAsMS42IDAuMiwzIDAuOCw0LjMgMC41LDEuMyAxLjIsMi40IDIuMSwzLjMgMC45LDAuOSAyLDEuNiAzLjMsMi4xIDEuMywwLjUgMi43LDAuNyA0LjMsMC43IGggMjIgYyAxLjIsLTAuMiAyLjMsLTAuNCAzLjYsLTAuNyAxLjIsLTAuMyAyLjMsLTAuOCAzLjMsLTEuNSAxLC0wLjcgMS44LC0xLjcgMi41LC0zIDAuNywtMS4zIDEsLTMgMSwtNS4xIFYgNzYuMiBIIDQ5OSB2IDIyLjUgeiIKICAgY2xhc3M9InN0MCIKICAgc3R5bGU9ImZpbGw6IzQwNmFiZjtmaWxsLW9wYWNpdHk6MSIgLz4KCTxwYXRoCiAgIGlkPSJwYXRoMjMwOSIKICAgZD0ibSA1ODAuNiwxMTYuMiBjIDAsNC4xIC0wLjcsNy45IC0yLjEsMTEuMyAtMS40LDMuNCAtMy40LDYuNCAtNS45LDguOSAtMi41LDIuNSAtNS41LDQuNCAtOC45LDUuOCAtMy40LDEuNCAtNy4xLDIuMSAtMTEuMiwyLjEgSCA1MzYgYyAtNCwwIC03LjgsLTAuNyAtMTEuMiwtMi4xIC0zLjQsLTEuNCAtNi40LC0zLjMgLTguOSwtNS44IC0yLjUsLTIuNSAtNC41LC01LjUgLTUuOSwtOC45IC0xLjQsLTMuNCAtMi4xLC03LjIgLTIuMSwtMTEuMyB2IC0xMi44IGMgMCwtNC4xIDAuNywtNy44IDIuMSwtMTEuMyAxLjQsLTMuNSAzLjQsLTYuNCA1LjksLTguOSAyLjUsLTIuNSA1LjUsLTQuNCA4LjksLTUuOCAzLjQsLTEuNCA3LjIsLTIuMSAxMS4yLC0yLjEgaCAxNi41IGMgNCwwIDcuOCwwLjcgMTEuMiwyLjEgMy40LDEuNCA2LjQsMy40IDguOSw1LjggMi41LDIuNCA0LjUsNS41IDUuOSw4LjkgMS40LDMuNSAyLjEsNy4yIDIuMSwxMS4zIHogbSAtMTIuMSwtMTIuOCBjIDAsLTIuNCAtMC40LC00LjYgLTEuMSwtNi41IC0wLjgsLTIgLTEuOCwtMy42IC0zLjIsLTUgLTEuNCwtMS40IC0zLjEsLTIuNSAtNSwtMy4yIC0yLC0wLjggLTQuMSwtMS4xIC02LjQsLTEuMSBoIC0xNi41IGMgLTIuNCwwIC00LjUsMC40IC02LjUsMS4xIC0yLDAuOCAtMy42LDEuOCAtNSwzLjIgLTEuNCwxLjQgLTIuNSwzLjEgLTMuMyw1IC0wLjgsMiAtMS4xLDQuMSAtMS4xLDYuNSB2IDEyLjggYyAwLDIuNCAwLjQsNC42IDEuMSw2LjUgMC44LDIgMS45LDMuNiAzLjMsNSAxLjQsMS40IDMuMSwyLjUgNSwzLjIgMiwwLjggNC4xLDEuMSA2LjUsMS4xIGggMTYuNCBjIDIuNCwwIDQuNSwtMC40IDYuNSwtMS4xIDIsLTAuOCAzLjYsLTEuOCA1LC0zLjIgMS40LC0xLjQgMi41LC0zLjEgMy4zLC01IDAuOCwtMiAxLjEsLTQuMSAxLjEsLTYuNSB2IC0xMi44IHoiCiAgIGNsYXNzPSJzdDAiCiAgIHN0eWxlPSJmaWxsOiM0MDZhYmY7ZmlsbC1vcGFjaXR5OjEiIC8+Cgk8cGF0aAogICBpZD0icGF0aDIzMTEiCiAgIGQ9Im0gNjU5LjksMTM4LjIgYyAwLDAuOSAtMC4yLDEuNyAtMC41LDIuNCAtMC4zLDAuNyAtMC44LDEuNCAtMS4zLDEuOSAtMC41LDAuNSAtMS4yLDEgLTEuOSwxLjMgLTAuOCwwLjMgLTEuNSwwLjUgLTIuNCwwLjUgLTAuOCwwIC0xLjUsLTAuMSAtMi4zLC0wLjQgLTAuOCwtMC4zIC0xLjQsLTAuNyAtMiwtMS40IEwgNjA1LDk2IHYgNDcuMyBoIC0xMi4yIHYgLTYyIGMgMCwtMS4yIDAuNCwtMi40IDEuMSwtMy40IDAuNywtMSAxLjYsLTEuOCAyLjcsLTIuMyAxLjIsLTAuNSAyLjMsLTAuNiAzLjYsLTAuNCAxLjMsMC4yIDIuMywwLjggMy4xLDEuNyBsIDQ0LjUsNDYuNSBWIDc2LjIgSCA2NjAgdiA2MiB6IgogICBjbGFzcz0ic3QwIgogICBzdHlsZT0iZmlsbDojNDA2YWJmO2ZpbGwtb3BhY2l0eToxIiAvPgoJPHBhdGgKICAgaWQ9InBhdGgyMzEzIgogICBkPSJtIDc0MS4xLDExNS4zIGMgMCw0LjEgLTAuNyw3LjkgLTIuMSwxMS4zIC0xLjQsMy40IC0zLjQsNi40IC01LjksOC45IC0yLjUsMi41IC01LjUsNC40IC04LjksNS44IC0zLjQsMS40IC03LjIsMi4xIC0xMS4yLDIuMSBoIC0zMi45IGMgLTAuOSwwIC0xLjcsLTAuMiAtMi40LC0wLjUgLTAuOCwtMC4zIC0xLjQsLTAuNyAtMS45LC0xLjMgLTAuNSwtMC41IC0xLC0xLjIgLTEuMywtMS45IC0wLjMsLTAuNyAtMC41LC0xLjYgLTAuNSwtMi40IHYgLTU1IGMgMCwtMC44IDAuMiwtMS42IDAuNSwtMi40IDAuMywtMC44IDAuNywtMS40IDEuMywtMiAwLjYsLTAuNiAxLjIsLTEgMS45LC0xLjMgMC44LC0wLjMgMS42LC0wLjUgMi40LC0wLjUgSCA3MTMgYyA0LDAgNy44LDAuNyAxMS4yLDIuMSAzLjQsMS40IDYuNCwzLjQgOC45LDUuOCAyLjUsMi40IDQuNSw1LjUgNS45LDguOSAxLjQsMy41IDIuMSw3LjIgMi4xLDExLjMgeiBtIC0xMi4yLC0xMSBjIDAsLTIuNCAtMC40LC00LjUgLTEuMSwtNi41IC0wLjcsLTIgLTEuOSwtMy42IC0zLjMsLTUgLTEuNCwtMS40IC0zLjEsLTIuNSAtNSwtMy4yIC0yLC0wLjggLTQuMSwtMS4xIC02LjUsLTEuMSBoIC0yNi45IHYgNDIuOCBIIDcxMyBjIDIuNCwwIDQuNSwtMC40IDYuNSwtMS4xIDIsLTAuOCAzLjYsLTEuOCA1LC0zLjIgMS40LC0xLjQgMi41LC0zLjEgMy4zLC01IDAuOCwtMiAxLjEsLTQuMSAxLjEsLTYuNSB6IgogICBjbGFzcz0ic3QwIgogICBzdHlsZT0iZmlsbDojNDA2YWJmO2ZpbGwtb3BhY2l0eToxIiAvPgoJPHBhdGgKICAgaWQ9InBhdGgyMzE1IgogICBkPSJtIDg0NCw4OC40IGggLTI2LjkgdiA1NSBoIC0xMi4yIHYgLTU1IEggNzc4IFYgNzYuMiBoIDY2IHoiCiAgIGNsYXNzPSJzdDAiCiAgIHN0eWxlPSJmaWxsOiM0MDZhYmY7ZmlsbC1vcGFjaXR5OjEiIC8+Cgk8cGF0aAogICBpZD0icGF0aDIzMTciCiAgIGQ9Ik0gODY1LjIsMTAzLjcgSCA5MDggViA3Ni4yIGggMTIuMiB2IDY3LjIgSCA5MDggdiAtMjcuNSBoIC00Mi44IHYgMjcuNSBIIDg1MyBWIDc2LjIgaCAxMi4yIHoiCiAgIGNsYXNzPSJzdDAiCiAgIHN0eWxlPSJmaWxsOiM0MDZhYmY7ZmlsbC1vcGFjaXR5OjEiIC8+Cgk8cGF0aAogICBpZD0icGF0aDIzMTkiCiAgIGQ9Im0gOTk1LjIsMTQzLjQgaCAtNDQgYyAtMS43LDAgLTMuNSwtMC4zIC01LjUsLTAuOSAtMiwtMC42IC0zLjksLTEuNiAtNS42LC0yLjkgLTEuNywtMS4zIC0zLjEsLTMuMSAtNC4zLC01LjMgLTEuMSwtMi4yIC0xLjcsLTQuOCAtMS43LC04IHYgLTQ0IGMgMCwtMC44IDAuMiwtMS42IDAuNSwtMi40IDAuMywtMC44IDAuNywtMS40IDEuMywtMiAwLjYsLTAuNiAxLjIsLTEgMS45LC0xLjMgMC44LC0wLjMgMS42LC0wLjUgMi40LC0wLjUgaCA1NC45IHYgMTIuMiBoIC00OC44IHYgMzcuOSBjIDAsMS42IDAuNCwyLjggMS4zLDMuNyAwLjksMC45IDIuMSwxLjMgMy43LDEuMyBoIDQzLjkgeiBtIC01LjUsLTI3LjUgaCAtMzguNSB2IC0xMi4zIGggMzguNSB6IgogICBjbGFzcz0ic3QwIgogICBzdHlsZT0iZmlsbDojNDA2YWJmO2ZpbGwtb3BhY2l0eToxIiAvPgoJPHBhdGgKICAgaWQ9InBhdGgyMzIxIgogICBkPSJtIDE2OS44LDMxMC40IGggLTY2LjQgYyAtMS43LDAgLTMuNSwtMC4yIC01LjUsLTAuNiAtMiwtMC40IC0zLjksLTEgLTUuOCwtMS45IC0xLjksLTAuOCAtMy43LC0xLjkgLTUuNSwtMy4zIC0xLjcsLTEuMyAtMy4zLC0zIC00LjYsLTQuOSAtMS4zLC0xLjkgLTIuNCwtNC4xIC0zLjIsLTYuNyAtMC44LC0yLjUgLTEuMiwtNS40IC0xLjIsLTguNSB2IC00OS44IGMgMCwtMS43IDAuMiwtMy41IDAuNiwtNS41IDAuNCwtMiAxLC0zLjkgMS45LC01LjggMC44LC0xLjkgMiwtMy43IDMuMywtNS41IDEuNCwtMS43IDMsLTMuMyA0LjksLTQuNiAxLjksLTEuMyA0LjEsLTIuNCA2LjYsLTMuMiAyLjUsLTAuOCA1LjMsLTEuMiA4LjUsLTEuMiBoIDY2LjQgdiAxOC40IGggLTY2LjQgYyAtMi40LDAgLTQuMiwwLjYgLTUuNSwxLjkgLTEuMywxLjMgLTEuOSwzLjIgLTEuOSw1LjcgdiA0OS43IGMgMCwyLjQgMC42LDQuMiAxLjksNS41IDEuMywxLjMgMy4xLDEuOSA1LjUsMS45IGggNjYuNCB6IgogICBjbGFzcz0ic3QwIgogICBzdHlsZT0iZmlsbDojNDA2YWJmO2ZpbGwtb3BhY2l0eToxIiAvPgoJPHBhdGgKICAgaWQ9InBhdGgyMzIzIgogICBkPSJtIDIwNS43LDI1MC40IGggNjQuNiB2IC00MS41IGggMTguNCB2IDEwMS41IGggLTE4LjQgdiAtNDEuNSBoIC02NC42IHYgNDEuNSBIIDE4Ny4zIFYgMjA4LjkgaCAxOC40IHoiCiAgIGNsYXNzPSJzdDAiCiAgIHN0eWxlPSJmaWxsOiM0MDZhYmY7ZmlsbC1vcGFjaXR5OjEiIC8+Cgk8cGF0aAogICBpZD0icGF0aDIzMjUiCiAgIGQ9Ik0gMzI4LjksMzEwLjQgSCAzMTAuNSBWIDIwOC45IGggMTguNCB6IgogICBjbGFzcz0ic3QwIgogICBzdHlsZT0iZmlsbDojNDA2YWJmO2ZpbGwtb3BhY2l0eToxIiAvPgoJPHBhdGgKICAgaWQ9InBhdGgyMzI3IgogICBkPSJtIDQ1MS44LDI0MyBjIDAsNC4yIC0wLjUsOCAtMS42LDExLjMgLTEsMy4zIC0yLjQsNi4yIC00LjIsOC43IC0xLjgsMi41IC0zLjgsNC43IC02LjEsNi41IC0yLjMsMS44IC00LjcsMy4zIC03LjMsNC40IC0yLjUsMS4yIC01LjEsMiAtNy42LDIuNSAtMi42LDAuNSAtNSwwLjggLTcuMywwLjggbCAzOC40LDMzLjIgSCA0MjcuNiBMIDM4OS4yLDI3Ny4yIEggMzc2IHYgLTE4LjQgaCA0MS42IGMgMi4zLC0wLjIgNC40LC0wLjcgNi4zLC0xLjUgMS45LC0wLjggMy42LC0xLjggNSwtMy4yIDEuNCwtMS4zIDIuNSwtMi45IDMuMiwtNC44IDAuOCwtMS45IDEuMSwtNCAxLjEsLTYuNCB2IC0xMS42IGMgMCwtMSAtMC4xLC0xLjggLTAuNCwtMi40IC0wLjMsLTAuNSAtMC42LC0wLjkgLTEsLTEuMiAtMC40LC0wLjMgLTAuOCwtMC40IC0xLjMsLTAuNSAtMC40LDAgLTAuOSwtMC4xIC0xLjIsLTAuMSBoIC02MC43IHYgODMuMSBoIC0xOC40IHYgLTkyLjMgYyAwLC0xLjMgMC4yLC0yLjUgMC43LC0zLjYgMC41LC0xLjEgMS4xLC0yLjEgMS45LC0zIDAuOCwtMC44IDEuOCwtMS41IDIuOSwtMiAxLjEsLTAuNSAyLjQsLTAuNyAzLjcsLTAuNyBoIDY5LjkgYyA0LjEsMCA3LjYsMC43IDEwLjQsMi4yIDIuOCwxLjUgNS4xLDMuNCA2LjksNS42IDEuOCwyLjIgMyw0LjcgMy44LDcuMyAwLjgsMi42IDEuMiw1IDEuMiw3LjMgdiAxMiB6IgogICBjbGFzcz0ic3QwIgogICBzdHlsZT0iZmlsbDojNDA2YWJmO2ZpbGwtb3BhY2l0eToxIiAvPgoJPHBhdGgKICAgaWQ9InBhdGgyMzI5IgogICBkPSJtIDU3Ni45LDI2OS40IGMgMCw2LjIgLTEuMSwxMS45IC0zLjIsMTcuMSAtMi4xLDUuMiAtNS4xLDkuNyAtOC45LDEzLjUgLTMuOCwzLjggLTguMiw2LjcgLTEzLjQsOC44IC01LjIsMi4xIC0xMC44LDMuMiAtMTYuOSwzLjIgaCAtMjQuOSBjIC02LjEsMCAtMTEuNywtMS4xIC0xNi45LC0zLjIgLTUuMiwtMi4xIC05LjcsLTUgLTEzLjUsLTguOCAtMy44LC0zLjggLTYuNywtOC4zIC04LjksLTEzLjUgLTIuMSwtNS4yIC0zLjIsLTEwLjkgLTMuMiwtMTcuMSBWIDI1MCBjIDAsLTYuMSAxLjEsLTExLjggMy4yLC0xNyAyLjEsLTUuMiA1LjEsLTkuNyA4LjksLTEzLjUgMy44LC0zLjggOC4zLC02LjcgMTMuNSwtOC44IDUuMiwtMi4xIDEwLjgsLTMuMiAxNi45LC0zLjIgaCAyNC45IGMgNi4xLDAgMTEuNywxLjEgMTYuOSwzLjIgNS4yLDIuMSA5LjYsNS4xIDEzLjQsOC44IDMuOCwzLjggNi43LDguMiA4LjksMTMuNSAyLjEsNS4yIDMuMiwxMC45IDMuMiwxNyB6IE0gNTU4LjUsMjUwIGMgMCwtMy42IC0wLjYsLTYuOSAtMS43LC05LjkgLTEuMiwtMi45IC0yLjgsLTUuNSAtNC45LC03LjYgLTIuMSwtMi4xIC00LjYsLTMuNyAtNy42LC00LjkgLTMsLTEuMiAtNi4yLC0xLjcgLTkuNywtMS43IGggLTI0LjkgYyAtMy42LDAgLTYuOSwwLjYgLTkuOCwxLjcgLTMsMS4yIC01LjUsMi44IC03LjYsNC45IC0yLjEsMi4xIC0zLjgsNC42IC00LjksNy42IC0xLjIsMyAtMS43LDYuMiAtMS43LDkuOSB2IDE5LjQgYyAwLDMuNiAwLjYsNi45IDEuNyw5LjkgMS4yLDMgMi44LDUuNSA0LjksNy42IDIuMSwyLjEgNC43LDMuNyA3LjYsNC45IDIuOSwxLjIgNi4yLDEuNyA5LjgsMS43IGggMjQuOCBjIDMuNiwwIDYuOSwtMC42IDkuOCwtMS43IDIuOSwtMS4yIDUuNSwtMi44IDcuNiwtNC45IDIuMSwtMi4xIDMuOCwtNC42IDQuOSwtNy42IDEuMiwtMi45IDEuNywtNi4yIDEuNywtOS45IFYgMjUwIFoiCiAgIGNsYXNzPSJzdDAiCiAgIHN0eWxlPSJmaWxsOiM0MDZhYmY7ZmlsbC1vcGFjaXR5OjEiIC8+Cgk8cGF0aAogICBpZD0icGF0aDIzMzEiCiAgIGQ9Im0gNjk2LjUsMzAyLjYgYyAwLDEuMyAtMC4yLDIuNSAtMC43LDMuNyAtMC41LDEuMSAtMS4yLDIuMSAtMiwyLjkgLTAuOCwwLjggLTEuOCwxLjUgLTIuOSwxLjkgLTEuMSwwLjUgLTIuMywwLjcgLTMuNiwwLjcgLTEuMSwwIC0yLjMsLTAuMiAtMy40LC0wLjYgLTEuMiwtMC40IC0yLjIsLTEuMSAtMy4xLC0yLjEgbCAtNjcuMywtNzAuMiB2IDcxLjUgaCAtMTguNCB2IC05My43IGMgMCwtMS45IDAuNSwtMy42IDEuNiwtNS4xIDEuMSwtMS41IDIuNCwtMi43IDQuMSwtMy40IDEuNywtMC43IDMuNSwtMC45IDUuNCwtMC41IDEuOCwwLjQgMy40LDEuMiA0LjcsMi42IGwgNjcuMyw3MC4yIFYgMjA5IGggMTguNCB2IDkzLjYgeiIKICAgY2xhc3M9InN0MCIKICAgc3R5bGU9ImZpbGw6IzQwNmFiZjtmaWxsLW9wYWNpdHk6MSIgLz4KCTxwYXRoCiAgIGlkPSJwYXRoMjMzMyIKICAgZD0ibSA4NjUuMiwzMDEuMSBjIDAsMS4zIC0wLjIsMi41IC0wLjcsMy43IC0wLjUsMS4xIC0xLjEsMi4xIC0xLjksMi45IC0wLjgsMC44IC0xLjgsMS41IC0yLjksMS45IC0xLjEsMC41IC0yLjQsMC43IC0zLjcsMC43IGggLTY2LjQgYyAtMS43LDAgLTMuNSwtMC4yIC01LjUsLTAuNiAtMiwtMC40IC0zLjksLTEgLTUuOCwtMS45IC0xLjksLTAuOCAtMy43LC0xLjkgLTUuNSwtMy4zIC0xLjcsLTEuMyAtMy4zLC0zIC00LjYsLTQuOSAtMS4zLC0xLjkgLTIuNCwtNC4xIC0zLjIsLTYuNyAtMC44LC0yLjUgLTEuMiwtNS40IC0xLjIsLTguNSB2IC00OS44IGMgMCwtMS43IDAuMiwtMy41IDAuNiwtNS41IDAuNCwtMiAxLC0zLjkgMS45LC01LjggMC44LC0xLjkgMiwtMy43IDMuMywtNS41IDEuNCwtMS43IDMsLTMuMyA0LjksLTQuNiAxLjksLTEuMyA0LjEsLTIuNCA2LjYsLTMuMiAyLjUsLTAuOCA1LjMsLTEuMiA4LjUsLTEuMiBoIDc0LjggdiAxOC40IGggLTc0LjggYyAtMi40LDAgLTQuMiwwLjYgLTUuNSwxLjkgLTEuMywxLjMgLTEuOSwzLjIgLTEuOSw1LjcgdiA0OS43IGMgMCwyLjQgMC42LDQuMiAxLjksNS41IDEuMywxLjMgMy4xLDEuOSA1LjUsMS45IGggNTcuMyB2IC0yMy4xIGggLTQ5IFYgMjUwLjMgSCA4NTYgYyAxLjMsMCAyLjUsMC4yIDMuNywwLjcgMS4xLDAuNSAyLjEsMS4yIDIuOSwyIDAuOCwwLjggMS41LDEuOCAxLjksMi45IDAuNSwxLjEgMC43LDIuMyAwLjcsMy42IHoiCiAgIGNsYXNzPSJzdDAiCiAgIHN0eWxlPSJmaWxsOiM0MDZhYmY7ZmlsbC1vcGFjaXR5OjEiIC8+Cgk8cGF0aAogICBpZD0icGF0aDIzMzUiCiAgIGQ9Ik0gOTg0LjEsMzEwLjQgSCA5NjUuNyBWIDI4NS41IEggOTAxIHYgMjQuOSBoIC0xOC40IHYgLTUwLjggYyAwLC03LjQgMS4zLC0xNC4yIDMuOCwtMjAuNSAyLjUsLTYuMyA2LjEsLTExLjYgMTAuNiwtMTYuMSA0LjUsLTQuNSA5LjksLTggMTYuMSwtMTAuNSA2LjIsLTIuNSAxMi45LC0zLjggMjAuMiwtMy44IGggNDEuNSBjIDEuMywwIDIuNSwwLjIgMy42LDAuNyAxLjEsMC41IDIuMSwxLjEgMywyIDAuOSwwLjkgMS41LDEuOCAyLDMgMC41LDEuMSAwLjcsMi4zIDAuNywzLjYgeiBtIC04My4yLC00My4zIGggNjQuNyB2IC0zOS44IGggLTMyLjQgYyAtMC42LDAgLTEuOCwwLjEgLTMuNiwwLjIgLTEuOCwwLjIgLTMuOSwwLjYgLTYuMywxLjIgLTIuNCwwLjcgLTQuOSwxLjcgLTcuNSwzIC0yLjYsMS40IC01LjEsMy4zIC03LjMsNS43IC0yLjIsMi40IC00LDUuNCAtNS41LDkgLTEuNCwzLjYgLTIuMiw4IC0yLjIsMTMuMSB2IDcuNiB6IgogICBjbGFzcz0ic3QwIgogICBzdHlsZT0iZmlsbDojNDA2YWJmO2ZpbGwtb3BhY2l0eToxIiAvPgoJPHBhdGgKICAgaWQ9InBhdGgyMzM3IgogICBkPSJtIDEwOTcuMiwyMjcuMyBoIC00MC42IHYgODMuMSBoIC0xOC40IHYgLTgzLjEgaCAtNDAuNiB2IC0xOC40IGggOTkuNiB6IgogICBjbGFzcz0ic3QwIgogICBzdHlsZT0iZmlsbDojNDA2YWJmO2ZpbGwtb3BhY2l0eToxIiAvPgoJPHBhdGgKICAgaWQ9InBhdGgyMzM5IgogICBkPSJtIDEyMDIuNSwzMTAuNCBoIC02Ni40IGMgLTIuNSwwIC01LjMsLTAuNCAtOC40LC0xLjMgLTMsLTAuOSAtNS44LC0yLjQgLTguNCwtNC40IC0yLjYsLTIuMSAtNC43LC00LjcgLTYuNCwtOCAtMS43LC0zLjMgLTIuNiwtNy4zIC0yLjYsLTEyLjEgdiAtNjYuNCBjIDAsLTEuMyAwLjIsLTIuNSAwLjcsLTMuNiAwLjUsLTEuMSAxLjEsLTIuMSAxLjksLTMgMC44LC0wLjggMS44LC0xLjUgMi45LC0yIDEuMSwtMC41IDIuNCwtMC43IDMuNywtMC43IGggODIuOSB2IDE4LjQgaCAtNzMuOCB2IDU3LjMgYyAwLDIuNCAwLjYsNC4yIDEuOSw1LjUgMS4zLDEuMyAzLjEsMS45IDUuNiwxLjkgaCA2Ni4zIHYgMTguNCB6IG0gLTguMywtNDEuNSBoIC01OC4xIHYgLTE4LjUgaCA1OC4xIHoiCiAgIGNsYXNzPSJzdDAiCiAgIHN0eWxlPSJmaWxsOiM0MDZhYmY7ZmlsbC1vcGFjaXR5OjEiIC8+CjwvZz48cG9seWdvbgogICAgICAgaWQ9InBvbHlnb24yMzQzIgogICAgICAgcG9pbnRzPSI4ODguNSwzNTguMiA4ODguNSwzNTUuMiA0OTcuNiwzNTUuMiA0OTcuNiwzNTUuMyAyOTYuNywzNTUuMyAyNjMuNiwzODguMyA1MS42LDM4OC4zIDE3LjIsMzUzLjkgMTcuMiwyNjkuOCA1LjIsMjY5LjggNS4yLDM1OC44IDQ2LjcsNDAwLjMgMjY4LjYsNDAwLjMgMzAxLjcsMzY3LjMgNDk3LjcsMzY3LjMgNDk3LjcsMzU4LjIgIgogICAgICAgY2xhc3M9InN0MCIKICAgICAgIHN0eWxlPSJmaWxsOiM0MDZhYmY7ZmlsbC1vcGFjaXR5OjEiIC8+PHBvbHlnb24KICAgICAgIGlkPSJwb2x5Z29uMjM0NSIKICAgICAgIHBvaW50cz0iNzA4LjYsNDAuMyA4NzYuNSw0MC4zIDkwNC4yLDExLjUgMTA4MS40LDExLjUgMTExMC4yLDQxLjUgMTExMC4yLDExNC43IDExMjAuMiwxMTQuNyAxMTIwLjIsMzcuMSAxMDg1LjYsMSA5MDAsMSA4NzIuNCwyOS44IDcwOC41LDI5LjggNzA4LjUsMzcuNyAzODEuOCwzNy43IDM4MS44LDQwLjMgIgogICAgICAgY2xhc3M9InN0MCIKICAgICAgIHN0eWxlPSJmaWxsOiM0MDZhYmY7ZmlsbC1vcGFjaXR5OjEiIC8+PC9nPjwvZz48ZwogICB0cmFuc2Zvcm09InRyYW5zbGF0ZSgyMy41Mzc5ODEsMjcuNzM3OTgxKSIKICAgc29kaXBvZGk6aW5zZW5zaXRpdmU9InRydWUiCiAgIGlua3NjYXBlOmdyb3VwbW9kZT0ibGF5ZXIiCiAgIGlkPSJnMTg5OSIKICAgaW5rc2NhcGU6bGFiZWw9IlRleHQiCiAgIHN0eWxlPSJkaXNwbGF5OmlubGluZSI+PGcKICAgICBzdHlsZT0ibWl4LWJsZW5kLW1vZGU6bm9ybWFsO2ZpbGw6I2ZmZmZmZjtmaWxsLW9wYWNpdHk6MSIKICAgICBpZD0iZzE4OTciPjxnCiAgICAgICBzdHlsZT0iZmlsbDojZmZmZmZmO2ZpbGwtb3BhY2l0eToxIgogICAgICAgaWQ9ImcxODkxIj4KCTxwYXRoCiAgIHN0eWxlPSJmaWxsOiNmZmZmZmY7ZmlsbC1vcGFjaXR5OjEiCiAgIGNsYXNzPSJzdDAiCiAgIGQ9Im0gMzUyLDEyOC43IGMgMCwxLjUgLTAuMywzLjEgLTAuOCw0LjggLTAuNSwxLjcgLTEuNCwzLjMgLTIuNSw0LjggLTEuMiwxLjUgLTIuNywyLjcgLTQuNiwzLjcgLTEuOSwxIC00LjIsMS41IC02LjksMS41IEggMjkxIGMgLTAuOSwwIC0xLjcsLTAuMiAtMi40LC0wLjUgLTAuOCwtMC4zIC0xLjQsLTAuNyAtMS45LC0xLjMgLTAuNSwtMC41IC0xLC0xLjIgLTEuMywtMS45IC0wLjMsLTAuOCAtMC41LC0xLjYgLTAuNSwtMi40IFYgODIuMyBjIDAsLTAuOCAwLjIsLTEuNiAwLjUsLTIuNCAwLjMsLTAuOCAwLjcsLTEuNCAxLjMsLTIgMC41LC0wLjYgMS4yLC0xIDEuOSwtMS4zIDAuOCwtMC4zIDEuNiwtMC41IDIuNCwtMC41IGggNDAuOCBjIDEuNSwwIDMuMSwwLjMgNC44LDAuOCAxLjcsMC41IDMuMywxLjQgNC44LDIuNiAxLjUsMS4yIDIuNywyLjcgMy43LDQuNiAxLDEuOSAxLjUsNC4yIDEuNSw2LjkgdiAyLjMgYyAwLDIuMiAtMC40LDQuNSAtMS4xLDcgLTAuNywyLjUgLTEuOSw0LjggLTMuNSw3LjEgMS40LDAuOCAyLjcsMS45IDMuOSwzIDEuMiwxLjIgMi4zLDIuNiAzLjIsNC4xIDAuOSwxLjYgMS42LDMuMyAyLjIsNS4zIDAuNSwyIDAuOCw0LjEgMC44LDYuNSB2IDIuNCB6IG0gLTEyLjIsLTIuNCBjIDAsLTEuNiAtMC4zLC0zIC0wLjgsLTQuMyAtMC41LC0xLjMgLTEuMiwtMi40IC0yLjEsLTMuMyAtMC45LC0wLjkgLTIsLTEuNiAtMy4zLC0yLjEgLTEuMywtMC41IC0yLjcsLTAuNyAtNC4zLC0wLjcgaCAtMjcuNSB2IC0xMi4zIGggMjIgYyAxLjYsMCAzLC0wLjIgNC4zLC0wLjcgMS4zLC0wLjUgMi40LC0xLjIgMy4zLC0yLjEgMC45LC0wLjkgMS42LC0yIDIuMSwtMy4zIDAuNSwtMS4zIDAuNywtMi43IDAuNywtNC4zIFYgOTEgYyAwLC0xLjggLTAuOCwtMi42IC0yLjUsLTIuNiBIIDI5NyB2IDQyLjggaCA0MC4yIGMgMC4yLDAgMC41LDAgMC44LDAgMC4zLDAgMC42LC0wLjEgMC44LC0wLjMgMC4yLC0wLjIgMC41LC0wLjQgMC43LC0wLjggMC4yLC0wLjQgMC4zLC0wLjkgMC4zLC0xLjUgeiIKICAgaWQ9InBhdGgxODUzIiAvPgoJPHBhdGgKICAgc3R5bGU9ImZpbGw6I2ZmZmZmZjtmaWxsLW9wYWNpdHk6MSIKICAgY2xhc3M9InN0MCIKICAgZD0ibSA0MjMuMywxNDMuNCBoIC00NCBjIC0xLjcsMCAtMy41LC0wLjMgLTUuNSwtMC45IC0yLC0wLjYgLTMuOSwtMS42IC01LjYsLTIuOSAtMS43LC0xLjQgLTMuMSwtMy4xIC00LjMsLTUuMyAtMS4xLC0yLjIgLTEuNywtNC44IC0xLjcsLTggdiAtNDQgYyAwLC0wLjggMC4yLC0xLjYgMC41LC0yLjQgMC4zLC0wLjggMC43LC0xLjQgMS4zLC0yIDAuNSwtMC42IDEuMiwtMSAxLjksLTEuMyAwLjgsLTAuMyAxLjYsLTAuNSAyLjQsLTAuNSBoIDU0LjkgdiAxMi4yIGggLTQ4LjggdiAzNy45IGMgMCwxLjYgMC40LDIuOCAxLjMsMy43IDAuOSwwLjkgMi4xLDEuMyAzLjcsMS4zIGggNDMuOSB6IG0gLTUuNSwtMjcuNSBoIC0zOC41IHYgLTEyLjMgaCAzOC41IHoiCiAgIGlkPSJwYXRoMTg1NSIgLz4KCTxwYXRoCiAgIHN0eWxlPSJmaWxsOiNmZmZmZmY7ZmlsbC1vcGFjaXR5OjEiCiAgIGNsYXNzPSJzdDAiCiAgIGQ9Im0gNDk5LjEsOTguNyBjIDAsMi44IC0wLjQsNS4zIC0xLjEsNy41IC0wLjcsMi4yIC0xLjYsNC4xIC0yLjgsNS44IC0xLjIsMS43IC0yLjUsMy4xIC00LjEsNC4zIC0xLjUsMS4yIC0zLjEsMi4yIC00LjgsMi45IC0xLjcsMC44IC0zLjMsMS4zIC01LDEuNyAtMS43LDAuMyAtMy4zLDAuNSAtNC44LDAuNSBoIC00LjkgdiAyMi4xIGggLTEyLjMgdiAtMjIuMSBoIC00LjkgYyAtMS41LDAgLTMuMSwtMC4yIC00LjgsLTAuNSAtMS43LC0wLjMgLTMuNCwtMC45IC01LjEsLTEuNyAtMS43LC0wLjggLTMuMywtMS43IC00LjgsLTIuOSAtMS41LC0xLjIgLTIuOSwtMi42IC00LjEsLTQuMyAtMS4yLC0xLjcgLTIuMSwtMy42IC0yLjgsLTUuOCAtMC43LC0yLjIgLTEuMSwtNC43IC0xLjEsLTcuNCBWIDc2LjIgaCAxMi4yIHYgMjIuNSBjIDAsMS42IDAuMiwzIDAuOCw0LjMgMC41LDEuMyAxLjIsMi40IDIuMSwzLjMgMC45LDAuOSAyLDEuNiAzLjMsMi4xIDEuMywwLjUgMi43LDAuNyA0LjMsMC43IGggMjIgYyAxLjIsLTAuMiAyLjMsLTAuNCAzLjYsLTAuNyAxLjIsLTAuMyAyLjMsLTAuOCAzLjMsLTEuNSAxLC0wLjcgMS44LC0xLjcgMi41LC0zIDAuNywtMS4zIDEsLTMgMSwtNS4xIFYgNzYuMiBIIDQ5OSB2IDIyLjUgeiIKICAgaWQ9InBhdGgxODU3IiAvPgoJPHBhdGgKICAgc3R5bGU9ImZpbGw6I2ZmZmZmZjtmaWxsLW9wYWNpdHk6MSIKICAgY2xhc3M9InN0MCIKICAgZD0ibSA1ODAuNiwxMTYuMiBjIDAsNC4xIC0wLjcsNy45IC0yLjEsMTEuMyAtMS40LDMuNCAtMy40LDYuNCAtNS45LDguOSAtMi41LDIuNSAtNS41LDQuNCAtOC45LDUuOCAtMy40LDEuNCAtNy4xLDIuMSAtMTEuMiwyLjEgSCA1MzYgYyAtNCwwIC03LjgsLTAuNyAtMTEuMiwtMi4xIC0zLjQsLTEuNCAtNi40LC0zLjMgLTguOSwtNS44IC0yLjUsLTIuNSAtNC41LC01LjUgLTUuOSwtOC45IC0xLjQsLTMuNCAtMi4xLC03LjIgLTIuMSwtMTEuMyB2IC0xMi44IGMgMCwtNC4xIDAuNywtNy44IDIuMSwtMTEuMyAxLjQsLTMuNSAzLjQsLTYuNCA1LjksLTguOSAyLjUsLTIuNSA1LjUsLTQuNCA4LjksLTUuOCAzLjQsLTEuNCA3LjIsLTIuMSAxMS4yLC0yLjEgaCAxNi41IGMgNCwwIDcuOCwwLjcgMTEuMiwyLjEgMy40LDEuNCA2LjQsMy40IDguOSw1LjggMi41LDIuNCA0LjUsNS41IDUuOSw4LjkgMS40LDMuNSAyLjEsNy4yIDIuMSwxMS4zIHogbSAtMTIuMSwtMTIuOCBjIDAsLTIuNCAtMC40LC00LjYgLTEuMSwtNi41IC0wLjgsLTIgLTEuOCwtMy42IC0zLjIsLTUgLTEuNCwtMS40IC0zLjEsLTIuNSAtNSwtMy4yIC0yLC0wLjggLTQuMSwtMS4xIC02LjQsLTEuMSBoIC0xNi41IGMgLTIuNCwwIC00LjUsMC40IC02LjUsMS4xIC0yLDAuOCAtMy42LDEuOCAtNSwzLjIgLTEuNCwxLjQgLTIuNSwzLjEgLTMuMyw1IC0wLjgsMiAtMS4xLDQuMSAtMS4xLDYuNSB2IDEyLjggYyAwLDIuNCAwLjQsNC42IDEuMSw2LjUgMC44LDIgMS45LDMuNiAzLjMsNSAxLjQsMS40IDMuMSwyLjUgNSwzLjIgMiwwLjggNC4xLDEuMSA2LjUsMS4xIGggMTYuNCBjIDIuNCwwIDQuNSwtMC40IDYuNSwtMS4xIDIsLTAuOCAzLjYsLTEuOCA1LC0zLjIgMS40LC0xLjQgMi41LC0zLjEgMy4zLC01IDAuOCwtMiAxLjEsLTQuMSAxLjEsLTYuNSB2IC0xMi44IHoiCiAgIGlkPSJwYXRoMTg1OSIgLz4KCTxwYXRoCiAgIHN0eWxlPSJmaWxsOiNmZmZmZmY7ZmlsbC1vcGFjaXR5OjEiCiAgIGNsYXNzPSJzdDAiCiAgIGQ9Im0gNjU5LjksMTM4LjIgYyAwLDAuOSAtMC4yLDEuNyAtMC41LDIuNCAtMC4zLDAuNyAtMC44LDEuNCAtMS4zLDEuOSAtMC41LDAuNSAtMS4yLDEgLTEuOSwxLjMgLTAuOCwwLjMgLTEuNSwwLjUgLTIuNCwwLjUgLTAuOCwwIC0xLjUsLTAuMSAtMi4zLC0wLjQgLTAuOCwtMC4zIC0xLjQsLTAuNyAtMiwtMS40IEwgNjA1LDk2IHYgNDcuMyBoIC0xMi4yIHYgLTYyIGMgMCwtMS4yIDAuNCwtMi40IDEuMSwtMy40IDAuNywtMSAxLjYsLTEuOCAyLjcsLTIuMyAxLjIsLTAuNSAyLjMsLTAuNiAzLjYsLTAuNCAxLjMsMC4yIDIuMywwLjggMy4xLDEuNyBsIDQ0LjUsNDYuNSBWIDc2LjIgSCA2NjAgdiA2MiB6IgogICBpZD0icGF0aDE4NjEiIC8+Cgk8cGF0aAogICBzdHlsZT0iZmlsbDojZmZmZmZmO2ZpbGwtb3BhY2l0eToxIgogICBjbGFzcz0ic3QwIgogICBkPSJtIDc0MS4xLDExNS4zIGMgMCw0LjEgLTAuNyw3LjkgLTIuMSwxMS4zIC0xLjQsMy40IC0zLjQsNi40IC01LjksOC45IC0yLjUsMi41IC01LjUsNC40IC04LjksNS44IC0zLjQsMS40IC03LjIsMi4xIC0xMS4yLDIuMSBoIC0zMi45IGMgLTAuOSwwIC0xLjcsLTAuMiAtMi40LC0wLjUgLTAuOCwtMC4zIC0xLjQsLTAuNyAtMS45LC0xLjMgLTAuNSwtMC41IC0xLC0xLjIgLTEuMywtMS45IC0wLjMsLTAuNyAtMC41LC0xLjYgLTAuNSwtMi40IHYgLTU1IGMgMCwtMC44IDAuMiwtMS42IDAuNSwtMi40IDAuMywtMC44IDAuNywtMS40IDEuMywtMiAwLjYsLTAuNiAxLjIsLTEgMS45LC0xLjMgMC44LC0wLjMgMS42LC0wLjUgMi40LC0wLjUgSCA3MTMgYyA0LDAgNy44LDAuNyAxMS4yLDIuMSAzLjQsMS40IDYuNCwzLjQgOC45LDUuOCAyLjUsMi40IDQuNSw1LjUgNS45LDguOSAxLjQsMy41IDIuMSw3LjIgMi4xLDExLjMgeiBtIC0xMi4yLC0xMSBjIDAsLTIuNCAtMC40LC00LjUgLTEuMSwtNi41IC0wLjcsLTIgLTEuOSwtMy42IC0zLjMsLTUgLTEuNCwtMS40IC0zLjEsLTIuNSAtNSwtMy4yIC0yLC0wLjggLTQuMSwtMS4xIC02LjUsLTEuMSBoIC0yNi45IHYgNDIuOCBIIDcxMyBjIDIuNCwwIDQuNSwtMC40IDYuNSwtMS4xIDIsLTAuOCAzLjYsLTEuOCA1LC0zLjIgMS40LC0xLjQgMi41LC0zLjEgMy4zLC01IDAuOCwtMiAxLjEsLTQuMSAxLjEsLTYuNSB6IgogICBpZD0icGF0aDE4NjMiIC8+Cgk8cGF0aAogICBzdHlsZT0iZmlsbDojZmZmZmZmO2ZpbGwtb3BhY2l0eToxIgogICBjbGFzcz0ic3QwIgogICBkPSJtIDg0NCw4OC40IGggLTI2LjkgdiA1NSBoIC0xMi4yIHYgLTU1IEggNzc4IFYgNzYuMiBoIDY2IHoiCiAgIGlkPSJwYXRoMTg2NSIgLz4KCTxwYXRoCiAgIHN0eWxlPSJmaWxsOiNmZmZmZmY7ZmlsbC1vcGFjaXR5OjEiCiAgIGNsYXNzPSJzdDAiCiAgIGQ9Ik0gODY1LjIsMTAzLjcgSCA5MDggViA3Ni4yIGggMTIuMiB2IDY3LjIgSCA5MDggdiAtMjcuNSBoIC00Mi44IHYgMjcuNSBIIDg1MyBWIDc2LjIgaCAxMi4yIHoiCiAgIGlkPSJwYXRoMTg2NyIgLz4KCTxwYXRoCiAgIHN0eWxlPSJmaWxsOiNmZmZmZmY7ZmlsbC1vcGFjaXR5OjEiCiAgIGNsYXNzPSJzdDAiCiAgIGQ9Im0gOTk1LjIsMTQzLjQgaCAtNDQgYyAtMS43LDAgLTMuNSwtMC4zIC01LjUsLTAuOSAtMiwtMC42IC0zLjksLTEuNiAtNS42LC0yLjkgLTEuNywtMS4zIC0zLjEsLTMuMSAtNC4zLC01LjMgLTEuMSwtMi4yIC0xLjcsLTQuOCAtMS43LC04IHYgLTQ0IGMgMCwtMC44IDAuMiwtMS42IDAuNSwtMi40IDAuMywtMC44IDAuNywtMS40IDEuMywtMiAwLjYsLTAuNiAxLjIsLTEgMS45LC0xLjMgMC44LC0wLjMgMS42LC0wLjUgMi40LC0wLjUgaCA1NC45IHYgMTIuMiBoIC00OC44IHYgMzcuOSBjIDAsMS42IDAuNCwyLjggMS4zLDMuNyAwLjksMC45IDIuMSwxLjMgMy43LDEuMyBoIDQzLjkgeiBtIC01LjUsLTI3LjUgaCAtMzguNSB2IC0xMi4zIGggMzguNSB6IgogICBpZD0icGF0aDE4NjkiIC8+Cgk8cGF0aAogICBzdHlsZT0iZmlsbDojZmZmZmZmO2ZpbGwtb3BhY2l0eToxIgogICBjbGFzcz0ic3QwIgogICBkPSJtIDE2OS44LDMxMC40IGggLTY2LjQgYyAtMS43LDAgLTMuNSwtMC4yIC01LjUsLTAuNiAtMiwtMC40IC0zLjksLTEgLTUuOCwtMS45IC0xLjksLTAuOCAtMy43LC0xLjkgLTUuNSwtMy4zIC0xLjcsLTEuMyAtMy4zLC0zIC00LjYsLTQuOSAtMS4zLC0xLjkgLTIuNCwtNC4xIC0zLjIsLTYuNyAtMC44LC0yLjUgLTEuMiwtNS40IC0xLjIsLTguNSB2IC00OS44IGMgMCwtMS43IDAuMiwtMy41IDAuNiwtNS41IDAuNCwtMiAxLC0zLjkgMS45LC01LjggMC44LC0xLjkgMiwtMy43IDMuMywtNS41IDEuNCwtMS43IDMsLTMuMyA0LjksLTQuNiAxLjksLTEuMyA0LjEsLTIuNCA2LjYsLTMuMiAyLjUsLTAuOCA1LjMsLTEuMiA4LjUsLTEuMiBoIDY2LjQgdiAxOC40IGggLTY2LjQgYyAtMi40LDAgLTQuMiwwLjYgLTUuNSwxLjkgLTEuMywxLjMgLTEuOSwzLjIgLTEuOSw1LjcgdiA0OS43IGMgMCwyLjQgMC42LDQuMiAxLjksNS41IDEuMywxLjMgMy4xLDEuOSA1LjUsMS45IGggNjYuNCB6IgogICBpZD0icGF0aDE4NzEiIC8+Cgk8cGF0aAogICBzdHlsZT0iZmlsbDojZmZmZmZmO2ZpbGwtb3BhY2l0eToxIgogICBjbGFzcz0ic3QwIgogICBkPSJtIDIwNS43LDI1MC40IGggNjQuNiB2IC00MS41IGggMTguNCB2IDEwMS41IGggLTE4LjQgdiAtNDEuNSBoIC02NC42IHYgNDEuNSBIIDE4Ny4zIFYgMjA4LjkgaCAxOC40IHoiCiAgIGlkPSJwYXRoMTg3MyIgLz4KCTxwYXRoCiAgIHN0eWxlPSJmaWxsOiNmZmZmZmY7ZmlsbC1vcGFjaXR5OjEiCiAgIGNsYXNzPSJzdDAiCiAgIGQ9Ik0gMzI4LjksMzEwLjQgSCAzMTAuNSBWIDIwOC45IGggMTguNCB6IgogICBpZD0icGF0aDE4NzUiIC8+Cgk8cGF0aAogICBzdHlsZT0iZmlsbDojZmZmZmZmO2ZpbGwtb3BhY2l0eToxIgogICBjbGFzcz0ic3QwIgogICBkPSJtIDQ1MS44LDI0MyBjIDAsNC4yIC0wLjUsOCAtMS42LDExLjMgLTEsMy4zIC0yLjQsNi4yIC00LjIsOC43IC0xLjgsMi41IC0zLjgsNC43IC02LjEsNi41IC0yLjMsMS44IC00LjcsMy4zIC03LjMsNC40IC0yLjUsMS4yIC01LjEsMiAtNy42LDIuNSAtMi42LDAuNSAtNSwwLjggLTcuMywwLjggbCAzOC40LDMzLjIgSCA0MjcuNiBMIDM4OS4yLDI3Ny4yIEggMzc2IHYgLTE4LjQgaCA0MS42IGMgMi4zLC0wLjIgNC40LC0wLjcgNi4zLC0xLjUgMS45LC0wLjggMy42LC0xLjggNSwtMy4yIDEuNCwtMS4zIDIuNSwtMi45IDMuMiwtNC44IDAuOCwtMS45IDEuMSwtNCAxLjEsLTYuNCB2IC0xMS42IGMgMCwtMSAtMC4xLC0xLjggLTAuNCwtMi40IC0wLjMsLTAuNSAtMC42LC0wLjkgLTEsLTEuMiAtMC40LC0wLjMgLTAuOCwtMC40IC0xLjMsLTAuNSAtMC40LDAgLTAuOSwtMC4xIC0xLjIsLTAuMSBoIC02MC43IHYgODMuMSBoIC0xOC40IHYgLTkyLjMgYyAwLC0xLjMgMC4yLC0yLjUgMC43LC0zLjYgMC41LC0xLjEgMS4xLC0yLjEgMS45LC0zIDAuOCwtMC44IDEuOCwtMS41IDIuOSwtMiAxLjEsLTAuNSAyLjQsLTAuNyAzLjcsLTAuNyBoIDY5LjkgYyA0LjEsMCA3LjYsMC43IDEwLjQsMi4yIDIuOCwxLjUgNS4xLDMuNCA2LjksNS42IDEuOCwyLjIgMyw0LjcgMy44LDcuMyAwLjgsMi42IDEuMiw1IDEuMiw3LjMgdiAxMiB6IgogICBpZD0icGF0aDE4NzciIC8+Cgk8cGF0aAogICBzdHlsZT0iZmlsbDojZmZmZmZmO2ZpbGwtb3BhY2l0eToxIgogICBjbGFzcz0ic3QwIgogICBkPSJtIDU3Ni45LDI2OS40IGMgMCw2LjIgLTEuMSwxMS45IC0zLjIsMTcuMSAtMi4xLDUuMiAtNS4xLDkuNyAtOC45LDEzLjUgLTMuOCwzLjggLTguMiw2LjcgLTEzLjQsOC44IC01LjIsMi4xIC0xMC44LDMuMiAtMTYuOSwzLjIgaCAtMjQuOSBjIC02LjEsMCAtMTEuNywtMS4xIC0xNi45LC0zLjIgLTUuMiwtMi4xIC05LjcsLTUgLTEzLjUsLTguOCAtMy44LC0zLjggLTYuNywtOC4zIC04LjksLTEzLjUgLTIuMSwtNS4yIC0zLjIsLTEwLjkgLTMuMiwtMTcuMSBWIDI1MCBjIDAsLTYuMSAxLjEsLTExLjggMy4yLC0xNyAyLjEsLTUuMiA1LjEsLTkuNyA4LjksLTEzLjUgMy44LC0zLjggOC4zLC02LjcgMTMuNSwtOC44IDUuMiwtMi4xIDEwLjgsLTMuMiAxNi45LC0zLjIgaCAyNC45IGMgNi4xLDAgMTEuNywxLjEgMTYuOSwzLjIgNS4yLDIuMSA5LjYsNS4xIDEzLjQsOC44IDMuOCwzLjggNi43LDguMiA4LjksMTMuNSAyLjEsNS4yIDMuMiwxMC45IDMuMiwxNyB6IE0gNTU4LjUsMjUwIGMgMCwtMy42IC0wLjYsLTYuOSAtMS43LC05LjkgLTEuMiwtMi45IC0yLjgsLTUuNSAtNC45LC03LjYgLTIuMSwtMi4xIC00LjYsLTMuNyAtNy42LC00LjkgLTMsLTEuMiAtNi4yLC0xLjcgLTkuNywtMS43IGggLTI0LjkgYyAtMy42LDAgLTYuOSwwLjYgLTkuOCwxLjcgLTMsMS4yIC01LjUsMi44IC03LjYsNC45IC0yLjEsMi4xIC0zLjgsNC42IC00LjksNy42IC0xLjIsMyAtMS43LDYuMiAtMS43LDkuOSB2IDE5LjQgYyAwLDMuNiAwLjYsNi45IDEuNyw5LjkgMS4yLDMgMi44LDUuNSA0LjksNy42IDIuMSwyLjEgNC43LDMuNyA3LjYsNC45IDIuOSwxLjIgNi4yLDEuNyA5LjgsMS43IGggMjQuOCBjIDMuNiwwIDYuOSwtMC42IDkuOCwtMS43IDIuOSwtMS4yIDUuNSwtMi44IDcuNiwtNC45IDIuMSwtMi4xIDMuOCwtNC42IDQuOSwtNy42IDEuMiwtMi45IDEuNywtNi4yIDEuNywtOS45IFYgMjUwIFoiCiAgIGlkPSJwYXRoMTg3OSIgLz4KCTxwYXRoCiAgIHN0eWxlPSJmaWxsOiNmZmZmZmY7ZmlsbC1vcGFjaXR5OjEiCiAgIGNsYXNzPSJzdDAiCiAgIGQ9Im0gNjk2LjUsMzAyLjYgYyAwLDEuMyAtMC4yLDIuNSAtMC43LDMuNyAtMC41LDEuMSAtMS4yLDIuMSAtMiwyLjkgLTAuOCwwLjggLTEuOCwxLjUgLTIuOSwxLjkgLTEuMSwwLjUgLTIuMywwLjcgLTMuNiwwLjcgLTEuMSwwIC0yLjMsLTAuMiAtMy40LC0wLjYgLTEuMiwtMC40IC0yLjIsLTEuMSAtMy4xLC0yLjEgbCAtNjcuMywtNzAuMiB2IDcxLjUgaCAtMTguNCB2IC05My43IGMgMCwtMS45IDAuNSwtMy42IDEuNiwtNS4xIDEuMSwtMS41IDIuNCwtMi43IDQuMSwtMy40IDEuNywtMC43IDMuNSwtMC45IDUuNCwtMC41IDEuOCwwLjQgMy40LDEuMiA0LjcsMi42IGwgNjcuMyw3MC4yIFYgMjA5IGggMTguNCB2IDkzLjYgeiIKICAgaWQ9InBhdGgxODgxIiAvPgoJPHBhdGgKICAgc3R5bGU9ImZpbGw6I2ZmZmZmZjtmaWxsLW9wYWNpdHk6MSIKICAgY2xhc3M9InN0MCIKICAgZD0ibSA4NjUuMiwzMDEuMSBjIDAsMS4zIC0wLjIsMi41IC0wLjcsMy43IC0wLjUsMS4xIC0xLjEsMi4xIC0xLjksMi45IC0wLjgsMC44IC0xLjgsMS41IC0yLjksMS45IC0xLjEsMC41IC0yLjQsMC43IC0zLjcsMC43IGggLTY2LjQgYyAtMS43LDAgLTMuNSwtMC4yIC01LjUsLTAuNiAtMiwtMC40IC0zLjksLTEgLTUuOCwtMS45IC0xLjksLTAuOCAtMy43LC0xLjkgLTUuNSwtMy4zIC0xLjcsLTEuMyAtMy4zLC0zIC00LjYsLTQuOSAtMS4zLC0xLjkgLTIuNCwtNC4xIC0zLjIsLTYuNyAtMC44LC0yLjUgLTEuMiwtNS40IC0xLjIsLTguNSB2IC00OS44IGMgMCwtMS43IDAuMiwtMy41IDAuNiwtNS41IDAuNCwtMiAxLC0zLjkgMS45LC01LjggMC44LC0xLjkgMiwtMy43IDMuMywtNS41IDEuNCwtMS43IDMsLTMuMyA0LjksLTQuNiAxLjksLTEuMyA0LjEsLTIuNCA2LjYsLTMuMiAyLjUsLTAuOCA1LjMsLTEuMiA4LjUsLTEuMiBoIDc0LjggdiAxOC40IGggLTc0LjggYyAtMi40LDAgLTQuMiwwLjYgLTUuNSwxLjkgLTEuMywxLjMgLTEuOSwzLjIgLTEuOSw1LjcgdiA0OS43IGMgMCwyLjQgMC42LDQuMiAxLjksNS41IDEuMywxLjMgMy4xLDEuOSA1LjUsMS45IGggNTcuMyB2IC0yMy4xIGggLTQ5IFYgMjUwLjMgSCA4NTYgYyAxLjMsMCAyLjUsMC4yIDMuNywwLjcgMS4xLDAuNSAyLjEsMS4yIDIuOSwyIDAuOCwwLjggMS41LDEuOCAxLjksMi45IDAuNSwxLjEgMC43LDIuMyAwLjcsMy42IHoiCiAgIGlkPSJwYXRoMTg4MyIgLz4KCTxwYXRoCiAgIHN0eWxlPSJmaWxsOiNmZmZmZmY7ZmlsbC1vcGFjaXR5OjEiCiAgIGNsYXNzPSJzdDAiCiAgIGQ9Ik0gOTg0LjEsMzEwLjQgSCA5NjUuNyBWIDI4NS41IEggOTAxIHYgMjQuOSBoIC0xOC40IHYgLTUwLjggYyAwLC03LjQgMS4zLC0xNC4yIDMuOCwtMjAuNSAyLjUsLTYuMyA2LjEsLTExLjYgMTAuNiwtMTYuMSA0LjUsLTQuNSA5LjksLTggMTYuMSwtMTAuNSA2LjIsLTIuNSAxMi45LC0zLjggMjAuMiwtMy44IGggNDEuNSBjIDEuMywwIDIuNSwwLjIgMy42LDAuNyAxLjEsMC41IDIuMSwxLjEgMywyIDAuOSwwLjkgMS41LDEuOCAyLDMgMC41LDEuMSAwLjcsMi4zIDAuNywzLjYgeiBtIC04My4yLC00My4zIGggNjQuNyB2IC0zOS44IGggLTMyLjQgYyAtMC42LDAgLTEuOCwwLjEgLTMuNiwwLjIgLTEuOCwwLjIgLTMuOSwwLjYgLTYuMywxLjIgLTIuNCwwLjcgLTQuOSwxLjcgLTcuNSwzIC0yLjYsMS40IC01LjEsMy4zIC03LjMsNS43IC0yLjIsMi40IC00LDUuNCAtNS41LDkgLTEuNCwzLjYgLTIuMiw4IC0yLjIsMTMuMSB2IDcuNiB6IgogICBpZD0icGF0aDE4ODUiIC8+Cgk8cGF0aAogICBzdHlsZT0iZmlsbDojZmZmZmZmO2ZpbGwtb3BhY2l0eToxIgogICBjbGFzcz0ic3QwIgogICBkPSJtIDEwOTcuMiwyMjcuMyBoIC00MC42IHYgODMuMSBoIC0xOC40IHYgLTgzLjEgaCAtNDAuNiB2IC0xOC40IGggOTkuNiB6IgogICBpZD0icGF0aDE4ODciIC8+Cgk8cGF0aAogICBzdHlsZT0iZmlsbDojZmZmZmZmO2ZpbGwtb3BhY2l0eToxIgogICBjbGFzcz0ic3QwIgogICBkPSJtIDEyMDIuNSwzMTAuNCBoIC02Ni40IGMgLTIuNSwwIC01LjMsLTAuNCAtOC40LC0xLjMgLTMsLTAuOSAtNS44LC0yLjQgLTguNCwtNC40IC0yLjYsLTIuMSAtNC43LC00LjcgLTYuNCwtOCAtMS43LC0zLjMgLTIuNiwtNy4zIC0yLjYsLTEyLjEgdiAtNjYuNCBjIDAsLTEuMyAwLjIsLTIuNSAwLjcsLTMuNiAwLjUsLTEuMSAxLjEsLTIuMSAxLjksLTMgMC44LC0wLjggMS44LC0xLjUgMi45LC0yIDEuMSwtMC41IDIuNCwtMC43IDMuNywtMC43IGggODIuOSB2IDE4LjQgaCAtNzMuOCB2IDU3LjMgYyAwLDIuNCAwLjYsNC4yIDEuOSw1LjUgMS4zLDEuMyAzLjEsMS45IDUuNiwxLjkgaCA2Ni4zIHYgMTguNCB6IG0gLTguMywtNDEuNSBoIC01OC4xIHYgLTE4LjUgaCA1OC4xIHoiCiAgIGlkPSJwYXRoMTg4OSIgLz4KPC9nPjxwb2x5Z29uCiAgICAgICBzdHlsZT0iZmlsbDojZmZmZmZmO2ZpbGwtb3BhY2l0eToxIgogICAgICAgY2xhc3M9InN0MCIKICAgICAgIHBvaW50cz0iNS4yLDM1OC44IDQ2LjcsNDAwLjMgMjY4LjYsNDAwLjMgMzAxLjcsMzY3LjMgNDk3LjcsMzY3LjMgNDk3LjcsMzU4LjIgODg4LjUsMzU4LjIgODg4LjUsMzU1LjIgNDk3LjYsMzU1LjIgNDk3LjYsMzU1LjMgMjk2LjcsMzU1LjMgMjYzLjYsMzg4LjMgNTEuNiwzODguMyAxNy4yLDM1My45IDE3LjIsMjY5LjggNS4yLDI2OS44ICIKICAgICAgIGlkPSJwb2x5Z29uMTg5MyIgLz48cG9seWdvbgogICAgICAgc3R5bGU9ImZpbGw6I2ZmZmZmZjtmaWxsLW9wYWNpdHk6MSIKICAgICAgIGNsYXNzPSJzdDAiCiAgICAgICBwb2ludHM9IjkwMCwxIDg3Mi40LDI5LjggNzA4LjUsMjkuOCA3MDguNSwzNy43IDM4MS44LDM3LjcgMzgxLjgsNDAuMyA3MDguNiw0MC4zIDg3Ni41LDQwLjMgOTA0LjIsMTEuNSAxMDgxLjQsMTEuNSAxMTEwLjIsNDEuNSAxMTEwLjIsMTE0LjcgMTEyMC4yLDExNC43IDExMjAuMiwzNy4xIDEwODUuNiwxICIKICAgICAgIGlkPSJwb2x5Z29uMTg5NSIgLz48L2c+PC9nPjwvc3ZnPgo=
<<if !tags().includes("no-stats") && !tags().includes("front-matter")>>\n\t<<set _class = "topbar-entry keyword">>\n\t<<if $crew.length <= 1 && !$chironBaseMenuButtons>><<set _class += " keyword-bad">><</if>>\n\t<div @class="_class">\n\t\t<img class="topbar-image" data-passage="space-suit" alt="Crew">\n\t\t<div class="topbar-text">\n\t\t\t<<= $crew.length>>/<<= $ship.getMaxCrew()>> <<showNumberChange $crew.length $lastCrew>>\n\t\t</div>\n\t\t<<include [[Topbar Tooltip Crew]]>>\n\t</div>\n\n\t<<set _class = "topbar-entry keyword">>\n\t<<if $ship.fuel <= 25>><<set _class += " keyword-bad">><</if>>\n\t<div @class="_class">\n\t\t<img class="topbar-image" data-passage="atom" alt="Fuel">\n\t\t<div class="topbar-text">\n\t\t\t<<= $ship.fuel>>% <<showNumberChange $ship.fuel $lastFuel>>\n\t\t</div>\n\t\t<div class="tooltip">Fuel: <<= $ship.fuel>>%</div>\n\t</div>\n\t\n\t<<set _damage = $ship.getMaxDamage()-$ship.traits.length>>\n\t<<set _class = "topbar-entry keyword">>\n\t<<if _damage <= 1>><<set _class += " keyword-bad">><</if>>\n\t<div @class="_class">\n\t\t<img class="topbar-image" data-passage="metal-scales" alt="Hull integrity">\n\t\t<div class="topbar-text">\n\t\t\t<<set _damage = $ship.getMaxDamage()-$ship.traits.length>>\n\t\t\t<<= _damage>>/<<= $ship.getMaxDamage()>> <<showNumberChange _damage $lastDamage>>\n\t\t</div>\n\t\t<<include [[Topbar Tooltip Ship]]>>\n\t</div>\n\n\t<div class="topbar-entry keyword">\n\t\t<img class="topbar-image" data-passage="world" alt="Planetary Science">\n\t\t<div class="topbar-text">\n\t\t\t<<= $data.planetary_science>>\n\t\t\t<<showNumberChange $data.planetary_science $lastData.planetary_science>>\n\t\t</div>\n\t\t<div class="tooltip">Planetary Science data: <<= $data.planetary_science>></div>\n\t</div>\n\t<div class="topbar-entry keyword">\n\t\t<img class="topbar-image" data-passage="dna2" alt="Biology">\n\t\t<div class="topbar-text">\n\t\t\t<<= $data.xenobiology>>\n\t\t\t<<showNumberChange $data.xenobiology $lastData.xenobiology>>\n\t\t</div>\n\t\t<div class="tooltip">Biology data: <<= $data.xenobiology>></div>\n\t</div>\n\t<div class="topbar-entry keyword">\n\t\t<img class="topbar-image" data-passage="alien-stare" alt="Xenology">\n\t\t<div class="topbar-text">\n\t\t\t<<= $data.xenotechnology>>\n\t\t\t<<showNumberChange $data.xenotechnology $lastData.xenotechnology>>\n\t\t</div>\n\t\t<div class="tooltip">Xenology data: <<= $data.xenotechnology>></div>\n\t</div>\n\t<<set $lastFuel = $ship.fuel>>\n\t<<set $lastCrew = $crew.length>>\n\t<<set $lastDamage = $ship.getMaxDamage()-$ship.traits.length>>\n\t<<set $lastData = clone($data)>>\n<</if>>
/% $args[0] is the current value %/\n/% $args[1] is what the value was last turn %/\n<<widget showNumberChange>>\n\t<<if $args[0] > $args[1]>>\n\t\t<span class="changed-number-update">(+<<= $args[0]-$args[1]>>)</span>\n\t<<elseif $args[0] < $args[1]>>\n\t\t<span class="changed-number-update">(<<= $args[0]-$args[1]>>)</span>\n\t<</if>>\n<</widget>>
<<widget refreshTopBar>>\n\t<<run setPageElement("top-status-bar", "Top Status Bar")>>\n\t<<run GameUI.setupTooltips()>>\n<</widget>>
<div class="tooltip crew-member-tooltip">\n\t<<if $crew.length > 0>>\n\t\t<<for _c = 0; _c < $crew.length; _c++>>\n\t\t\t<<= getTraitIconImg(getMatchingElement($crew[_c].traits, ["ePilot", "eEngineer", "eMedic", "ePlanetaryScientist", "eBiologist", "eXenologist"]))>><<= $crew[_c].level>> <<= Crew.fullName($crew[_c])>>\n\t\t\t<<set _otherTraits = clone($crew[_c].traits)>>\n\t\t\t<<set _otherTraits.delete("ePilot", "eEngineer", "eMedic", "ePlanetaryScientist", "eBiologist", "eXenologist", "eMale", "eFemale", "eNonBinary", "eReverseNameOrder")>>\n\t\t\t<<for _t = 0; _t < _otherTraits.length; _t++>>\n\t\t\t\t<<= getTraitIconImg(_otherTraits[_t])>>\n\t\t\t<</for>>\n\t\t\t<br>\n\t\t<</for>>\n\t<<else>>\n\t\tNo crew\n\t<</if>>\n</div>
<div class="tooltip crew-member-tooltip">\n\t<<if $endgame_ship_destroyed && !$sandboxMode>>\n\t\t<img data-passage="defense-satellite" alt="Ship destroyed"> The <<shipName>> has been destroyed\n\t<<elseif $ship.traits.length > 0>>\n\t\t<<for _t = 0; _t < $ship.traits.length; _t++>>\n\t\t\t<<= getTraitIconImg($ship.traits[_t])>> <<= getTraitName($ship.traits[_t])>>\n\t\t\t<br>\n\t\t<</for>>\n\t<<else>>\n\t\tNo damage\n\t<</if>>\n</div>
<div id="starfield"></div>\n<div id="menu-and-content-container">\n\t<div id="status-menu-container">\n\t\t<div id="menu-bar" data-passage="Menu Bar" hidden="true" role="navigation"></div>\n\t</div>\n\t<div id="content-locationbar-spacer-container">\n\t\t<div id="content-locationbar-container">\n\t\t\t<div id="location-date-bar" hidden="true" data-passage="Location Date Bar"></div>\n\t\t\t<div id="content-container" role="main">\n\t\t\t\t<div id="passages" class="content-area"></div>\n\t\t\t\t<div id="crew-display" data-passage="Crew Display" class="content-area" hidden="true"></div>\n\t\t\t\t<div id="ship-display" data-passage="Ship Display" class="content-area" hidden="true"></div>\n\t\t\t\t<div id="civ-display" data-passage="Data Display" class="content-area" hidden="true"></div>\n\t\t\t\t<div id="settings-display" data-passage="Settings Display" class="content-area" hidden="true"></div>\n\t\t\t</div>\n\t\t</div>\n\t\t<div id="right-side-spacer"></div>\n\t</div>\n</div>\n<div id="top-status-bar" data-passage="Top Status Bar" hidden="true" role="complementary"></div>\n<div id="achievement-popups-area" hidden="true">\n\t<div id="achievement-popups-area-inner" hidden="true" data-passage="Achievement Notifications" onclick="GameUI.hideAchievementPopup()">\n\t</div>\n</div>
/% Show or hide the sidebar %/\n<<if tags().includes("front-matter")>>\n\t<<script>>\n\t\t$("#top-status-bar").hide();\n\t\t$("#menu-bar").hide();\n\t\t$("#location-date-bar").hide();\n\t<</script>>\n<<else>>\n\t<<script>>\n\t\t$("#top-status-bar").show();\n\t\t$("#menu-bar").show();\n\t\t$("#location-date-bar").show();\n\t<</script>>\n<</if>>\n\n/% Restart numbering for options on this page %/\n<<set $pageOptionNumber = 0>>\n\n/% Reset tracking of discoveries made this turn %/\n<<set $discoveriesThisTurn = {}>>\n\n<<set $achievementsThisTurn = []>>\n<<run $("#achievement-popups-area-inner").hide()>>\n\n\n/% ::External Link [widget nobr] %/\n/% <<widget externalLink>> %/\n\t/% <<= "<a href='" + $args[1] + "' target='_blank'>" + $args[0] + "</a>">> %/\n/% <</widget>> %/
#achievement-popups-area {\n\tposition: fixed;\n\tbottom: 1em;\n\tright: 0em;\n\t/*transform: translate(-50%, 0%);*/\n\twidth: 100%;\n\t\n\tdisplay: flex;\n\tflex-direction: row;\n\tjustify-content: center;\n\tpointer-events: none;\n}\n\n#achievement-popups-area-inner {\n\t\n\tflex-basis: 50em;\n\tflex-grow: 0;\n\tflex-shrink: 1;\n\t\n\tbackground: #000;\n\tborder: 1px solid #999999;\n\tbox-shadow: 0px 0px 10px #eeeeee;\n\tpadding: 1em;\n\tbox-sizing: border-box;\n\tpointer-events: auto;\n\t\n\tposition: relative;\n}\n#achievement-unlock-dismiss-button {\n\tposition: absolute;\n\tright: 0.5em;\n\ttop: 0.5em;\n}\n\n\n#achievement-popups-heading {\n\tdisplay: flex;\n\tflex-direction: row;\n}\n\n#achievement-popups-heading-text {\n\tflex-basis: 100%;\n\tflex-shrink: 1;\n\tflex-grow: 1;\n}\n\n#achievement-unlock-heading-dismiss-button {\n\tflex-basis: 2em;\n\tflex-grow: 1;\n\tflex-shrink: 0;\n}\n\n#achievement-popups-area-inner h3 {\n\tmargin-bottom: 0.5em;\n}\n\n\n.achievement-box {\n\tdisplay: flex;\n\tcolor: #ffffff;\n\tborder: 1px solid #999999;\n\ttext-shadow: 0px 0px 10px #999999;\n\tmargin: 0.25em 0;\n\tline-height: 125%;\n\tpadding: 0.5em;\n\tbackground: #000;\n\ttext-align: left;\n\t\n\t\n}\n\n.achievement-box-unlocked {\n\tbox-shadow: 0px 0px 10px #eeeeee;\n}\n\n\n.achievement-box-not-unlocked img {\n\topacity: 0.33;\n}\n\n\n.achievement-box-icon {\n\tdisplay: block;\n\tflex-grow: 0;\n\tflex-shrink: 0;\n\tflex-basis: 3em;\n}\n\n.achievement-box-text {\n\tdisplay: block;\n\tflex-grow: 1;\n\tflex-shrink: 1;\n}\n\n.achievement-box strong {\n\ttext-shadow: inherit;\n\tcolor: inherit;\n}
.crew-member-list-entry {\n\tdisplay: flex;\n\tcolor: #ffffff;\n\tborder: 1px solid #999999;\n\ttext-shadow: 0px 0px 10px #999999;\n\tmargin: 0.25em 0;\n\tline-height: 125%;\n\tpadding: 0.5em;\n\ttext-align: left;\n}\n\n.crew-member-list-entry-class-icon-container {\n\tdisplay: block;\n\tflex-basis: 3em;\n\tflex-grow: 0;\n\tflex-shrink: 1;\n\tmargin-right: 0.5em;\n}\n\n.crew-member-list-entry-level-icon-container {\n\tdisplay: block;\n\tflex-basis: 0.5em;\n\tflex-grow: 0;\n\tflex-shrink: 1;\n\tmargin-right: 0em;\n}\n\n.crew-member-list-entry-class-icon-container img{\n\theight: 3em;\n\twidth: auto;\n\tvertical-align: middle;\n}\n\n.crew-member-list-entry-level-icon-container img {\n\theight: 3em;\n\twidth: auto;\n\tvertical-align: middle;\n}\n\n\n.crew-member-list-entry-namebio-container {\n\tdisplay: block;\n\tflex-basis: 10em;\n\tflex-grow: 2;\n\tflex-shrink: 1;\n\tpadding-right: 0.5em;\n}\n\n.crew-member-list-entry-modifiers-button-container {\n\tdisplay: flex;\n\tflex-basis: 8em;\n\tflex-grow: 1;\n\tflex-shrink: 1;\n}\n\n\t.crew-member-list-entry-modifiers-container {\n\t\tdisplay: block;\n\t\tflex-basis: 8em;\n\t\tflex-grow: 1;\n\t\tflex-shrink: 1;\n\t}\n\t\n\t.crew-member-list-entry-button-container {\n\t\tdisplay: block;\n\t\tflex-basis: 5em;\n\t\tflex-grow: 0;\n\t\tflex-shrink: 0;\n\t\theight: 3em;\n\t\ttext-align: center;\n\t}\n\n@media only screen and (max-width: 48em) and (orientation: landscape),\n (max-width: 40em) and (orientation: portrait) {\n\t.crew-member-list-entry-modifiers-button-container {\n\t\tflex-direction: column;\n\t\talign-items: stretch;\n\t}\n\t.crew-member-list-entry-modifiers-container {\n\t\tflex-basis: 50%;\n\t}\n\t.crew-member-list-entry-button-container {\n\t\tflex-basis: 1.5em;\n\t\tflex-grow: 0;\n\t}\n }\n \n/* .crew-member-list-entry-content-container { */\n\t/* display: block; */\n\t/* flex-basis: 3em; */\n\t/* flex-grow: 1; */\n\t/* flex-shrink: 1; */\n/* } */\n\n/* .crew-member-list-entry-content-container strong { */\n\t/* text-shadow: inherit; */\n\t/* color: inherit; */\n/* } */\n\n\n\n\n.crew-member-list-entry-life-support {\n\tbackground: #111;\n\tbox-shadow: 0px 0px 10px #333 inset;\n\tborder-color: #333;\n\ttext-shadow: none;\n}\n\n.crew-member-list-entry-dead {\n\tbackground: hsl(0,20%,5%);\n\tbox-shadow: 0px 0px 10px hsl(0,50%,30%) inset;\n\tborder-color: hsl(0,50%,30%);\n\ttext-shadow: none;\n}\n\n\n/* Bold text glows grey, not blue, when inside crew member list entry */\n.crew-member-list-entry strong {\n\ttext-shadow: 0px 0px 10px #cccccc;\n}\n\n\n\n\n/* Crew member edit table */\n.crew-member-edit-table {\n\twidth: 100%;\n\tmax-width: 100%;\n\tbox-sizing: border-box;\n\t/* border: 1px solid red;\t */\n}\n\n.crew-member-edit-table > tr > td > textarea,\n.crew-member-edit-table > tr > td > input,\n.crew-member-edit-table > tr > td > select {\n\twidth: 100%;\n\tbox-sizing: border-box;\n}\n\n.crew-member-edit-table > tr > td > textarea {\n\theight: 5em;\n\toverflow-y: auto;\n}\n\n\n/* Cancel some of the default SugarCube formatting for input things */\ntextarea, input, select, input[type="text"] {\n\tmin-width: 0;\n\tpadding: 0.4em;\n}\n\ntextarea {\n\tresize: none;\n}\n\n\n\n
.data-view-scores-container {\n\tdisplay: flex;\n\twidth: 100%;\n\tflex-direction: row;\n\t\n\t\n}\n\n.data-view-scores-item {\n\tdisplay: block;\n\tflex-grow: 1;\n\tflex-shrink: 1;\n\ttext-align: center;\n\tcolor: #ffffff;\n\tfont-weight: bold;\n\ttext-shadow: 0px 0px 10px hsl(220,50%,50%);\n}\n\n.data-view-scores-item img {\n\tmax-width: 6em;\n}\n\n\n.data-view-headings {\n\tdisplay: flex;\n\tjustify-content: space-between;\n}\n\n\n.data-view-headings h1 {\n\tflex-grow: 0;\n\tflex-shrink: 1;\n}\n\n.data-view-headings a {\n\topacity: 0.5;\n\tcolor: inherit;\n\tborder: none;\n\tmargin: 0em;\n\tpadding: 0em;\n\tline-height: 1em;\n\tborder-radius: inherit;\n\tfont-weight: inherit;\n\tbackground: inherit;\n\ttext-shadow: none;\n}\n\n.data-view-headings a:hover {\n\tborder: none;\n\tbox-shadow: none;\n\topacity: 1.0;\n\ttext-shadow: none;\n\tbackground: inherit;\n}\n\n
.debug-text {\n\tdisplay: none;\n\tcolor: green;\n}\n\n.show-debug-text .debug-text {\n\tdisplay: initial;\n}
.final-score-table-container {\n\tdisplay: flex;\n\tflex-direction: row;\n\tjustify-content: center;\n}\n\n.final-score-table {\n\tbackground: #000;\n}\n\n\n.final-score-table td:first-child:not(.final-score-crew-list) {\n\ttext-align: left;\n\tpadding-right: 1em;\n}\n\n.final-score-table td:last-child:not(.final-score-crew-list) {\n\ttext-align: right;\n\tpadding-left: 1em;\n\tfont-weight: bold;\n\tcolor: #FFFFFF;\n\ttext-shadow: 0px 0px 20px hsl(220,50%,50%);\n}\n\n.final-score-table th {\n\tfont-size: 1.25em;\n\tpadding-top: 1em;\n\tfont-weight: bold;\n\tcolor: #FFFFFF;\n\ttext-shadow: 0px 0px 20px hsl(220,50%,50%);\n\tfont-family: 'Audiowide-regular', sans-serif;\n}\n \n \n \ntable.high-scores-table {\n\twidth: 100%;\n\tbackground: #000;\n}\n\n.high-scores-table tr {\n\tborder: 1px solid #fff;\n}\n\n.high-scores-table td {\n\ttext-align: left;\n}\n\n.high-scores-table th {\n\ttext-align: left;\n\tfont-size: 1.1em;\n\tfont-weight: bold;\n\tcolor: #FFFFFF;\n\ttext-shadow: 0px 0px 20px hsl(220,50%,50%);\n\tfont-family: 'Audiowide-regular', sans-serif;\n}\n\n\n.final-score-crew-list {\n\tdisplay: none;\n}\n\n\n@media only screen and (max-width: 40em) {\n\t.high-score-table-ending-column {\n\t\tdisplay: none;\n\t}\n}\n
h1 { \n display: block;\n font-size: 2em;\n margin-top: 0;\n margin-bottom: 0.25em;\n margin-left: 0;\n margin-right: 0;\n font-weight: bold;\n color: #FFFFFF;\n text-shadow: 0px 0px 20px hsl(220,50%,50%);\n font-family: 'Audiowide-regular', sans-serif;\n}\n\nh2 {\n display: block;\n font-size: 1.25em;\n margin-top: 0.5em;\n margin-bottom: 0.25em;\n margin-left: 0;\n margin-right: 0;\n font-weight: bold;\n color: #FFFFFF;\n text-shadow: 0px 0px 20px hsl(220,50%,50%);\n font-family: 'Audiowide-regular', sans-serif;\n}\n\nh3 {\n display: block;\n font-size: 1.1em;\n margin-top: 0;\n margin-bottom: 0em;\n margin-left: 0;\n margin-right: 0;\n font-weight: regular;\n color: #FFFFFF;\n text-shadow: 0px 0px 20px hsl(220,50%,50%);\n font-family: 'Audiowide-regular', sans-serif;\n}\n\n\n
\n.inline-icon img {\n\twidth: 2em;\n\theight: 2em;\n\tvertical-align: middle;\n}\n\ndiv.inline-icon-spacer {\n\tdisplay: inline-block;\n\twidth: 2em;\n\theight: 2em;\n\tvertical-align: middle;\n}\n\n\n.inline-icon-small img {\n\twidth: 1em;\n\theight: 1em;\n\tvertical-align: top;\n}\n\n\n.inline-icon-small-middle img {\n\twidth: 1em;\n\theight: 1em;\n\tvertical-align: middle;\n}\n\n\n.inline-icon-medium img {\n\twidth: 1.25em;\n\theight: 1.25em;\n\tvertical-align: baseline;\n}
strong {\n\tcolor: #ffffff;\n\tfont-weight: bold;\n\ttext-shadow: 0px 0px 10px hsl(220,50%,50%);\n}\n\n\n\n.keyword {\n\tcolor: #ffffff;\n\tfont-weight: bold;\n\ttext-shadow: 0px 0px 10px hsl(220,50%,50%);\n\t/*position: relative;*/\n\t\n}\n\n\n.new-discovery-keyword {\n\tcolor: #ffffff;\n\tfont-weight: bold;\n\ttext-shadow: 1px 0px 20px hsl(220,50%,50%), 0px 1px 20px hsl(220,50%,50%), -1px 0px 20px hsl(220,50%,50%), 0px -1px 20px hsl(220,50%,50%);\n\tborder-radius: 0.5em;\n\t/*position: relative;*/\n}\n\n.keyword-bad {\n\tcolor: hsl(0,50%,50%);\n\tfont-weight: bold;\n\ttext-shadow: 0px 0px 20px hsl(0,50%,30%);\n}\n\n\n.tooltip {\n\t/* Actual position is set by code */\n\t/* Initial position is well off-screen so it won't appear in the wrong place */\n\tleft: -10000px;\n\ttop: -10000px;\n\tdisplay: none;\n\tposition: absolute;\n\tz-index: 1;\n\twidth: auto;\n\tmax-width: 20em;\n\t/*display: inline-block;*/\n\tcolor: #ffffff;\n\tborder: 1px solid #999999;\n\tbackground: #000;\n\ttext-shadow: 0px 0px 10px #999999;\n\t/*margin: 0.25em 0;*/\n\tpadding: 0.25em 0.25em;\t\n\tline-height: 1.5em;\n\ttext-align: center;\n\tbox-shadow: 0px 0px 10px #eeeeee;\n\t\n\topacity: 0;\n\ttransition: opacity 0.5s;\n}\n\n\n\n.tooltip img {\n\twidth: 1.5em;\n\theight: 1.5em;\n\tvertical-align: middle;\n}\n\n.crew-member-tooltip {\n\ttext-align: left;\n}\n\n.discovery-tooltip {\n\ttext-align: center;\n}\n\n.tooltip-bad {\n\ttext-align: left;\n\tcolor: hsl(0,50%,50%);\n\ttext-shadow: 0px 0px 10px hsl(0,50%,30%);\n}\n\n\n.tooltip-zone:hover .tooltip,\n.keyword:hover .tooltip {\n\tdisplay: block;\n\tfont-weight: normal;\n\topacity: 1;\n}\n\n.new-discovery-keyword:hover .tooltip {\n\tdisplay: block;\n\tfont-weight: bold;\n}
/*\n\tLAYOUT\n\t\n\tContent area: 50em wide by default\n\tMenu bar: 8em wide\n\t\n\tTotal width >64em:\n\tContent area is 50em wide and centered in window\n\t\n\tTotal width 58em-64em:\n\tContent area is 50em wide and positioned with left side at 8em\n\t\n\tTotal width <58em:\n\tContent area positioned with left side at 8em and takes up all available space\n\t\n\t\n*/\n\n\nbody {\n\tbackground: #000;\n\tcursor: default;\n\tuser-select: none;\n}\n\n\n#top-status-bar {\n\tdisplay: flex;\n\t/*box-sizing: border-box;*/\n\tposition: fixed;\n\ttop: 0;\n\tleft: 0;\n\twidth: 100%;\n\theight: 2em;\n\tpadding-left: min(0.5em,1vw);\n\tpadding-right: min(0.5em,1vw);\n\t\n\tflex-direction: row;\n\tflex-wrap: nowrap;\n\tjustify-content: center;\n\talign-items: center;\n\t\n\tbackground: #000;\n\tborder-bottom: 2px solid #CCC;\n\n}\n\n\t.topbar-entry {\n\t\ttext-align: center;\n\t\ttext-align: left;\n\t\topacity: 1.0;\n\t\tflex-basis: 8.333em;\t/* 1/6 of 50 */\n\t\tflex-grow: 0;\n\t\tflex-shrink: 1;\n\t\t\n\t\tdisplay: flex;\n\t\tflex-direction: row;\n\t\talign-items: center;\n\t}\n\t\n\t.topbar-image {\n\t\tfont-size: min(0.75em, 3vw);\n\t\tflex-basis: 2em;\n\t\tflex-grow: 0;\n\t\tflex-shrink: 0;\n\n\t\twidth: 2em;\n\t\theight: 2em;\n\t\topacity: 0.9;\n\t}\n\n\t.topbar-text {\n\t\tfont-size: min(0.75em, 3vw);\n\t\tflex-grow: 1;\n\t\tflex-shrink: 1;\n\t\tpadding-left: 0.1em;\n\t}\n\t\n#menu-and-content-container {\n\tdisplay: flex;\n\tbox-sizing: border-box;\n\tposition: fixed;\n\ttop: 0;\n\tleft: 0;\n\twidth: 100%;\n\theight: 100%;\n\tpadding-top: 2em;\n\tflex-direction: row;\n\tflex-wrap: nowrap;\n\tjustify-content: space-between;\n\t\n\t/* background: #300; */\n\t\n}\n\n\n\t#status-menu-container {\n\t\tdisplay: flex;\n\t\tflex-basis: 8em;\n\t\tflex-grow: 0;\n\t\tflex-shrink: 1;\n\t\tflex-direction: column;\n\t\tflex-wrap: nowrap;\n\t}\n\t\n\t.front-matter #status-menu-container {\n\t\tdisplay: none;\n\t}\n\n\t\t#status-bar {\n\t\t\twidth: 100%;\n\t\t\tflex-basis: 5em;\n\t\t\tflex-grow: 0;\n\t\t\tflex-shrink: 1;\n\t\t\tbox-sizing: border-box;\n\t\t\tborder-right: 2px solid #CCC;\n\t\t\tbackground: #111;\n\t\t\tpadding: 1em 0.5em 0.5em;\n\t\t\ttext-align: center;\n\t\t}\n\n\t\t#menu-bar {\n\t\t\twidth: 100%;\n\t\t\tflex-grow: 1;\n\t\t\tflex-shrink: 1;\n\t\t\tbackground: #111;\n\t\t\tbox-sizing: border-box;\n\t\t\tborder-right: 2px solid #CCC;\n\t\t\t\n\t\t\tdisplay: flex;\n\t\t\tflex-direction: column;\n\t\t}\n\t\t\t/* Contains multiple divs of class .menu-bar-link */\n\t\t\n\t#content-locationbar-spacer-container {\n\t\tflex-grow: 2;\n\t\tflex-basis: 100%;\n\t\t\n\t\tdisplay: flex;\n\t\tflex-direction: row;\n\t\tjustify-content: center;\n\n\t\toverflow-y: scroll;\n\t\toverflow-x: hidden;\n\t}\n\t\t\n\t\t#content-locationbar-container {\n\t\t\tdisplay: flex;\n\t\t\tflex-basis: 50em;\n\t\t\tflex-grow: 0;\n\t\t\tflex-shrink: 2;\n\t\t\tflex-direction: column;\n\t\t\tflex-wrap: nowrap;\n\t\t\tjustify-content: flex-start;\n\t\t\t\n\t\t\tmax-width: 100%;\n\t\t}\n\t\t/* .front-matter #content-locationbar-container { */\n\t\t\t/* flex-grow: 1; */\n\t\t/* } */\n\n\t\t\t#location-date-bar {\n\t\t\t\twidth: 100%;\n\t\t\t\tflex-basis: 3em;\n\t\t\t\tflex-grow: 0;\n\t\t\t\tflex-shrink: 1;\n\t\t\t\tbackground: #000;\n\t\t\t\tpadding: 1em 1em 0em;\t/* Top, sides, bottom */\n\t\t\t\tbox-sizing: border-box;\n\t\t\t\t/*font-weight: bold;*/\n\t\t\t\tline-height: 1.75;\n\t\t\t\ttext-align: left;\n\t\t\t\ttransition: opacity 400ms ease-in;\n\t\t\t\tfont-family: 'Audiowide-regular', sans-serif;\n\t\t\t\t\n\t\t\t\t/* border: 1px solid red; */\n\t\t\t}\n\t\t\t.front-matter #location-date-bar {\n\t\t\t\tdisplay: none;\n\t\t\t}\n\n\t\t\t#content-container {\n\t\t\t\twidth: 100%;\n\t\t\t\tflex-basis: 20em;\n\t\t\t\tflex-grow: 1;\n\t\t\t\tflex-shrink: 0;\n\t\t\t\tbox-sizing: border-box;\n\t\t\t\t\n\t\t\t\tmax-width: 100%;\n\t\t\t}\n\n\t\t\t\t/* Content container contains multiple content areas, but only one is visible at a time */\n\t\t\t\t.content-area {\n\t\t\t\t\tbox-sizing: border-box;\n\t\t\t\t\tpadding: 0.25em 1em 2em;\t/* Top, sides, bottom */\n\t\t\t\t\tmargin: 0em 0em 0em;\t/* Top, sides, bottom */\n\t\t\t\t\tcolor: #eee;\n\t\t\t\t\tbackground: #000;\n\n\t\t\t\t\tline-height: 1.75;\n\t\t\t\t\ttext-align: left;\n\t\t\t\t\ttransition: opacity 400ms ease-in;\n\t\t\t\t\t\n\t\t\t\t\t/* border: 1px solid yellow; */\n\t\t\t\t}\n\t\t\t\t.front-matter .content-area {\n\t\t\t\t\tbackground: transparent;\n\t\t\t\t}\n\n\n\t\t#right-side-spacer {\n\t\t\tdisplay: block;\n\t\t\tflex-basis: 8em;\n\t\t\tflex-grow: 0;\n\t\t\tflex-shrink: 1000;\n\t\t}\n\t\t\n\t\t.front-matter #right-side-spacer {\n\t\t\tdisplay: none;\n\t\t}\n\n\n/* On vertical screens, put the menu bar at the bottom */\n@media only screen and (orientation: portrait) {\n\t#menu-and-content-container {\n\t\tflex-direction: column-reverse;\n\t}\n\t\n\t#status-menu-container {\n\t\tflex-basis: 4em;\n\t\tflex-direction: row;\n\t}\n\t\n\t#status-bar {\n\t\tborder-top: 2px solid #CCC;\n\t\tborder-right: none;\n\t\tfont-size: 75%;\n\t}\n\t\n\t#menu-bar {\n\t\theight: 100%;\n\t\tflex-direction: row;\n\t\tborder-top: 2px solid #CCC;\n\t\tborder-right: none;\n\t\t\n\t}\n\t\t\n\t.menu-bar-link {\n\t\tposition: relative;\n\t\ttop: -2px;\n\t\theight: calc(100% + 2px);\n\t}\n\t\n\t.menu-bar-link-selected {\n\t\tborder-top: 2px solid transparent !important;\n\t\tborder-left: 2px solid #CCC !important;\n\t\tborder-bottom: 2px solid #CCC !important;\n\t\tborder-right: 2px solid #CCC !important;\n\t}\n\t\n\th1 {\n\t\tfont-size: 1.5em;\n\t}\n\t\n\t#achievement-popups-area {\n\t\tbottom:4em;\n\t}\n}\n\n
a {\n\t/*display: inline-block;*/\n\tcolor: hsl(220,100%,95%);\n\tborder: 1px solid hsl(220,100%,95%);\n\tbackground: hsl(220,100%,10%);\n\tmargin: 0.25em 0;\n\tpadding: 0.25em 0.25em;\n\tline-height: 1em;\n\tborder-radius: 0.2em;\n\tfont-weight: bold;\n}\n\na:hover {\n\ttext-decoration: none;\n\tcolor: #fff;\n\tborder-color: hsl(220,100%,95%);\n\tbackground: hsl(220,100%,20%);\n\tbox-shadow: 0px 0px 10px hsl(220,100%,80%);\n\ttext-shadow: 0px 0px 10px hsl(220,100%,80%);\n}\n\na:hover strong {\n\ttext-shadow: inherit;\n}\na:hover .keyword {\n\ttext-shadow: inherit;\n}\n\n.desc-explorable-trait img {\n\twidth: 1em;\n\theight: 1em;\n\tvertical-align: middle;\n}\n\n\n.disabled-link {\n\tborder: 1px solid #222;\n\tbackground: #111;\n\tmargin: 0.25em 0;\n\tpadding: 0.25em 0.25em;\t\n\tcolor: #999;\n\tline-height: 1em;\n\tborder-radius: 0.2em;\n\tfont-weight: bold;\n\tcursor: default;\n}\n\nbutton {\n\tcolor: hsl(220,100%,95%);\n\tborder: 1px solid hsl(220,100%,95%);\n\tbackground: hsl(220,100%,10%);\n\tmargin: 0.25em 0;\n\tpadding: 0.25em 0.25em;\n\tline-height: 1em;\n\tborder-radius: 0.2em;\n\tfont-weight: bold;\n}\n\nbutton:hover {\n\ttext-decoration: none;\n\tcolor: #fff;\n\tborder-color: hsl(220,100%,95%);\n\tbackground: hsl(220,100%,20%);\n\tbox-shadow: 0px 0px 10px hsl(220,100%,80%);\n\ttext-shadow: 0px 0px 10px hsl(220,100%,80%);\n}\n\nbutton_disabled {\n\tborder: 1px solid #222;\n\tbackground: #111;\n\tmargin: 0.25em 0;\n\tpadding: 0.25em 0.5em;\t\n\tcolor: #999;\n\tborder-radius: 0.2em;\n\tfont-weight: bold;\n}\n\n\n.desc-explorable-trait a {\n\t/*display: inline-block;*/\n\twhite-space: nowrap;\n}\n\n.desc-explorable-trait-hazard a {\n\tcolor: hsl(0,50%,50%);\n\ttext-shadow: 0px 0px 20px hsl(0,50%,30%);\n}\n\n.desc-explorable-trait-hazard a:hover {\n\tcolor: hsl(0,50%,80%);\n\ttext-shadow: 0px 0px 20px hsl(0,100%,50%);\n}\n\n/*.keyword::after { content: '\s2060'; }*/\n\n\n.keep-together {\n\tdisplay: inline-block;\n}\n\n\n\n.full-width-link {\n\tdisplay: flex;\n}\n\n\n.full-width-link a {\n\tdisplay: block;\n\tflex-grow: 1;\n\tmargin: 0.25em 0;\n\tpadding: 0.25em 0.5em;\t\n\tline-height: 2em;\n}\n\n.full-width-link img {\n\twidth: 1.5em;\n\theight: 1.5em;\n\tvertical-align: middle;\n}\n\n/* .full-width-link img:first-child { */\n\t/* margin-right: 0.5em; */\n/* } */\n\n.full-width-link-success-chance {\n\tdisplay: block;\n\tcolor: #ffffff;\n\ttext-shadow: 0px 0px 10px #999999;\n\tpadding: 0;\n\tflex-grow: 0;\n\tflex-shrink: 0;\n\tflex-basis: 4em;\n\tdisplay: flex;\n}\n\n.full-width-link-success-chance a {\n\tdisplay: block;\n\ttext-align: center;\n\tbackground: hsl(220,10%,10%);\n}\n\n.full-width-link-success-chance a:hover {\n\tbackground: hsl(220,10%,20%);\n}\n\n\n.success-chance-box {\n\t/* position: absolute; */\n\t/* right: 0; */\n\t/* opacity: 80%; */\n\tdisplay: none;\n\tborder: 1px solid #999999;\n\ttext-align: right;\n\tline-height: 1em;\n\tbackground: #000000;\n\t\n}\n\n.success-chance-box td {\n\tpadding: 0.1em 0.5em;\n}\n\n\n\n\n\n\n.full-width-link-disabled {\n\tdisplay: block;\n\tbox-sizing: border-box;\n\twidth: 100%;\n\tborder: 2px solid #222;\n\tbackground: #111;\n\tmargin: 0.25em 0;\n\tpadding: 0.25em 0.5em;\t\n\tcolor: #999;\n\tborder-radius: 0.2em;\n\tline-height: 2em;\n\tcursor: default;\n}\n\n.full-width-link-disabled img {\n\twidth: 1.5em;\n\theight: 1.5em;\n\tvertical-align: middle;\n\tmargin-right: 0.5em;\n}\n\n.full-width-link-disabled .keyword {\n\tcolor: #999;\n\ttext-shadow: 0px 0px 10px #222;\n}\n\n\n.sticky-bottom-button {\n\tposition: sticky;\n\tbottom: 0;\n\tmargin-top: 2em;\n\tbackground: #000000;\n\tbox-shadow: 0px 0px 10px 10px #000000;\n}\n\n\n\n\n.subtle-icon-link a {\n\tcolor: initial;\n\tborder: initial;\n\tbackground: initial;\n\tmargin: initial;\n\tpadding: initial;\n\tline-height: initial;\n\tborder-radius: initial;\n\tfont-weight: initial;\n}\n\n.subtle-icon-link a:hover {\n\ttext-decoration: none;\n\tcolor: initial;\n\tborder-color: initial;\n\tbackground: initial;\n\tbox-shadow: initial;\n\ttext-shadow: initial;\n}\n\n.subtle-icon-link a img {\n\topacity: 0.25;\n}\n\n.subtle-icon-link a:hover img {\n\topacity: 1.0;\n}\n\n\n.dont-wrap-link a {\n\tdisplay: inline-block;\n}
.menu-bar-link {\n\tdisplay: block;\n\tflex-grow: 1;\n\tflex-shrink: 1;\n\twidth: calc(100% + 2px);\n\tpadding: 0;\n\tbox-sizing: border-box;\n\tmargin: 0;\n\t/*opacity: 0.5;*/\n\tborder: 2px solid transparent;\n\toverflow-x: visible;\n\tposition: relative;\n}\n\n.menu-bar-link a {\n\tcolor: inherit;\n\tborder: none;\n\tmargin: 0em;\n\tpadding: 0em;\n\tline-height: 1em;\n\tborder-radius: inherit;\n\tfont-weight: inherit;\n\t\t\n\tdisplay: block;\n\twidth: 100%;\n\theight: 100%;\n\t\n\tbox-sizing: border-box;\n\t\n\topacity: 0.5;\n\t\n\tborder: none;\n\tpadding: 0.5em;\n\t\n\tbackground-position: center;\n\tbackground-repeat: no-repeat;\n\tbackground-size: 90% 80%;\n\tbackground-color: #111;\n\t\n\tcolor: transparent;\n}\n\n.menu-bar-link a:hover {\n\tborder: none;\n\tbox-shadow: none;\n\topacity: 1.0;\n\ttext-shadow: none;\n}\n\n.menu-bar-link-selected {\n\topacity: 1.0;\n\tborder-top: 2px solid #CCC;\n\tborder-left: 2px solid #CCC;\n\tborder-bottom: 2px solid #CCC;\n\tborder-right: 2px solid transparent;\n\tbackground-color: #000;\n}\n\n.menu-bar-link-selected a {\n\tborder: none;\n\tbox-shadow: none;\n\topacity: 1.0;\n\tbackground-color: #000;\n}\n\n\n.menu-bar-image-solar-system a {\n\tbackground-image: [img[solar-system]];\t\n}\n\n.menu-bar-image-space-suit a {\n\tbackground-image: [img[space-suit]];\t\n}\n\n.menu-bar-image-defense-satellite a {\n\tbackground-image: [img[defense-satellite]];\t\n}\n\n.menu-bar-image-microscope a {\n\tbackground-image: [img[microscope]];\t\n}\n\n.menu-bar-image-cog a {\n\tbackground-image: [img[cog]];\t\n}\n\n.menu-bar-image-terrestrial-planet a {\n\tbackground-image: [img[world_medium]];\t\n}\n\n.menu-bar-image-belt a {\n\tbackground-image: [img[gold-nuggets]];\t\n}\n\n.menu-bar-image-gas-giant a {\n\tbackground-image: [img[jupiter_medium]];\t\n}\n\n.menu-bar-image-minor-planet a {\n\tbackground-image: [img[asteroid]];\t\n}\n\n.menu-bar-image-unstable-orb a {\n\tbackground-image: [img[unstable-orb]];\t\n}\n\n.menu-bar-image-portal a {\n\tbackground-image: [img[vortex]];\t\n}\n\n
.notification-box {\n\tdisplay: block;\n\tcolor: #ffffff;\n\tborder: 1px solid #999999;\n\ttext-shadow: 0px 0px 10px #999999;\n\tmargin: 0.25em 0;\n\tpadding: 0.25em 0.5em;\t\n\tline-height: 2em;\n}\n\n.notification-box strong {\n\ttext-shadow: inherit;\n\tcolor: inherit;\n}\n\n\n\n.data-gain {\n\n\n}\n\n\n.discovery-new {\n\tfont-weight: bold;\n\ttext-shadow: 0px 0px 10px #999999;\n}\n\n.discovery-repeat {\n\n}\n\n\n\n.injury {\n\tcolor: hsl(0,50%,50%);\n\ttext-shadow: 0px 0px 10px hsl(0,50%,30%);\n\tborder-color: hsl(0,50%,30%);\n}\n\n.injury .keyword {\n\tcolor: inherit;\n\ttext-shadow: inherit;\n}\n\n.levelup {\n\tcolor: hsl(60,70%,50%);\n\ttext-shadow: 0px 0px 10px hsl(60,70%,30%);\n\tborder-color: hsl(60,70%,30%);\n}\n\n.levelup .keyword {\n\tcolor: inherit;\n\ttext-shadow: inherit;\n}\n\n.damage {\n\tcolor: hsl(0,50%,50%);\n\ttext-shadow: 0px 0px 10px hsl(0,50%,30%);\n\tborder-color: hsl(0,50%,30%);\n}\n\n.damage .keyword {\n\tcolor: inherit;\n\ttext-shadow: inherit;\n}\n\n\n\n.menu-item-selected {\n\tborder-color: #ffffff;\n\tbox-shadow: 0px 0px 10px #eeeeee, 0px 0px 10px #eeeeee inset;\n\tbackground: hsl(220,10%,10%);\n}
/* Works on Chrome, Edge, and Safari (and app version as that is based on Chrome) */\n/* Instructions from https://www.digitalocean.com/community/tutorials/css-scrollbars */\n/* Firefox and other browsers will use default scrollbar */\n\n*::-webkit-scrollbar {\n width: 12px;\n}\n\n*::-webkit-scrollbar-track {\n\tbackground: transparent;\n}\n\n*::-webkit-scrollbar-thumb {\n background: #222;\n border-radius: 5px;\n}
.show-in-fullscreen {\n\tdisplay: none;\t\n}\n\nspan.hide-in-fullscreen {\n\tdisplay: inline-block;\n}\n\ndiv.hide-in-fullscreen {\n\tdisplay: block;\n}\n\n:fullscreen div.show-in-fullscreen {\n\tdisplay: block;\t\n}\n:fullscreen span.show-in-fullscreen {\n\tdisplay: inline-block;\t\n}\n\n:fullscreen .hide-in-fullscreen {\n\tdisplay: none;\n}\n\n\n.settings-display-row {\n\tdisplay: flex;\n\tgap: 0.5em;\n}\n\n.settings-display-row a,\n.settings-display-row div {\n\tdisplay: block;\n\tflex-grow: 1;\n\tflex-basis: 10em;\n\tmargin: 0.25em 0;\n\tpadding: 0.25em 0.5em;\n\tline-height: 2em;\n}\n\n.settings-display-text-area {\n\tborder: 1px solid #222;\n\tmargin: 0.25em 0;\n\tpadding: 0.25em 0;\n\tbackground: #111;\n\tborder-radius: 0.2em;\n\tfont-weight: bold;\n\tline-height: 2em;\n}\n\n.settings-version-number {\n\tfont-size: 65%;\n\topacity: 0.25;\n\ttext-align: right;\n}\n
#starfield {\n -webkit-user-select: none; /* Chrome, Opera, Safari */\n -moz-user-select: none; /* Firefox 2+ */\n -ms-user-select: none; /* IE 10+ */\n user-select: none; /* Standard syntax */\n\toverflow:hidden;\n\tcursor:default;\n\tz-index:-10;\n\t\n\tbox-sizing: border-box;\n\tposition: fixed;\n\ttop: 0;\n\tleft: 0;\n\twidth: 100%;\n\theight: 100%;\n\twidth: 100%;\n\t\n}
\n#status-bar table {\n\tmargin-top: 0.3em;\n}\n\n#status-bar td {\n\tfont-size: 90%;\n\tpadding: 0.1em;\n\ttext-align: left;\n}\n\n\n.status-warning {\n\tcolor: #ffff00;\n}\n\n.status-critical {\n\tcolor: #ff0000;\n}\n\n\n\n/* .status-bar-icon-area { */\n\t/* display: flex; */\n\t/* flex-direction: row; */\n\t/* justify-content: flex-start; */\n\t/* margin-top: 0.5em; */\n\t\n/* } */\n\n/* .status-bar-icon-area img { */\n\t/* width: 1.25em; */\n\t/* height: 1.25em; */\n\t/* flex-basis: 1.25em; */\n\t/* flex-shrink: 1; */\n\t/* flex-grow: 0; */\n\t/* margin: 0.1em; */\n/* } */\n\n
.system-view-list-entry {\n\tdisplay: flex;\n\tcolor: #ffffff;\n\tborder: 1px solid #999999;\n\ttext-shadow: 0px 0px 10px #999999;\n\tmargin-top: 0.5em;\n\tline-height: 100%;\n\tpadding: 0.1em;\n\talign-items: center;\n}\n.system-view-list-entry-moon {\n\tmargin-top: 0;\n\tborder-top: none;\n}\n\n.system-view-list-entry-nav-icon-container > .keyword > img,\n.system-view-list-entry-nav-icon-spacer,\n.system-view-list-entry-traits-container > .keyword > img,\n.system-view-list-entry-star-traits-container > .keyword > img,\n.universe-view-list-entry-icon-container > .keyword > img,\n.universe-view-explorable-bodies-number {\n\twidth: min(2em,5vw);\n\theight: min(2em,5vw);\n}\n\n.system-view-list-entry-nav-icon-container {\n\tflex-grow: 0;\n\tflex-shrink: 1;\n\tmargin-right: 0.5em;\n\t\n\tdisplay: flex;\n\talign-items: center;\n}\n\n\n.system-view-list-entry-name-traits-container {\n\tflex-grow: 1;\n\tflex-shrink: 1;\n\n\tdisplay: flex;\n\tflex-direction: row;\n\talign-items: center;\n}\n\n\t.system-view-list-entry-name-container {\n\t\tdisplay: block;\n\t\tflex-basis: 100%;\n\t\tflex-grow: 1;\n\t\tflex-shrink: 1;\n\t}\n\n\t.system-view-list-entry-traits-container {\n\t\tflex-basis: 20em;\n\t\tflex-grow: 0;\n\t\tflex-shrink: 0;\t\n\t\t\n\t\tdisplay: flex;\n\t\tflex-wrap: wrap;\n\t}\n\n.system-view-list-entry-button-container {\n\tdisplay: block;\n\tflex-basis: 8em;\n\tflex-grow: 0;\n\tflex-shrink: 0;\n\ttext-align: center;\n}\n\n.system-view-list-entry-button-container a {\n\tdisplay: block;\n\tmargin-right: 0.5em;\n}\n\n.system-view-list-entry-button-container img {\n\twidth: 1.0em;\n\theight: 1.0em;\n\tvertical-align: bottom;\n}\n\n.system-view-list-entry-star-name-traits-container {\n\tflex-grow: 1;\n\tflex-shrink: 1;\n\n\tdisplay: flex;\n\tflex-direction: row;\n\tjustify-content: space-between;\n\t\n\talign-items: center;\n}\n\n\t.system-view-list-entry-star-name-container {\n\t\tdisplay: block;\n\t\tflex-grow: 1;\n\t\tflex-shrink: 1;\n\t}\n\n\t.system-view-list-entry-star-traits-container {\n\t\tflex-basis: 28em;\n\t\tflex-grow: 0;\n\t\tflex-shrink: 0;\n\t\t\n\t\tdisplay: flex;\n\t\tflex-wrap: wrap;\n\t}\n\n\n\n\n.universe-view-list-entry {\n\tdisplay: flex;\n\tcolor: #ffffff;\n\tborder: 1px solid #999999;\n\ttext-shadow: 0px 0px 10px #999999;\n\tmargin-top: 0.5em;\n\tline-height: 100%;\n\tpadding: 0.1em;\n\talign-items: center;\n}\n\n\n/* .universe-view-list-entry-icon-name-container { */\n\t/* display: flex; */\n\t/* flex-basis: 5em; */\n\t/* flex-grow: 1; */\n\t/* flex-shrink: 1;\t */\n\t/* align-items: center; */\n/* } */\n\n.universe-view-list-entry-icon-container {\n\tdisplay: block;\n\tflex-basis: 2.5em;\n\tflex-grow: 0;\n\tflex-shrink: 0;\n\ttext-align: center;\n}\n\n.universe-view-list-entry-name-type-container {\n\tdisplay: flex;\n\tflex-basis: 10em;\n\tflex-grow: 1;\n\tflex-shrink: 1;\t\n\talign-items: center;\n\tflex-direction: row;\n}\n\n\n.universe-view-list-entry-name-container {\n\tdisplay: block;\n\tflex-basis: 5em;\n\tflex-grow: 1;\n\tflex-shrink: 1;\n}\n\n.universe-view-list-entry-star-type-container {\n\tdisplay: block;\n\tflex-basis: 5em;\n\tflex-grow: 1;\n\tflex-shrink: 1;\n}\n\n\n.universe-view-list-entry-planets-container {\n\tdisplay: flex;\n\tflex-basis: 5em;\n\tflex-grow: 1;\n\tflex-shrink: 1;\n\tjustify-content: center;\n}\n\n.universe-view-list-entry-hazards-container {\n\tdisplay: flex;\n\tflex-basis: 5em;\n\tflex-grow: 1;\n\tflex-shrink: 1;\n\tflex-wrap: wrap;\n}\n\n.universe-view-list-entry-button-container {\n\tdisplay: block;\n\tflex-basis: 5em;\n\tflex-grow: 0;\n\tflex-shrink: 1;\n\ttext-align: center;\n}\n\n\n.universe-view-explorable-bodies-number {\n\tdisplay: inline-block;\n\tline-height: 2.5em;\n\tbackground-image: [img[solar-system]];\n\tbackground-size: 75%;\n\tbackground-repeat: no-repeat;\n\tvertical-align: middle;\n\ttext-align: right;\n\tfont-size: min(1em,3vw);\n}\n\n\n@media only screen and (max-width: 48em) and (orientation: landscape),\n (max-width: 40em) and (orientation: portrait) {\n\t.system-view-list-entry-name-traits-container {\n\t\tflex-direction: column;\n\t\talign-items: stretch;\n\t}\n\t.system-view-list-entry-name-container {\n\t\tflex-basis: 50%;\n\t}\n\t.system-view-list-entry-traits-container {\n\t\tflex-basis: 50%;\n\t}\n\t.system-view-list-entry-star-name-container {\n\t\tflex-basis: 75%;\n\t\tflex-grow: 1;\n\t\tflex-shrink: 1;\n\t}\n\t.system-view-list-entry-star-traits-container {\n\t\tflex-basis: 25%;\n\t\tflex-grow: 1;\n\t\tflex-shrink: 1;\n\t}\n\t\n\t.universe-view-list-entry-name-type-container {\n\t\tflex-direction: column;\n\t\talign-items: stretch;\n\t}\n\t.universe-view-list-entry-name-container {\n\t\tflex-basis: 50%;\n\t}\n\t.universe-view-list-entry-star-type-container {\n\t\tflex-basis: 50%;\n\t\tfont-size: 75%;\n\t}\n\t\n\t.hide-on-narrow-screen {\n\t\tdisplay: none;\n\t}\n}\n
/* All front matter */\n\nbody.front-matter {\n\toverflow-y: visible;\n}\n\n.front-matter #passages {\n\theight: 100%;\n\tdisplay: flex;\n\tflex-direction: column;\n\tjustify-content: center;\n}\n\n.front-matter #menu-and-content-container {\n\tpadding-top: 0em;\n}\n\n/* Title screen */\n\n#title-screen-block {\n\tposition: absolute;\n\ttop: 45%;\n\tleft: 50%;\n\ttransform: translate(-50%, -50%);\n\t\n\ttext-align: center;\n}\n\n#title-screen-img {\n\theight: auto;\n\tmax-height: 40vh;\n\tmax-width: 90vw;\n\tpadding-top: auto;\n}\n\n.fade-in {\n\tanimation-name: fade-in;\n\tanimation-duration: 5s;\n\tanimation-fill-mode: backwards;\n}\n.fade-in-delayed {\n\tanimation-name: fade-in;\n\tanimation-duration: 5s;\n\tanimation-delay: 1s;\n\tanimation-fill-mode: backwards;\n}\n\n.title-screen-button-row {\n\tdisplay: flex;\n\tjustify-content: center;\n\tfont-family: 'Audiowide-regular', sans-serif;\n\tflex-wrap: wrap;\n\tmax-width: 50em;\n\talign-items: center;\n\tmargin: auto;\n}\n\n.title-screen-link {\n\tfont-size: min(125%,4vmin);\n\tflex-basis: 10em;\n\tmargin: 0 0.25em;\n\ttext-align: center;\n}\n\n.title-screen-link-big {\n\tfont-size: min(200%,5vmin);\n\tflex-basis: 10em;\n\tmargin: 0 0.25em;\n}\n\n/* .title-screen-link a { */\n\t/* font-size: min(125%,4vmin); */\n/* } */\n\n/* .title-screen-link-big a { */\n\t/* font-size: min(200%,5vmin); */\n/* } */\n\n\n.title-screen-button-row a {\n\tdisplay: block;\n}\n\n.version-number {\n\tposition: absolute;\n\tbottom: 1em;\n\tright: 1em;\n\tfont-size: 65%;\n\topacity: 0.25;\n}\n\n.title-screen-privacy-policy {\n\tposition: absolute;\n\tbottom: 1em;\n\tleft: 1em;\n\tfont-size: 65%;\n}\n\n.title-screen-privacy-policy a {\n\tcolor: #eee;\n\topacity: 0.25;\n\tborder: none;\n\tbackground: none;\n\tmargin: 0;\n\tpadding: 0;\n\tfont-weight: regular;\n}\n\n.title-screen-privacy-policy a:hover {\n\tcolor: #fff;\n\topacity: 1.0;\n\ttext-decoration: underline;\n\tbackground: none;\n\tborder: none;\n\tbox-shadow: none;\n\ttext-shadow: none;\n}\n\n\n\n.title-screen-debug-link {\n\tposition: absolute;\n\ttop: 1em;\n\tleft: 1em;\n\tfont-size: 65%;\n\topacity: 0.25;\n}\n\n/* In the front matter we only want a scrollbar if we need one, we don't need it to always be there for layout reasons */\n.front-matter #content-locationbar-spacer-container {\n\toverflow-y: auto;\n}\n\n\n\n\n\n.credits-name-list {\n\tcolumns: 10em 3;\n}\n\n.credits-or-final-score {\n\tmargin-top: 5em;\n\ttext-align: center;\n}\n\n.front-matter-how-to-play {\n\tmargin-top: 5em;\n\tbackground: #000;\n}\n\n\n\n\n.credits-or-final-score p {\n\tmargin-top: 0;\n\tpadding-top: 0;\n}\n\n\n@keyframes fade-in {\n from {opacity: 0;}\n to {opacity: 1;}\n}\n\n\n\n#overwrite-saved-game-confirm {\n\tposition: absolute;\n\ttop: 45%;\n\tleft: 50%;\n\ttransform: translate(-50%, -50%);\n\ttext-align: center;\n\tdisplay: none;\n\tbackground: #000;\n\tborder: 1px solid #999999;\n\tbox-shadow: 0px 0px 10px #eeeeee;\n\tpadding: 1em;\n\tfont-family: 'Audiowide-regular', sans-serif;\n}\n\n#overwrite-saved-game-confirm p {\n\tfont-size: min(125%,5vmin);\n}\n\n\n.overwrite-saved-game-confirm-buttons {\n\tdisplay: flex;\n\tjustify-content: center;\n\tflex-wrap: wrap;\n\talign-items: center;\n\tmargin: auto;\n}\n\n.overwrite-saved-game-button {\n\tfont-size: min(125%,4vmin);\n\tflex-basis: 5em;\n\tmargin: 0 0.25em;\n\ttext-align: center;\n}\n\n.overwrite-saved-game-button a {\n\tdisplay: block;\n}\n\n\n.how-to-play-fake-status-bar {\n\tdisplay: flex;\n\twidth: 100%;\n\theight: 2em;\n\tpadding-left: min(0.5em,1vw);\n\tpadding-right: min(0.5em,1vw);\n\t\n\tflex-direction: row;\n\tflex-wrap: nowrap;\n\tjustify-content: center;\n\talign-items: center;\n\t\n\tbackground: #000;\n\tborder: 2px solid #CCC;\n\n}
.ship-upgrade-list-row {\n\tdisplay: flex;\n\tcolor: #ffffff;\n\tborder: 1px solid #999999;\n\ttext-shadow: 0px 0px 10px #999999;\n\tmargin: 0.25em 0;\n\tline-height: 125%;\n\tpadding: 0.5em;\n}\n\n.ship-upgrade-list-icon {\n\tdisplay: block;\n\tflex-grow: 0;\n\tflex-shrink: 0;\n\tflex-basis: 3em;\n}\n\n.ship-upgrade-list-name {\n\tdisplay: block;\n\tflex-grow: 1;\n\tflex-shrink: 1;\n}\n\n\n.ship-upgrade-list-cost-and-button {\n\tdisplay: block;\n\tflex-grow: 0;\n\tflex-shrink: 0;\n\tflex-basis: 10em;\n\ttext-align: right;\n}\n\n.ship-upgrade-list-cost {\n\tdisplay: inline-block;\n\tpadding-bottom: 0.1em;\n}\n\n.ship-upgrade-list-cost img {\n\twidth: min(2em,5vw);\n\theight: min(2em,5vw);\n\tvertical-align: middle;\n}\n\n.ship-upgrade-list-install-button-disabled,\n.ship-upgrade-list-install-button a {\n\tdisplay: inline-block;\n\tmargin: 0.1em 0em;\n}\n\n\n\n@media only screen and (max-width: 48em) and (orientation: landscape),\n (max-width: 40em) and (orientation: portrait) {\n\t.ship-upgrade-list-cost-and-button {\n\t\tflex-basis: 4em;\n\t}\n}\n\n\ndiv.ship-view-unresearched-upgrade {\n\tdisplay: none;\n\topacity: 0.5;\n}\n\nh2.ship-view-unresearched-upgrade {\n\tdisplay: none;\n\topacity: 0.5;\n}\n\n.ship-view-show-unresearched-upgrades div.ship-view-unresearched-upgrade {\n\tdisplay: flex;\n}\n\n.ship-view-show-unresearched-upgrades h2.ship-view-unresearched-upgrade {\n\tdisplay: initial;\n}
@font-face {\n\tfont-family: "Audiowide-Regular";\n\tsrc: url("data:font/ttf;base64,AAEAAAAQAQAABAAAR1BPU6THl24AAHaEAABAkEdTVUKPwq02AAC3FAAAAupPUy8ya487mQAAZZAAAABgY21hcJHmG2cAAGXwAAADUmN2dCAAKgAAAABqvAAAAAJmcGdtBlmcNwAAaUQAAAFzZ2FzcAAXAAkAAHZ0AAAAEGdseWbe+D/RAAABDAAAW15oZWFkCLOaSQAAX3AAAAA2aGhlYRC6CQMAAGVsAAAAJGhtdHiK/YU1AABfqAAABcRsb2NhxUjdfgAAXIwAAALkbWF4cAOJAkkAAFxsAAAAIG5hbWVpO4/WAABqwAAABFxwb3N0iSfOWgAAbxwAAAdWcHJlcLgAACsAAGq4AAAABAABAEsAAAP1BZoAMgAAARQOBCMVIzUjNSEyPgI3ISIuAjU0PgI3PgMzNTMVMxUhIg4CByEyHgID9SM6Sk5MH+rrAdMHGyAeCv3DGCsfEx4wOhwgPzMkBurr/i0GGyAfCgI9GSogEgLNXY1pRioS+PjpCBkvJxIfKxlWg2FCFRkbDQP4+OoIGC8nEiArAAUATwAMBp8FFwATABcAKwA/AFMAAAEUDgIjIi4CNTQ+AjMyHgIJASMJARQOAiMiLgI1ND4CMzIeAgE0LgIjIg4CFRQeAjMyPgIBNC4CIyIOAhUUHgIzMj4CBp81XHtGR3tdNTVde0dGe1w1/rj9H/AC4v6NNV18RkZ7XDU1XHtGRnxdNQLZFCMvGxswIxUVIzAbGy8jFPxWFCMwHBsvIxQUIy8bHDAjFAFtRntcNTVce0ZGe102Nl17A2T69QUL/qFHe101NV17R0Z7XDU1XHv9bxsvJBUVJC8bGy8jFBQjLwJmGy8jFBQjLxsbMCQUFCQwAAABAHwADAUSBRcAOgAAASMHFA4EIyEiLgInNTQ2Ny4BNTQ+AjMhFSEiDgIXFBYzIRUhIgYdARQWMyEyNjU0PgI7AQUSdQIhNkhNTyP+n12DVSkCLSUrJ0ZqezUCSv22GysfEAFANAFh/p83PUEzAV83Px48Vzl3AW0DQGZNOCMQRmh6NHlPcyo2fjdhhlMl6hEgKxk5PepEM3A2Q0IzK1RDKQABAE3/IwNdBncAHwAAAQcOBRUUHgQfASEuBTU0PgQ3A11cAUFgb2A/P2BvYEEBXP6YJFteWkYrK0ZaXlskBndcAUV4orvNZmfMu6J4RQFcKnWQpbW/YmK/taWQdSoAAQAO/yMDHgZ3AB8AAAEUDgQHITc+BTU0LgQvASEeBQMeK0ZaX1ok/phcAUBgb18/P19vYEABXAFoJFpfWkYrAs1iv7WlkHUqXAFFeKK7zWZmzbuieEUBXCp1kKW1vwAAAQCEAgAD1AWaABEAAAERMxE3FwcXBycRIxEHJzcnNwHE0cR79fV7xNHHefT0eQSYAQL/AI2qsLCqjf8AAQCNqrCwqgABAFMA+AP9BKIACwAAASERIxEhNSERMxEhA/3+oOn+nwFh6QFgAlj+oAFg6gFg/qAAAAEAdAJYBB4DQgADAAABITUhBB78VgOqAljqAAABAFUAAAT1BZoAAwAACQEhAQT1/Hf+6QOKBZr6ZgWaAAMAcgAABvcFmgAdADUATAAAARQOBCMhIi4EPQE0PgIzITIeBBUhNC4CByEmDgIdARQeAjchMj4CNQMeAQ4BBwEOASMiJicuAT4BNwE+AR4BBvctUnCFlk7+K0+WhXBRLWOm2XYB1U6WhXBSLf76OF16Q/4rQXtfOThee0MB1U19WDBxDwoKHRf9QhEkEyA6Eg8KCRwXAsAWMzErAlhYnYZqSygoS2qGnVjqhNyfWShLaoadWE1+WjABAS9Zf07qTn5ZMAEzWn1KAagWMzErD/4rDQoeHBYzMSsPAdUPCgocAAABAEcAAAI3BZoABQAAKQERIxEhAjf+++sB8ASWAQQAAAEAagAABY8FmgApAAApARE0PgQzITI2PQE0JiMhESEyHgQdARQOAiMhIg4CBxUhBY/62xEkOVFqQwJKNTM0Mvy9A0NCalE6JRFJbn83/bQgJhUKAwQhAeElU1JKOSI1M3M1NgEEIjlKUVMkdWWLVycSHiYT3QABAIYAAAU1BZoAHAAAARQOAiMhESEyNj0BIREhNTQjIREhMh4EFQU1SW2AN/y+A0I1M/xWA6po/L4DQkNqUTokEQFtZYtXJgEENjPdAQbbawEEIjlKUVMkAAABAGwAAAWRBZoADgAAKQERISIuAjURIREhESEFkf76/GQcMCMUAQQDGwEGAkoVIzAbAs39tgJKAAEAgAAABaUFmgAlAAABFA4EIyERITI2PQE0JiMhIi4CNREhESEVFBYzITIeAhUFpRElOVFqQvxHA7kxNTQ0/bZli1YnBK78VjYzAkw2gG1JAW0lUlFKOSIBBDwtdDM2SW6ANwHi/vzeNDQnV4xlAAACAHoAAAWfBZoAJgA1AAABITIeAh0BFA4EIyEiLgQ1ETQ+BDMhESEOAxURFRQeAjMhMjY9ATQmIwF+ArQ3f25JESU5UWpD/ikwbWpjSi0tSmNqbTACjP10MlE6ICM8US8B1TI1NDUDUCdXjGV0JVJRSjkiFjFLa4xYAddYjGtMMRb+/AQiOE8x/pJpM1E6HzwtdDM2AAABAEMAAATyBZoACwAAARYUBwEhASERITIWBOEREf0v/tMCqvy2BC0jPQVYH0Uf+ysElgEEIwADAGoAAAWPBZoALAA8AEwAAAEUDgQjISIuAj0BND4CNy4BPQE0PgIzITIeBB0BFAceAxUBNCYjISIGHQEUFjMhMjY1EzQmIyEiBh0BFBYzITI2NQWPESU6UWpC/bQ2gG1JESU6KRISSW2ANgFgQ2tROSQRIyA4Khj+hTYz/qI1MzUxAWA1NHQ3L/20MDg7LQJMMjQBbSVSUUo5IiZXi2V0JlRSShsqViZ1ZIxWJyI5SlFTJHViSBU5Sl04Ako1NjYzdTQ0NTP+KTI3PC10MDk8LQACAFUAAAV6BZoAKAA3AAATNTQ+BDMhMh4EFREUDgQjIREhPgM9ASEiLgQlNC4CIyEiBh0BFBYzIVURJDpRakMB1TBua2JLLS1LYmtuMP13AokxUTsg/U4lUlFKOSIEHyI7US/+KzA5NjUCsAO4dSRTUUo5IhYxTGuMWP4pWIxrSzEWAQQEIDdPM2kRJTlSakMzUjofPC11MzUAAgCIAW0EMgQtAAMABwAAASE1IREhNSEEMvxWA6r8VgOqA0Lr/UDrAAIATwACBP0FmgAeADIAAAEUDgIrARUhETQ+AjMhMjY9ATQmIyERITIeAhUBFA4CIyIuAjU0PgIzMh4CBP0mV4tk3f77FCMvGwFhMzU0NPy+A0I3gG1I/bQUIy8bGi8jFRUjLxobLyMUA7g3gG5J6gFtGy8kFTQ0dTM2AQQnVoxk/FYbLyMUFCMvGxovIxUVIy8AAgB8AAAGFgWaABEAHAAAKQERIREhETQSNiQzITIeAhUBIREhIg4EFQYW/vz8bv78bMABBpsCShswJBT7agOS/jcMTWVwXj0BYP6gAs2dAQi+ahQkMBv9TQIyBxw6ZpltAAACAJUAAAYuBZoAIAA5AAABFA4CIyEiLgI1ETQ+AjMhMh4CHQEUBgceAxUhNC4CIyERITI+Aj0BNCMhESEyPgI1Bi4hS3hX/CUcMCMUFCMwHANmMG5fPy4zLE06Iv78IDpSM/22AdUzUjofNv0bA1oHFBAMATswbl4/FCMwHASUGzAkFCJLeFcxRZ9HG0xkfkwzUTofAQYfOlEzMTj8bgIKGBUAAAEAhAAABZsFmgAbAAApASIuBDURND4EMyERISIGFREUFjMhBZv8ViRTUUo5IhEkOlFqQwOq/FYzNjcyA6oRJDlRa0MCwCRTUUo5Iv78NjX9QjI3AAIAlQAABi4FmgAXACUAAAEUDgIjISIuAjURND4CMyEyHgIVITQuAiMhESEyPgI1Bi5boNyB/UIcMCMUFCMwHAK+gdygW/78MVp9TP3DAj1MfVoxAliD3J9aFCMwHASUGzAkFFqf3YJMflkx/G4xWX1NAAIAkQAABacFmgADABgAAAEhESETISIuAjURND4CMyERIREUFjMhBTL8ywM1dfxWNoBtSRQjMBwEk/vuNjQDqAJKAQb8sCZXi2UDqhswJBT+/PzXMzYAAgCXAAAFrQWaAAMADgAAASERIRMhESERND4CMyEFOfzKAzZ0++7+/BQjMBwEkwJKAQYBRvtqBRcbMCQUAAABAIQAAAYeBZoAKQAAJRQOAiMhIi4ENRE0PgQzIREhIgYVERQWMyERIREhMh4CFQYeFCMwHPxWJFNRSjkiESQ6UWpDBCH73zM2NzIDKf1MAzUcMCMUgxwwIxQRJDlRa0MCwCRTUUo5Iv78NjX9QjI3AUYBBhUkLxsAAAEAmQAABjIFmgALAAABIREhESERIREhESEBnQORAQT+/Pxv/vwBBANQAkr6ZgJK/bYFmgABAJkAAAGdBZoAAwAAKQERIQGd/vwBBAWaAAEAKAAABU0FmgANAAABFA4CIyERITI2NREhBU02YYZP/EcDuTA2AQYBbU6GYjcBBDcyBC0AAAIAmQAABnYFmgAIAAwAACkBASMRMwEhCQEhESEGdv6P/be3twJJAXH9H/4I/vwBBAJKAQYCSv0z/TMFmgAAAQCXAAAFvAWaAAoAACkBIi4CNREhESEFvPteHDAjFAEEBCEUIzAcBRf7agABAJf/7AccBbUAHQAAKQERAQ4BIyImJwERIRE0Njc2HgIXCQE+ARceARUHHP76/jMRPSMiOxH+Mf78NSsVKicgCwJQAlAXUSwqNgNW/NUfICAfAyv8qgUrLUYMBQMPGxP7+wQFJiALDEYtAAABAJf/7AYwBbMAFQAAJRQOAiMiJicBESERNDY3NhYXAREhBjAVIzAbGDET/Er+/C0jJU4cA7YBBG8cMCMUEhQD4PwOBSsoQRAPDx38IQPyAAIAav/sBngFrgAXAC8AAAEUDgIjISIuAjURND4CMyEyHgIVITQuAiMhIg4CFREUHgIzITI+AjUGeFqg24H+oIHcoFtboNyBAWCB26Ba/vwxWX1L/qBMfVoxMVp9TAFeTH1aMQJEg9ygWVmg3IMBEoLdn1pan92CTX1ZMTFZfU3+7k19WTExWX1NAAEAkwAABiwFmgApAAABFA4EIyERIT4DPQEuAyMhIgYVESERND4CMyEyHgQVBiwsS2JrbTD9tAJMMlE6IAUgN04z/bY0Nv78SW2ANgJMWIxrSzEWA0JZjGtMMBYBBAQhOE8ydjFSOiE2M/vTBC1kjFYnLUtia20wAAIAav8jBngFrgAaADIAAAEUDgIHBSEnISIuAjURND4CMyEyHgIVITQuAiMhIg4CFREUHgIzITI+AjUGeDVhiVQBMP6H+v8AgdygW1ug3IEBYIHboFr+/DFZfUv+oEx9WjExWn1MAV5MfVoxAkRksZBsH/HJWaDcgwESgt2fWlqf3YJNfVkxMVl9Tf7uTX1ZMTFZfU0AAAEAlwAABm4FmgAnAAABFA4EIwEhASMRIT4DPQE0LgIjIREhETQ+AjMhMh4CFQYwLEtia20wAh/+bv3iuwJMMVE7IAsREwj8pv78FCMwHAPbV3hLIQO4WYxrTDEW/isB1QEEBCE4TzOkFhcLAvtqBRcbMCQUP19uMAAAAQBgAAAF+QWaAC4AAAEUDgQjIREhMjY1NC4CIyEiLgI1ND4CMyERISIGFRQWMyEzHgUF+SdAVlxfKvwVA+tLUxYpOyT9qj+SfVNTfZI/A3X8i0pTU0oCVgIqXl1UQSYBpk17XkIqFAEEWEokPCwYLWSidXWhZS3+/FpKS1cBFSxDXnoAAQAoAAAFpwWaAAcAAAEhESERIREhBaf9w/78/cIFfwSW+2oElgEEAAEAegAABhQFmgAaAAAlFA4CIyEiLgQ1ESERFB4EMyERIQYUFCQwG/22U6qfjGk8AQQ9XnBlTQwByQEEgxwwIxQkS3SfzX4Czf0zbphmOhwHBJYAAAH/+//sBjIFmgALAAAJAQ4BIyImJwEhCQEGMv1ZED8mJT8R/VoBIwH4AfoFmvqZICcnIAVn+/cECQABAEf/6Qe+BZoAGwAAAQMOAQcGJicJAQ4BIyImJwMhEwE+ATMyFhcBEwe+8Ag4KClJFf4k/iMROyIvSAjyAQisAZoROyIiOhMBmKwFmvrAKDoIByAiAw788h0gPDAFQPxNAo4dICAd/XIDswABABAAAAY/BZoACwAACQEhCQEhCQEhCQEhAyYBtgFj/ZcCZf6f/kz+Tv6eAmT9mgFgA5oCAP0x/TUB/P4EAssCzwABAFMAAAXtBZoAIwAAARQOBCsBESERIyIuBDURIREUHgIzIT4DNREhBe0tSmNqbTBp/vpoMG1rYkstAQQgOlMzAdUlTkAqAQQDulmMa0wxFv4pAdcWMUxrjVgB4P4gM1E6HwYTLlJEAeAAAQBEAAAFcQWaABMAAAEWBgcBIREhIiYnJjY3ASERITIWBWIPDBr8pgNv+2wmQRARDRkDXPyPBJYmQQVMI00b/EP+/CsjI0wcA70BBCsAAQCG/xQCpQaBABIAAAEhAyERISImJy4BNRE0PgIzIQKl/uoEARb+aRowExIVFiQxGwGZBX36nv75FRITMBoGaBsvIxQAAAEAUQAABPEFmgADAAApAQEhBPH+6fx3ARcFmgABAEf/FAJmBoEAEgAABRQGBw4BIyERIQMhESEyHgIVAmYVEhMvGv5oARUD/uoBmBsxJRZoGjATEhUBBwViAQQUIy8bAAEANQAABNYEOQApAAABFA4CIyEiLgI1ND4CMyEVISIGFRQWMyEyNjURNCYjITUhMh4CFQTWJlWJYv4rNn1rSCZViWIB1f4rNTpDLgHTNTo/MP3FAjs2fWtIAWY2fWtIJlWJYjZ+a0j4QTAzOUAwAWszPPcmVYliAAEAdAAABSIGAgAnAAABFA4EIyEiLgQ1ESERFBYzITI2NRE0JiMhESEyHgQVBSIRJDlRakP+KyVSUUo5IgEEPC0B1TE3Oi7+KwHVJVJRSjgiAW0lUlFKOSIRJDlRa0MElftrMDk6LwFgMTcBBBEkOVFqQwAAAQBkAAAEkQQ5ABkAACkBIi4CNRE0PgQzIREhIgYVERQWMyEEkf0/NoBtSREkOVFqQwLB/T8zNTY0Ar8mV4tlAWAlUlFKOCL+/DQ2/qIzNgABAG4AAAUcBgIAJQAAARQOBCMhIi4ENRE0PgIzIREhIgYVERQWMyEyNjURIQUcIjhKUVMl/itDalE5JBFJbYA2AdX+LTQ2NTMB1TU0AQQBbUNrUTkkESI5SlFTJAFgZItXJv78NTP+ojU2NjMElQAAAQBkAAAFBQQ5ACkAAAEUDgIjITUhMjY1NCYjISIGFREUFjMhFSEiLgI1ETQ+AjMhMh4CBQUmVYli/isB1TU6QS7+KzU6QTAB0/4rNn1rSCZViWIB1TZ9a0gC0zZ9a0j3QTAzOkEw/pU0OvgmVYliAW02fWtIJlWJAAACAH4AAAQ3Bg4AAwATAAABIREhNSEiBhURIRE0PgQzIQQ3/bQCTP22NTb+/CI5SlFSJQJMAzUBBNE1M/teBKJDalE5JBEAAQBk/isFEgQ5ADMAAAUUDgQjIREhMjY1ETQmIyEiBhURFBYzIREhIi4ENRE0PgQzITIeBBUFEiI4SlFTJf4rAdU1NDQ1/iswODY0AdP+KyVSUUo4IhEkOVFqQwHVJVNRSjgiaENrUTkkEQEENjMDNTM1Oy3+oDM2/vwRJDlRa0MBYCVSUUo4IhEkOVFqQwAAAgB+AAAFLAYCAA8AEwAAKQERNCYjIREhMh4EFQEhESEFLP78NDT+KwHVJVJRSjgi/Fb+/AEEAs0zNQEEESQ5UWpD/TMGAgAAAgB+AAABggYCAAMABwAAASE1IREhESEBgv78AQT+/AEEBRfr+f4EOQAAAv5B/isBggYCAAMAEwAAASE1IREUDgQjIREhMjY1ESEBgv78AQQiOEpRUiX+KwHVNDQBBAUX6/mWQ2tROSQRAQQ2MwShAAIAfgAABXAGAgAKAA4AACkBASY3PgE3ASEJASERIQVw/on99CwDAhkWAdsBoP2c/nb+/AEEAfooPBwxEQF//hP9sgYCAAABAHQAAAJVBgIADQAAISMiLgI1ESERFBY7AQJVdDh/bkgBBDwtdCZXi2UElftrMDkAAAEAegAABogEOQAkAAApARE0JiMhESERND4CMyEyFhc1ITIeBBURIRE0JisBFhUEP/78NjX+rv78FCQwGwHVNnw4AWAlUlFKOCL+/DM16g0CzTM1/MsDuBsvIxQmKlARJDlRakP9MwLNMzUwOAAAAQB6AAAFKAQ5ABgAACkBETQuAiMhESERND4CMyEyHgQVBSj+/CM8US/+Of78FCQwGwJKMW1rYUssAlgzUTof/MsDuBsvIxQWMUtrjFgAAgBkAAAFEgQ5ABkAKQAAARQOBCMhIi4CNRE0PgIzITIeAhUFNCYjISIGFREUFjMhMjY1BRIiOEpRUyX+KzaAbUlJbYA2AdVkjFYn/vw2M/4tNDY2NAHTNTQBbUNrUTkkESZXi2UBYGSLVyZIbYA3AjY0NTP+oDM2NjMAAAEAdP6uBSIEOQAnAAABFA4EIyERITI2NRE0JiMhIgYVESERND4EMyEyHgQVBSIiOEpRUiX+KwHVNDQ1M/4tNTb+/CI5SlFTJAHVQ2pROSQRAW1Da1E5JBEBBDYzAV42NDUz++EEH0NqUTkkESI4SlFSJQAAAQBk/q4FEgQ5ACUAAAEhETQmIyEiBhURFBYzIREhIi4CNRE0PgQzITIeBBUFEv78NDX+KzA4NjQB0/4rNoBtSREkOVFqQwHVJVNRSjgi/q4EHzM1Oy3+oDM2/vwmV4tlAWAlUlFKOCIRJDlRakMAAAEAdAAABCwEOQAPAAABISIGFREhETQ+BDMhBCz9tzU2/vwiOUpRUyQCSwM1NTP9MwLNQ2pROSQRAAABAFUAAASPBDkALAAAARQOBCMhESEyNjUmIyEiLgI1ND4CMyERISIOAhUeAzMhMh4CBI8iOEpRUyX9QAK+NTYFZP5tVnhLIT5ebjACf/2DFBcLAgEKDxMJAZNkjFYnAW1Da1E5JBEBBDYzaDxaaC1Xd0oh/vwJDxEIEBIIAUhtgAAAAQAyAAAEUQWaAAsAAAEhESERIREhESERIQRR/jr++f6uAVIBBwHGAzX8ywM1AQQBYf6fAAEAagAABRgEOQAYAAAlFA4CIyEiLgQ1ESERFB4CMyERIQUYFCMvG/20MG1qY0otAQQjPFEvAccBBIMcMCMUFjFLa4xYAlj9qDNROh8DNQAAAQB6//4FhAQ5ABYAAAEGAg4CBCMiLgI1ESERMj4ENwWELHaZveX+850bMCQUAQRfr5yFaEkSBDmJ/vbxzZVVFCMvGwO6/NNSh6y1rkUAAQB6AAAHbgQ/ACYAAAEGAg4DIyIuAjURAQ4BIyIuAjURIREBPgEXHgEVET4DNwduPpCdpKGZRBwwJBT9/BQvGRsvJBUBBAIGHE0lJStUiHVnMQQ5i/7z8MuTUxQjMBwB5f2/FBMUIzAcA7b9mAJDHA8QD0En/ZZRtL/FYgAAAQAHAAAFiAQ5AAsAAAkCIQkBIQkBIQkBBU3+LQIO/pr+pv6m/pkCDf4vAWQBHwEhBDn+Av3FAXn+hwI9Afz+xwE5AAACAHT+KwUiBDkADwAdAAAFFA4EIyERITI2NREhASEiLgI1ESERFBYzIQUiIjhKUVIl/isB1TQ0AQT+lP4rOH9uSAEENjUB02hDa1E5JBEBBDYzBKH7xyZXi2UCzP00MzYAAAEARgAABIoEOQATAAABFgYHASERISImJyY2NwEhESEyFgR6EA8b/acCcfxWKEEQDw8dAlb9jwOsJ0ED6SVMHP2o/vwtIyVNHQJWAQQqAAEAFv8UAx4GgQA2AAABIyIOAh0BERQGBx4BFREUHgI7AREjIi4ENRE0JiMiLgI1ND4CNzI2NRE0PgI7AQMegRk1LBwsIyojJDIyDoGDKV1bUz8lNzEcMCMUFCMvGzY2RnSTTYEFfQsYJhsC/qFNdSs2fDb+niMpFQX++RElOlJqQwFeNTQVIzAbGy8jFQE1MwFhVoZcMAAAAQCI/xQBjQaFAAMAAAUhESEBjf77AQXsB3EAAAEAR/8UA08GgQA4AAABFA4CIyIGFRMUDgQrAQMzMj4CNRE0NjcuATURNS4DKwERMzIeAhUUFhUUFjMeAwNPFCMvGzM3AiZAU1tdKYECgw0yMSQlKCMtBRsoMRqDg1GUcUICNDYbLyMUAs0bMCMVNDX+okNqUjolEQEHBRUpIwFiNnw2K3VNAV8CHCYYCgEEM1+FUQevqzM1ARUjLwAAAQBP/xQDEAaFAAsAAAEzFSMRIREjNTMRIQIw4OD+/N3dAQQFF+r65wUZ6gFuAAEAZAAAA6MFmgAdAAAlIxUjNSIuAj0BND4CMzUzFTMVISIGHQEUFjMhA6P26TV7akYlVIZh6fb+ITg9QDUB3/j4+CVUhmHqNXtqRvj46kI06jZBAAEASwAABroFmgAmAAABIREhMjY9ASEVFA4CIyEiLgI1ESE1ITU0PgIzIREhIgYdASED8f6uAq41NAEESG1/N/zPGy8jFP6uAVImVopkAeD+IDA4AVICVP6wNTGEhGSKViYUIy8bAdPp8jd/bUj+/Dot8gAAAgB2/xQGEAaFAEMAWwAAJRQOBCMhESEyPgI1NC4CIyEiLgQ1NDY3LgE1ND4EMyERISIOAhUUHgIzIR4FFRQGBx4BASImJw4BFRQeAjMhHgEXPgE1NC4CIwYQJ0BWXF8q/BQD7CQ6KhYYKjoi/aoqX1xWQCckGhwiJ0BWXF8qA3X8iyU6KRYXKjojAlgqXl1UQSYmGh0j/AgiSycFBRcqOiMCWCJJJgUGGCo6IrpNe15CKhQBBxgrOiIkPSwZFCpDXntOTnIqLnVITXteQysU/voZKzwiJDwsGAEUK0NefE1NcysvcgIyDQ4OIxclPCsYAgwODiIXJD0sGQAAAQB+AAAGEAYGAEgAAAEUDgIjIREhMjY1JiMhIi4CNTQ+AjsBMjUmIyEiBhURIRE0PgIzITIeBBUUDgIrASIOAhcUHgIzITIeBAYQSG1/N/1EArwzNgNm/m9Wd0ohPl5tLzNoA2X+pDU0/vxIbX83AV5CalE6JRFJbYA3MRQWCgIBCQ4TCQGRQmpROSQRAWpkilYmAQQ1MWk7WmktVXdKIWdoNTP7ZAScZIpWJiE5SVFSJGSLViYKDhIHDxEIASI4SlFTAAMAWf+YBo0GAgAfAC0AOwAAAR4BFREUDgIjISImJwchNy4BNRE0PgIzITIWFzchATQmJwEWMjMhMj4CNSEUFhcBJiIjISIOAhUFylJeWqDbgf6gPHE0Yf7Xw1RcW6DcgQFgPHAzYQEp/ukpJf1rDBcOAV5MfVox+/opJQKVDBYN/qBMfVoxBQpQ3ob+7oPcoFkUEnr3Ud6GARKD3Z9ZFBN7/VRFdSv8twIxWX1NSHIsA0oCMVl9TQABAHAAAAYBBZoAKwAAJSEVITUhNSE1IyIuBDURIREUHgIzIT4DNREhERQOBCsBFSEFDP6w/vz+rgFSaTBsa2FLLAEEIjtRLwHRMVE7IAECLEpiam0wZgFQgYGB6WkWMEtri1gB6P4YM1E5HgIgOU8xAej+GFiLa0swFmkAAQCR/isFPwQ5ABYAACUUDgIjISImJxEhESERFB4CFyERIQU/FCMvG/20M3I4/vwBBCpATyYBxwEEgxwwIxQXHP34Bg79qENSLhUFAzUAAQBmAgoEWwWaAC8AAAEUDgQjISIuAjU0PgIzIRUhIg4CFRQWMyEyPgI1ETQmIyE1ITIeAhUEWw4fMERZOf5vLmtbPSFIdFQBkf5vHSYVCDYqAZEdJhcJOSr+CAH4LmxcPQM7H0REPjAcIEh1VC5rXD3REh0jES0zEhwjEQEtLzLRIUh1VAACAHYCCgRsBZoAFwAtAAABFA4CIyEiLgI1ETQ+AjMhMh4CFSM0LgIjISIOAhURFBYzITI+AjUEbD1cbC7+bi5rWz09W2suAZJUdUkh0QkWJh3+bhAiHBI1KwGSESMcEgM7VHVIICBIdVQBLVR1SCE9XGsuECIdEggWJh3+0y01CRYmHQADAFX/mAUiBKIAHwAnAC8AAAEeAxURFA4EIyEjByE3LgE1ETQ+AjMhMzchARQXASEiBhUFNCcBITI2NQSXIS8dDiI4SlFTJf4rDkz+34o1RkltgDYB1Q9LASP8RhIBe/7dNDYCphP+gwEnNTQD4xxFSkoh/qBDa1E5JBFovCuJZQFgZItXJmn8yykbAgw1MwIqGf32NjMAAAIAWf24BV0GBgADAB0AAAEhESE1ISIGFREUDgQrAREzMjY1ETQ+AjMhBV39uQJH/bk1NCE5SVFSJOroNDZIbX83AkcDMQEEzzUz+odDaVE5JBEBBDUyBXlkilYmAAADAGQA7AQOBK4AEwAXACsAAAEUDgIjIi4CNTQ+AjMyHgIBITUhARQOAiMiLgI1ND4CMzIeAgK6FCMvGxsvIxQUIy8bGy8jFAFU/FYDqv6sFCMvGxsvIxQUIy8bGy8jFAQtGy8jFBQjLxsbLyMUFCMv/hDq/isbLyMUFCMvGxsvIxQUIy8AAAEAaAAABtIFmgApAAABIRUUFjMhESEiLgI9ASE1ITUhNSE1ND4EMyERISIGHQEhFSEVIQQS/q46LgOq/FY3gG5J/q4BUv6uAVIRJTlSakMDqvxWMzUBUv6uAVIBojUwOf78JleLZTXpg+o1JFNRSjki/vw2NTPqgwAAAQBi/xQDIgaFABMAAAEzFSMRMxUjESERIzUzESM1MxEhAkPf39/f/vzd3d3dAQQFF+r9QOr+kQFv6gLA6gFuAAEAZgSHBBAGOQAFAAABJQUnCQEDl/6k/qR5AdUB1QSHtLSoAQr+9gABAGYEcwQQBiUABQAAEwUlFwkB3wFcAVx5/iv+KwYltLSo/vYBCgAAAQDc/jsC+QASACAAAAUyHgIVFA4CIyIuAic1HgEzMjY1NC4CIyIGBzczAiYdSUEsOVtxODNEMSUTKWg4OUwYJCgQFzQUVpxGDidGOTlOMBQFBwgDsBMaFxwQFAsEBgbjAAABAQH+TgMeABIAGwAAJQ4BFRQWMzI+AjcVDgMjIi4CNTQ+AjcCWz1INDkZPTw3EhIzRVg3Nl5HKRAkPCwSLW4xJh4KEBEIugUQDgoULEg0HUlJQhcAAAIBGARaA10GOQATAB8AAAE0PgIzMh4CFRQOAiMiLgI3FBYzMjY1NCYjIgYBGCtMa0FHbUklKEtsQ0VsSyfAMzAwMDAwMDMFSjFXQSYmQVcxMVdCJiZCVzEpODgpKDg4AAIA4QSHBEEGAgADAAcAAAEFJwENAScBApP+hTcBQQIf/oUzAT0FQrtcAR/Au1wBHwAAAQCjBJMD0gYQABkAAAEOBSMiLgQnMx4DMzI+AjcD0gINIjlafVZWflk6IQ8BvQYZMU88O08yGwYGEBlLVVVEKytEVVVLGRIyLiEhLjISAAABAOsEsAOLBZwAAwAAEzUhFesCoASw7OwAAAEAsQSPA8QF5wAfAAABFA4CIyIuAiMiDgIHIzQ+AjMyHgIzMj4CNwPEKERbMzZKOjQgHiMSBgGxKUVbMy9FPDkkHiMSBgEF52CEUSMmLSYeKSgKVYFXKyYtJR4nKAsAAAEAQQNmAZMFXgADAAATMwMj3Ldc9gVe/ggAAQBPA2YBoQVeAAMAAAEjEzMBBbZc9gNmAfgAAAIAQQNmAwMFXgADAAcAABMzAyMBMwMj3Ldc9gIMtlz2BV7+CAH4/ggAAAIATwNmAxIFXgADAAcAAAEjEzMBIxMzAna2XPb987Zc9gNmAfj+CAH4AAEALv9IAYABPwADAAAXIxMz5bdd9bgB9wAAAgAu/0gC8QE/AAMABwAABSMTMwEjEzMCVbZc9v30t131uAH3/gkB9wAAAQDEBIcDFAY1AAMAAAkBByUBMgHiRv32BjX+6Ja7AAABAWIEhwOxBjUAAwAAAQUnAQOx/fZFAeEFQruWARgAAAIA0gSiA6MFpAATACcAAAEUDgIjIi4CNTQ+AjMyHgIFFA4CIyIuAjU0PgIzMh4CAdQVIy8aGy8jFBQjLxsaLyMVAc8VIy8aGy8jFBQjLxsaLyMVBSMbLyMUFCMvGxovIxUVIy8aGy8jFBQjLxsaLyMVFSMvAAACAEsDGwKPBV4AEwAjAAATND4CMzIeAhUUDgIjIi4CNxQWMzI+AjU0LgIjIgZLLU9pPDxqTy4uT2o8PGlPLbQ+LxcoHhERHigXLz4EOzxqTy4uT2o8PGlOLS1OaTwuPhEdJxcXKR4RQAAAAgB+AAAEKAQnAAsADwAAASEVIzUhNSE1MxUhESE1IQQo/qDp/p8BYekBYPxWA6oCWOXl6uXl/L7pAAEAagD4BBQDQgAFAAAlIxEhNSEEFOr9QAOq+AFg6gAAAQCNAhACHgOgABMAAAEUDgIjIi4CNTQ+AjMyHgICHiA3SSkqSTYfHzZJKilJNyAC2SpKNh8fNkoqKEg3ICA3SAAAAQG6BKICvAWkABMAAAEUDgIjIi4CNTQ+AjMyHgICvBUjLxobLyMUFCMvGxovIxUFIxsvIxQUIy8bGi8jFRUjLwAAAQBRAAIBUwEEABMAACUUDgIjIi4CNTQ+AjMyHgIBUxUjLxobLyMUFCMvGxovIxWDGy8jFBQjLxsaLyMVFSMvAAEALv9IAYABPwADAAAXIxMz5bdd9bgB9wAAAgA9/0gBkQQ3ABMAFwAAARQOAiMiLgI1ND4CMzIeAgMjEzMBkRUjLxobLyMUFCMvGxovIxWetlz2A7YbLyMUFCMvGxovIxUVIy/7eAH3AAACAHgAAgF6BDcAEwAnAAAlFA4CIyIuAjU0PgIzMh4CERQOAiMiLgI1ND4CMzIeAgF6FSMvGhsvIxQUIy8bGi8jFRUjLxobLyMUFCMvGxovIxWDGy8jFBQjLxsaLyMVFSMvAxkbLyMUFCMvGxovIxUVIy8AAAIAaP5oAZUEAAADABcAABMzEyETND4CMzIeAhUUDgIjIi4CpbI+/tMUFSMvGhsvIxQUIy8bGi8jFQKi+8YFFxsvIxQUIy8bGi8jFRUjLwAAAgBR/mgE/wQAAB8AMwAANzQ+AjsBNSERFA4CIyEiBh0BFDMhESEiLgQ1ATQ+AjMyHgIVFA4CIyIuAlEmV4tl3QEEFCMvG/6gMzZpA0H8vyVTUUo4IgJMFCMvGxovIxUVIy8aGy8jFEo3gG5J6v6TGy8kFTQ0dWj++xEkOlFqQwOqGy8jFBQjLxsaLyMVFSMvAAADAGAADAWxBRcAAwAJACQAAAkBIwkBIxEjNSEBITU0PgI7ATUhNSEyHgIdARQOAisBFSEEXf0f7wLh/ga2XgEUBD39nhgwRi3x/oMBeS1GLxghNUIi8gGsBRf69QUL/VYB27b7J+kiQzUhN7YhNUIiLy1GMBg3AAAEAGAADAXlBRcAAwAJAA0AGAAACQEjCQEjESM1IQEjETMRISIuAjURMxUhBF39H+8C4f4Gtl4BFARxt7f9+hQhGg63AawFF/r1BQv9VgHbtvsnApH+XA4ZIRMBSe0AAQBXAm0BbAT+AAUAAAEjESM1IQFstl8BFQJtAdu2AAAFAHIADAbtBRcAAwAHABIAFgAoAAAJASMJASMRMxEhIi4CNREzFSEBITUhFxQOAiMhNSERITUhMh4CFQVm/R7vAuECd7a2/foTIhkOtgGs+3v+CgH2PSE1QiL+hwF9/oMBeS1GLxgFF/r1BQv7DgKR/lwOGSETAUntAZG26S1GLxi2ASW2ITVCIgACAHwCbQKvBP4AAwAVAAABITUhFxQOAiMhNSERITUhMh4CFQJy/goB9j0hNUIi/ocBff6DAXktRi8YA1q26S1GLxi2ASW2ITVCIgAAAQBsAm0CzgT+ABoAAAEhNTQ+AjsBNSE1ITIeAh0BFA4CKwEVIQLO/Z4YL0Yt8v6DAXktRi8YITVCIvIBrAJt6SJCNSE4tiE1QiIwLUUwGDcAAAIAYANmArEFXgADAAcAAAEjAzMBIwMzASymJvUBM6Un9QNmAfj+CAH4AAIARwAABY0FXgAbAB8AABMzEzMDMxMzAzMHIwczByMDIxMjAyMTIzczNyMFMzcj79dK80n6SfRK5jTlNd0z3Ur0SvpK80njN9822wGZ+jX6BBQBSv62AUr+tun06f6yAU7+sgFO6fT09AABAGADZgFVBV4AAwAAASMDMwEspib1A2YB+AAAAQBHAMUDzgTlAAoAAAkCIQEmNTQ2NwEDzv2sAlT+if4dLRcUAekE5f3q/fYBqCU9HDISAbYAAQBmAMUD7QTlAAsAAAkBHgEVFAYHASEJAQHYAeoUFxgV/hz+igJU/awE5f5KEjIcHTMS/lgCCgIWAAEAHgK4A1MFnAAKAAAJAhEBNjMyFhcBA1P+Xv5tATskNBkvEQFJArgB0f4xAVABaSkVEv6PAAEAfv6gBPX/iQADAAABITUhBPX7iQR3/qDpAAABAG4B9gSlA2YAHwAAAQ4DIyIuAiMiDgIHET4DMzIeAjMyPgI3BKUVOkZNKD6NkpBAI0pFOxMVPkhLIj2Pk5BAIkpFOxQCXhUkGxAiKCIUICgUAQYVJhsQIioiFCEoFQABAH7//gTfBF4AWQAAARQOAiMhIi4CNTQ+AjsBFSMiDgIVFBY7ATI2PQE0JiMhNSEyHgIdARQGFTMyNjURNC4CIyEiDgIVERQeAjsBFSMiLgI1ETQ+AjMhMh4CFQTfFjJQOf4rIEg+KRYxTznR0QMICAYQC/EICwcW/rABUh9KPioCGwsPFiY0H/4rITUlFBYnNB51dTFyYkEiTnxaAdUxcmJBAbgfSD4qFjJOOR9KPiq2AQULCg4KCw/qCRG3FjJQOewGDAYGFAFfITUlFBYnNB7+KyA1JhW2Ik58WgHVMXJhQSJNfFoAAwB8AAAKKAWaABsAJgAqAAApASIuBCchESERNBI2JDMhMyERIREUFjMhASERISIOBBUFIREhCij8ViRRUEk5JAH8bv78bMABBpsCSgoEi/vuNjQDqPdYA5L+NwxNZXBePQg0/MoDNhAjN05nQf6gAs2dAQi+av78/NczNgFgAjIHHDpmmW2DAQYAAQA1AAAIgAQ5AEoAAAEUDgIjITUhMjY1NCYjISIGFREVHgEzIRUhIiYnDgEjISIuAjU0PgIzIRUhIgYVFBYzITI2NRE0JiMhNSEyFhc+ATMhMh4CCIAmVYli/isB1TU5QC7+KzU6A0AuAdP+KzZ+NitzTf4rNn1rSCZViWIB1f4rNTpDLgHTNTo/MP3FAjs2fTYqdU0B1TZ9a0gC0zZ9a0j3QTAzOkEu/pMKMDT4JyslLSZViWI2fmtI+EEwMzlAMAFrMzz3JiwmLCZViQACAGQAAAi+BDkAOwBLAAABFA4EIyE1ITI2NTQmIyEiBhURFBYzIRUhIiYnDgMjISIuAjURND4CMyEyFhc+ATMhMh4CBTQmIyEiBhURFBYzITI2NQi+ESQ5T2hC/isB1TU6QC/+KzQ6QDAB0/4rN344Gz0/PRz+KzaAbUlJbYA2AdVPdSwrdE4B1TZ+a0j7UDYz/i00NjY0AdM1NALTJFFPSTgh90EwMzpBMP6VNDr4Jy0WIBQKJleLZQFgZItXJi4mJi4mVYlqNjQ1M/6gMzY2MwADAGr/7AqLBa4AJAA8AEAAACkBIi4CJw4BIyEiLgI1ETQ+AjMhMhYXPgEzIREhERQWMyEBNC4CIyEiDgIVERQeAjMhMj4CNSUhESEKi/xWI05NSB1P0Xz+oIHcoFtboNyBAWBjr0gQQCsElPvtNjUDqPrpMVl9S/6gTH1aMTFafUwBXkx9WjEEovzLAzUPHzMkSFFZoNyDARKC3Z9aNTElLf78/NczNgJSTX1ZMTFZfU3+7k19WTExWX1NBgEGAAABAFUAAAbzBZoANwAAARYVESERNCYjISIOAgcVFB4CFyERISIuBD0BND4EMyEyFhc1MzIeAhURIRE0JiMFFgz+/DY0/oMzTjggBSA6UjIBf/6BMG1rYkstFjFMa4xYAX80fTbpN39uSf78NjUEljI3+9MELTM2ITpSMXYyTzghBP78FjBMa4xZdjBta2JLLSYoTidWjGT70wQtMzYAAAIAfACqBSAE8AAfAFkAAAEUDgQjISIuBD0BND4EMyEyHgQVJRQOAgcXPgE9ATQnLgEnJichIg4EHQEUHgQzITI2NwEjNTMyPQEhESMRNDYzITIeAhUFIC1LX2ViJ/7mJ2FlYEstLUtgZWEnARonYmVgSi3+7BstOR3THSaRHDYWGhb+5gcyQkk9KCg9SUMyCAEYCDAh/tcbwj7+x5wuIAGLJTgnFAJvWolkRCkRESlEZIlavFmJZUQpEREpRGWJWQQwSDMgCLQgYUa8uUkODwQEAgQSJUJkSLxIZEIlEgQDCQECnj1A/kkCBCAuGys2GwAAAwB8AKoFIATwAB8APwBgAAABFA4EIyEiLgQ9ATQ+BDMhMh4EFQc1NCcuAScmJyEiDgQdARQeBDMhMj4EByEiLgI1ETQ+AjMhFSEiBiMGIw4BFREUFxQzHgEzIQUgLUtfZWIn/uYnYWVgSy0tS2BlYScBGidiZWBKLZyRHDYWGhb+5gcyQkk9KCg9SUMyCAEYCDJCSD0owP6JGTw0IxIpQTABd/6JAwQCAgECAgEBAgoCAXcCb1qJZEQpEREpRGSJWrxZiWVEKRERKURliVm8vLlJDg8EBAIEEiVCZEi8SGRCJRIEBBMlQmSOEylBLwEYGT0zI5sBAQILAv7oBwICAwMAAgB0A0YF5wWoABwAJAAAASMRAzUGIyImJxUDESMRNDY3NhYXGwE+ARceARUFIxEjESM1IQXnjp8UKhEhCaKJGhcXKw7l6A4rFxcc/NHcjdsCRANOASX+8wIiERECAQ3+2wIQGSUGBhEU/pQBbBQRBgYlGU7+PgHCjAABAFsAAAUKBoUAMgAAARQOAiMhIi4ENRE0PgQzIREhIgYVERQzITI2NRE0LgIrAREzMh4EFQUKSW2AN/4rQ2pROiQRIjlKUVMkAdX+LTU1aAHVNTMeOFM0g4NZjGtMMBYBbWWLVyYiOUpRUyQBYENqUTkkEf78NTP+oms2MwM1MlE6IAEGLUtia24wAAIAQQCDBTkDuAAKABUAAAkCIQEmNTQ2NwEhCQEhASY1NDY3AQMk/i8Bz/6w/pgpFBMBcANh/i8Bz/6w/pcpFRIBcQO4/l/+bAE7IzYYLxEBSf5f/mwBOyQ1GC8RAUkAAAIAWQCDBVEDuAAKABUAAAkBHgEVFAcBIQkBIwEeARUUBwEhCQEDugFwExQp/pj+sAHP/i/JAXESFSn+l/6wAc/+LwO4/rcRLxg2I/7FAZQBof63ES8YNST+xQGUAaEAAAEAdAJYA6cDQgADAAABITUhA6f8zQMzAljqAAABAHQCWAbaA0IAAwAAASE1IQba+ZoGZgJY6gAAAQBBAIMDJAO4AAoAAAkCIQEmNTQ2NwEDJP4vAc/+sP6YKRQTAXADuP5f/mwBOyM2GC8RAUkAAQBZAIMDPQO4AAoAAAkBHgEVFAcBIQkBAaUBcRIVKf6X/rABz/4vA7j+txEvGDUk/sUBlAGhAAABABwADAPtBRcAAwAACQEjAQPt/R/wAuEFF/r1BQsAAAcATwAMCYsFFwATABcAKwA/AFMAZwB7AAABFA4CIyIuAjU0PgIzMh4CCQEjCQEUDgIjIi4CNTQ+AjMyHgIBNC4CIyIOAhUUHgIzMj4CATQuAiMiDgIVFB4CMzI+AgEUDgIjIi4CNTQ+AjMyHgIHNC4CIyIOAhUUHgIzMj4CBp81XHtGR3tdNTVde0dGe1w1/rj9H/AC4v6NNV18RkZ7XDU1XHtGRnxdNQLZFCMvGxswIxUVIzAbGy8jFPxWFCMwHBsvIxQUIy8bHDAjFAdnNVx7Rkd8XDU1XHxHRntcNdEUIy8bGzAjFRUjMBsbLyMUAW1Ge1w1NVx7RkZ7XTY2XXsDZPr1BQv+oUd7XTU1XXtHRntcNTVce/1vGy8kFRUkLxsbLyMUFCMvAmYbLyMUFCMvGxswJBQUJDD90EZ7XDU1XHtGRntdNjZde0YbLyQVFSQvGxsvIxQUIy8AAAEAfgAAAYIEOQADAAApAREhAYL+/AEEBDkAAQB+/q4FLAYCACQAAAEUDgQjIREhMjY1ETQmIyEiBxEhESERPgEzITIeBBUFLCI4SlFSJf4rAdU0NDUz/i1oA/78AQQaNhkB1UNqUTkkEQFtQ2tROSQRAQQ2MwFeNjRe+9cHVP4nCAgiOEpRUiUAAAIAjwEpBMYEMwAfAD8AAAEOAyMiLgIjIg4CBxE+AzMyHgIzMj4CNxEOAyMiLgIjIg4CBxE+AzMyHgIzMj4CNwTGFTpGTSg+jZKQQCNKRTsTFT5ISyI9j5OQQCJKRTsUFTpGTSg+jZKQQCNKRTsTFT5ISyI9j5OQQCJKRTsUAysVJBsQIigiFCAoFAEGFSYbECIqIhQhKBX9XhUkGxAiKSIUISgUAQYVJhwQIykjFCEpFQABAFkCTgFbA1AAEwAAARQOAiMiLgI1ND4CMzIeAgFbFSMvGhsvIxQUIy8bGi8jFQLPGy8jFBQjLxsaLyMVFSMvAAABADcAAAZkBZoAEgAAAQURIREhIi4CNREFESURIRElA2r+2QQh+14cMCMU/vgBCAEEAScDJZT+c/78FCMwHAGLgwETgwJ5/gqTAAEAOQAAA2wGAgAXAAABBREUFjsBESMiLgQ9AQURJREhESUDbP7ZOy11dSVSUUo4Iv74AQgBBAEnAyWU/twwOf78ESQ5UWtDoYMBE4MC4f2ik///AGAAAAX5B78CJgArAAAABwBjAPIBmv//AFUAAASPBk4CJgBIAAAABgBjNyn//wBTAAAF7Qc/AiYAMQAAAAcAcgG+AQr//wB0/isFIgXkAiYATgAAAAcAcgEv/6///wBEAAAFcQe/AiYAMgAAAAcAYwCgAZr//wBGAAAEigZiAiYATwAAAAYAYy09//8AfAAABhYHPgImABkAAAAHAHMBDgGa//8AfAAABhYH0wImABkAAAAHAGYBDgGaAAEAhP47BZsFmgA8AAApAQcyHgIVFA4CIyIuAic1HgEzMjY1NC4CIyIGBzchIi4ENRE0PgQzIREhIgYVERQWMyEFm/3+Gx1JQSw5W3E4M0QwJRMoaTc5TBgkKBAXNBRO/vQkU1FKOSIRJDpRakMDqvxWMzY3MgOqRg4nRjk5TjAUBQcIA7ATGhccEBQLBAYG0REkOVFrQwLAJFNRSjki/vw2Nf1CMjcA//8AkQAABacHzwImAB0AAAAHAHIBzwGa//8Al//sBjAHMQImACYAAAAHAGoBKQFK//8Aav/sBngHPgImACcAAAAHAHMBNQGa//8AegAABhQG+gImAC0AAAAHAHMBDAFW//8ANQAABNYGcgImADYAAAAHAHIBBgA9//8ANQAABNYGcgImADYAAAAGAHGrPf//ADUAAATWBnYCJgA2AAAABgBiSj3//wA1AAAE1gXhAiYANgAAAAYAc0o9//8ANQAABNYGJAImADYAAAAGAGpKPf//ADUAAATWBnYCJgA2AAAABgBmSj0AAQBk/jsEkQQ5ADoAACkBBzIeAhUUDgIjIi4CJzUeATMyNjU0LgIjIgYHNyMiLgI1ETQ+BDMhESEiBhURFBYzIQSR/nIaHUlBLDlbcjgzRDAlEyhpODlMGCQpEBczFE6YNoBtSREkOVFqQwLB/T8zNTY0Ar9GDidGOTlOMBQFBwgDsBMaFxwQFAsEBgbRJleLZQFgJVJRSjgi/vw0Nv6iMzb//wBkAAAFBQZyAiYAOgAAAAcAcgEMAD3//wBkAAAFBQZyAiYAOgAAAAYAcco9//8AZAAABQUGdgImADoAAAAGAGJ5Pf//AGQAAAUFBeECJgA6AAAABgBzeT3//wB+AAADFAZyAiYAnwAAAAcAcv9jAD3///74AAABggZyAiYAnwAAAAcAcf40AD3///8uAAAC2AY5AiYAnwAAAAcAYv7IAAD///+aAAACawXhAiYAnwAAAAcAc/7IAD3//wB6AAAFKAYkAiYAQwAAAAcAagCWAD3//wBkAAAFEgZyAiYARAAAAAcAcgEdAD3//wBkAAAFEgZyAiYARAAAAAYAceA9//8AZAAABRIGdgImAEQAAAAGAGJ/Pf//AGQAAAUSBeECJgBEAAAABgBzfz3//wBkAAAFEgYkAiYARAAAAAYAan89//8AagAABRgGNQImAEoAAAAHAHIBIwAA//8AagAABRgGNQImAEoAAAAGAHHqAP//AGoAAAUYBnYCJgBKAAAABwBiAIUAPf//AGoAAAUYBeECJgBKAAAABwBzAIUAPf//AHwAAAYWB88CJgAZAAAABwBxAKwBmv//AHwAAAYWB4ECJgAZAAAABwBqAQ4Bmv//AGr/7AZ4B5UCJgAnAAAABwBqATUBrv//AHT+KwUiBeECJgBOAAAABwBzAI8APf//AFMAAAXtBz4CJgAxAAAABwBzAOUBmv//AHwAAAYWB9MCJgAZAAAABwBiAQ4Bmv//AJEAAAWnB9MCJgAdAAAABwBiAOEBmv//AHwAAAYWB88CJgAZAAAABwByAdMBmv//AJEAAAWnBz4CJgAdAAAABwBzAR8Bmv//AJEAAAWnB88CJgAdAAAABwBxAJYBmv//AJkAAAMlB88CJgAhAAAABwBy/3QBmv///0gAAALyB9MCJgAhAAAABwBi/uIBmv///7QAAAKFBz4CJgAhAAAABwBz/uIBmv///wkAAAGdB88CJgAhAAAABwBx/kUBmv//AGr/7AZ4B88CJgAnAAAABwByAb4Bmv//AGr/7AZ4B9MCJgAnAAAABwBiATUBmv//AGr/7AZ4B88CJgAnAAAABwBxAJoBmv//AHoAAAYUB30CJgAtAAAABwByAZMBSP//AHoAAAYUB9MCJgAtAAAABwBiAQwBmv//AHoAAAYUB30CJgAtAAAABwBxAJgBSAACACwAAAcYBZoAGwAtAAABFA4CIyEiLgI1ESE1IRE0PgIzITIeAhUFESEyPgI9ATQuAgchESEVBxhfpNl6/T8bLyQV/q4BUhUkLxsCwXXZpWP7bAI8Tn1ZMDhdekP9wgFSAliD3J9aFCMwHAHV6gHVGzAkFFif3IXq/qwzWn1K6k1+WjAB/qzqAAABAGQAAAYYBoUANwAAARQOBCMhIi4ENRE0PgIzIREhIgYVERQWMyEyNjURNC4CKwERMzIeAhc3FwUeARUFEiI4SlFTJf4rQ2pROSQRSW2ANgHV/i00NjUzAdU1NB45UzSDg0t9Y0wb7Wn+9gICAW1Da1E5JBEiOUpRUyQBYGSLVyb+/DUz/qI1NjYzAzUyUTogAQYhOU0sd9GFDBkMAAEAmf+YBjIGDgApAAABPgEzITIeBB0BFA4EIyERIT4DPQE0LgIjISIGBxEhESEBnRo2GAJMWIxrSzEWLEtia20w/bQCTDJROiAfOVIz/bYzNQL+/AEEBNMICCxLYmxtMXVZjGpMMBYBBAQgOE8ydTFSOyEzLfwZBnYAAwBRAAIEJAEEABMAJwA7AAAlFA4CIyIuAjU0PgIzMh4CBRQOAiMiLgI1ND4CMzIeAgUUDgIjIi4CNTQ+AjMyHgIBUxUjLxobLyMUFCMvGxovIxUBaRUjLxobLyMUFCMvGxovIxUBaBUjLxobLyMUFCMvGxovIxWDGy8jFBQjLxsaLyMVFSMvGhsvIxQUIy8bGi8jFRUjLxobLyMUFCMvGxovIxUVIy8AAwB+AAAFrwYOAA8AFQAZAAABISIGFREhETQ+BDMhASEDIREhJyERIQQ3/bY1Nv78IjlKUVIlAkwBdv78Av1EA8QC/vwBBAUKNTP7XgSiQ2pROSQR+fIDNQEE0QEAAAIAfgAABoAGDgAbAB8AACEjIi4CNREhIgYVESERND4EMyEDFBY7AQEhESEGgHQ4f25I/U41Nv78IjlKUVIlA7oCPC10/Sf+RAG8JleLZQOdNTP7XgSiQ2pROSQR+18wOQIxAQQAAAEAKv26ATn/TAADAAATIxMzvpRKxf26AZIAAQA5A8MBRwVUAAMAABMzAyO2kUrEBVT+bwABAEUDwwFTBVQAAwAAEyMTM9iTSsQDwwGRAAEAdAJYBB4DQgADAAABITUhBB78VgOqAljqAAACAEcBWAM7BEIAEQA0AAABFBYzMj4CNTQuAiMiDgIlBx4BFRQGBxcHJwYjIiYnByc3LgE1NDY3JzcXPgEzMhYXNwFRPi8XKB4RER4oFxcoHREB6nELDA8MdZhxNT8fOBpslm0ODQwNb5pmHDsgID8cagLRLz4RHSgXFygeEREeKMZvGjcdIDscc49xGQoLbZZqHD0gHzwccIppDA8PDmsAAf5B/isBggQ5AA8AAAUUDgQjIREhMjY1ESEBgiI4SlFSJf4rAdU0NAEEaENrUTkkEQEENjMEof//AHwAAAYWBvoCJgAZAAAABwBpARsBXv//AHwAAAYWB24CJgAZAAAABwBoARsBXgACAHz+TgbABZoALQA4AAAhIw4BFRQWMzI+AjcVDgMjIi4CNTQ+AjcjESERIRE0EjYkMyEyHgIVASERISIOBBUGFjEzOjQ5GT08NxISM0VYNzZeRykNHi8jDvxu/vxswAEGmwJKGzAkFPtqA5L+NwxNZXBePSpjLSYeChARCLoFEA4KFCxINBtBQj8ZAWD+oALNnQEIvmoUJDAb/U0CMgccOmaZbQD//wCEAAAFmweTAiYAGwAAAAcAcgGmAV7//wCEAAAFmweXAiYAGwAAAAcAYgDnAV7//wCEAAAFmwcCAiYAGwAAAAcAeADjAV7//wCEAAAFmweDAiYAGwAAAAcAYwD4AV7//wCVAAAGLgeDAiYAHAAAAAcAYwEQAV7//wAsAAAHGAWaAgYA4AAA//8AkQAABacG+gImAB0AAAAHAGkA9AFe//8AkQAABacHbgImAB0AAAAHAGgA9AFe//8AkQAABacHAgImAB0AAAAHAHgA9AFeAAIAkf5OBacFmgAwADQAACEjDgEVFBYzMj4CNxUOAyMiLgI1ND4CNyEiLgI1ETQ+AjMhESERFBYzIQMhESEFp9szOTM5GT48NhISM0RYNzZfRikNHS8j/fY2gG1JFCMwHAST++42NAOodfzLAzUqYy0mHgoQEQi6BRAOChQsSDQbQUI/GSZXi2UDqhswJBT+/PzXMzYBRgEGAP//AJEAAAWnB4MCJgAdAAAABwBjAPQBXv//AIQAAAYeB5cCJgAfAAAABwBiATkBXv//AIQAAAYeB24CJgAfAAAABwBoATkBXv//AIQAAAYeBwICJgAfAAAABwB4ATkBXv//AIT9ugYeBZoCJgAfAAAABwDmApoAAP//AJkAAAYyB5cCJgAgAAAABwBiASsBXgACADIAAAaZBZoAEwAXAAABITUhFTMVIxEhESERIREjNTM1IQE1IRUBnQORAQRnZ/78/G/+/GdnAQQDkfxvBKD6+ur8SgJK/bYDtur6/bZmZgD///+TAAACpgdFAiYAIQAAAAcAav7iAV7////NAAACbQb6AiYAIQAAAAcAaf7iAV7///+FAAACtAduAiYAIQAAAAcAaP7iAV4AAQAq/k4CRwWaAB8AACEjDgEVFBYzMj4CNxUOAyMiLgI1ND4CNyMRIQGdMTM6NDkZPTw3EhIzRVg3Nl5HKQ0eLyMOAQQqYy0mHgoQEQi6BRAOChQsSDQbQUI/GQWa//8AmQAAAZ4HAgImACEAAAAHAHj+4gFe//8AmQAAB0cFmgAmACEAAAAHACIB+gAA//8AKAAABp8HlwImACIAAAAHAGICjwFe//8Amf26BnYFmgImACMAAAAHAOYCKQAA//8AlwAABbwHkwImACQAAAAHAHL/egFe//8Al/26BbwFmgImACQAAAAHAOYCPwAA//8AlwAABn4FmgAmACQAAAAHAKMFIwAA//8AlwAABbwGsgImACQAAAAHAOgCJQFe//8Al//sBjAHkwImACYAAAAHAHIBsgFe//8Al/26BjAFswImACYAAAAHAOYCsgAA//8Al//sBjAHgwImACYAAAAHAGMBKQFeAAEAl/26BjAFswAZAAAFFA4CIyERITI2NREBESERNDY3NhYXARMhBjA2YYZP/EgDuDA2/HH+/C0jJU4cA7QCAQTZToZiNwEENzIBFAO3/A4FKyhBEA8PHfwjA/D//wBq/+wGeAb6AiYAJwAAAAcAaQE1AV7//wBq/+wGeAduAiYAJwAAAAcAaAE1AV7//wBq/+wGeAdgAiYAJwAAAAcAZwGDAV7//wCXAAAGbgeTAiYAKgAAAAcAcgGeAV7//wCX/boGbgWaAiYAKgAAAAcA5gKeAAD//wCXAAAGbgeDAiYAKgAAAAcAYwEUAV7//wBgAAAF+QeTAiYAKwAAAAcAcgGYAV7//wBgAAAF+QeXAiYAKwAAAAcAYgDhAV4AAQBg/jsF+QWaAE4AAAEUDgQrAQcyHgIVFA4CIyIuAic1HgEzMjY1NC4CIyIGBzchESEyNjU0LgIjISIuAjU0PgIzIREhIgYVFBYzIR4FBfknQFZcXyrlGx1JQSw5W3E4M0QwJRMoaTc5TBgkKBAXNBRO/ZYD60tTFik7JP2qP5J9U1N9kj8DdfyLSlNTSgJYKl5dVEEmAaZNe15CKhRGDidGOTlOMBQFBwgDsBMaFxwQFAsEBgbRAQRYSiQ8LBgtZKJ1daFlLf78WkpLVwEVLENeev//ACj9ugWnBZoCJgAsAAAABwDmAgwAAP//ACgAAAWnB4MCJgAsAAAABwBjAKwBXgABACgAAAWnBZoADwAAASERIREhNSERIREhESERIQSA/ur+/P7nARn9wgV//cMBFgH0/gwB9OkBuQEE/vz+RwD//wB6AAAGFAdFAiYALQAAAAcAagEbAV7//wB6AAAGFAb6AiYALQAAAAcAaQEbAV7//wB6AAAGFAduAiYALQAAAAcAaAEbAV7//wB6AAAGFAeXAiYALQAAAAcAZgEbAV7//wB6AAAGFAdgAiYALQAAAAcAZwFUAV4AAQB6/k4GFAWaADYAACUUDgIrAQ4BFRQWMzI+AjcVDgMjIi4CNTQ+AjchIi4ENREhERQeBDMhESEGFBQkMBtYMzo0ORk9PDcSEjNFWDc2XkcpDR4vI/7TU6qfjGk8AQQ9XnBlTQwByQEEgxwwIxQqYy0mHgoQEQi6BRAOChQsSDQbQUI/GSRLdJ/NfgLN/TNumGY6HAcElv//AEf/6Qe+B5cCJgAvAAAABwBiAccBXv//AEf/6Qe+B5MCJgAvAAAABwBxATUBXv//AEf/6Qe+B5MCJgAvAAAABwByAloBXv//AEf/6Qe+BwICJgAvAAAABwBzAccBXv//AFMAAAXtB5cCJgAxAAAABwBiAOUBXv//AFMAAAXtB5MCJgAxAAAABwBxAEoBXv//AEQAAAVxB5MCJgAyAAAABwByATkBXv//AEQAAAVxBwICJgAyAAAABwB4AKABXv//AHwAAAooB5MCJgCOAAAABwByA+wBXv//AFn/mAaNB5MCJgBYAAAABwByAd0BXv//ADUAAATWBZwCJgA2AAAABgBpYgD//wA1AAAE1gYQAiYANgAAAAYAaGIAAAEANf5OBNYEOQBEAAABFA4CBw4BFRQWMzI+AjcVDgMjIi4CNTQ+AjchIi4CNTQ+AjMhFSEiBhUUFjMhMjY1ETQmIyE1ITIeAhUE1iVThV8zOTM5GT48NhISM0RYNzZfRikNHTAj/uU2fWtIJlWJYgHV/is1OkMuAdM1Oj8w/cUCOzZ9a0gBZjV7a0kCKmMtJh4KEBEIugUQDgoULEg0G0FCPxkmVYliNn5rSPhBMDM5QDABazM89yZViWL//wBkAAAE2AY1AiYAOAAAAAcAcgEnAAD//wBkAAAEkQY5AiYAOAAAAAYAYlYA//8AZAAABJEFpAImADgAAAAGAHhgAP//AGQAAASRBiUCJgA4AAAABgBjdwD//wBlAAAGnQYCACYAOfcAAAcA6AVKAAAAAQBkAAAF4QYCAC0AAAEzFSMRFA4EIyEiLgQ1ETQ+AjMhESEiBhURFBYzITI2NREjNTM1IQUSz88iOEpRUyX+K0NqUTkkEUltgDYB1f4tNDY1MwHVNTTV1QEEBZ7q/LlDa1E5JBEiOUpRUyQBYGSLVyb+/DUz/qI1NjYzA0fqZP//AGQAAAUFBZwCJgA6AAAABgBpYgD//wBkAAAFBQYQAiYAOgAAAAYAaGIA//8AZAAABQUFpAImADoAAAAGAHhiAAABAGT+TgUFBDkARQAAARQOAiMhNSEyNjU0JiMhIgYVERQWMyEVIw4BFRQWMzI+AjcVDgMjIi4CNTQ+AjcjIi4CNRE0PgIzITIeAgUFJlWJYv4rAdU1OkEu/is1OkEwAdNOMzkzORk+PDYSEjNEWDc2X0YpDR0wI8M2fWtIJlWJYgHVNn1rSALTNn1rSPdBMDM6QTD+lTQ6+CpjLSYeChARCLoFEA4KFCxINBtBQj8ZJlWJYgFtNn1rSCZViQD//wBkAAAFBQYlAiYAOgAAAAYAY2IA//8AZP4rBRIGOQImADwAAAAHAGIAhwAA//8AZP4rBRIGEAImADwAAAAHAGgAhwAA//8AZP4rBRIFpAImADwAAAAHAHgAhwAA//8AZP4rBRIGhwImADwAAAAHAOcCAgEz//8AfgAABUkGOQImAD0AAAAHAGIBOQAAAAL/5wAABSwGAgALABsAAAEzFSMRIREjNTM1IQEhETQmIyERITIeBBUBgpSU/vyXlwEEA6r+/DQ0/isB1SVSUUo4IgWe6vtMBLTqZPn+As0zNQEEESQ5UWpD////eQAAAowF5wImAJ8AAAAHAGr+yAAA////swAAAlMFnAImAJ8AAAAHAGn+yAAA////awAAApoGEAImAJ8AAAAHAGj+yAAAAAIAFP5OAjAGAgAfACMAACEjDgEVFBYzMj4CNxUOAyMiLgI1ND4CNyMRITUhNSEBgi0zOTM5GT48NhISM0RYNzZfRikNHi8jEwEE/vwBBCpjLSYeChARCLoFEA4KFCxINBtBQj8ZBDne6///AAb+KwNHBgIAJgA+AAAABwA/AcUAAP///kH+KwLYBjkCJgDrAAAABwBi/sgAAP//AH79ugVwBgICJgBAAAAABwDmAcEAAAACAH4AAAVwBgIACgAOAAApAQEmNz4BNwEhCQEhESEFcP6J/fQsAwIZFgHbAaD9nP52/vwBBAH6KDwcMREBf/4T/bIGAgD//wB0AAADEAfrAiYAQQAAAAcAcv9fAbb//wB0/boCVQYCAiYAQQAAAAcA5gCPAAD//wB0AAACzgYCACYAQQAAAAcAowFzAAD//wB0AAADmQYCACYAQQAAAAcA6AJGAAD//wB6AAAFKAY1AiYAQwAAAAcAcgEXAAD//wB6/boFKAQ5AiYAQwAAAAcA5gIXAAD//wB6AAAFKAYlAiYAQwAAAAcAYwCNAAD//wBFAAAGAQVUACYA6AAAAAcAQwDZAAAAAQB6/boFKAQ5ACQAAAUUDgQjIREhMjY1EzQuAiMhESERND4CMyEyHgQVBSQiOEpRUiX+KwHVNDQEIzxRL/45/vwUJDAbAkoxbWthSyzZQ2pROiQRAQQ2MwMxM1E6H/zLA7gbLyMUFjFLa4xYAP//AGQAAAUSBZwCJgBEAAAABgBpfwD//wBkAAAFEgYQAiYARAAAAAYAaH8A//8AZAAABRIGAgImAEQAAAAHAGcAzQAA//8AdAAABGUGNQImAEcAAAAHAHIAtAAA//8AdP26BCwEOQImAEcAAAAHAOYBfQAA//8AWwAABCwGJQImAEcAAAAGAGP1AP//AFUAAASPBjUCJgBIAAAABwByALwAAP//AFUAAASPBjkCJgBIAAAABgBiKwAAAQBV/jsEjwQ5AE0AAAEUDgQrAQcyHgIVFA4CIyIuAic1HgEzMjY1NC4CIyIGBzchESEyNjUmIyEiLgI1ND4CMyERISIOAhUeAzMhMh4CBI8iOEpRUyVmGx1JQSw5W3E4M0QxJRMpaDg5TBgkKRAXMxRO/kICvjU2BWT+bVZ4SyE+Xm4wAn/9gxQXCwIBCg8TCQGTZIxWJwFtQ2tROSQRRg4nRjk5TjAUBQcIA7ATGhccEBQLBAYG0QEENjNoPFpoLVd3SiH+/AkPEQgQEggBSG2AAP//ADL9ugRRBZoCJgBJAAAABwDmAS0AAP//ADIAAAWZBZoAJgBJAAAABwDoBEYAAAABADIAAARRBZoAEwAAASERIREhNSE1IREhESERIREhFSEDq/7g/vn+9AEM/q4BUgEHAcb+OgEgAfL+DgHy6VoBBAFh/p/+/FoA//8AagAABRgF5wImAEoAAAAHAGoAjQAA//8AagAABRgFnAImAEoAAAAHAGkAjQAA//8AagAABRgGEAImAEoAAAAHAGgAjQAA//8AagAABRgGOQImAEoAAAAHAGYAjQAA//8AagAABRgGAgImAEoAAAAHAGcAxwAAAAEAav5OBRgEOQA0AAAlFA4CKwEOARUUFjMyPgI3FQ4DIyIuAjU0PgI3ISIuBDURIREUHgIzIREhBRgUIy8bWjM6NDkZPTw3EhIzRVg3Nl5HKQ0eLyP+0zBtamNKLQEEIzxRLwHHAQSDHDAjFCpjLSYeChARCLoFEA4KFCxINBtBQj8ZFjFLa4xYAlj9qDNROh8DNf//AHoAAAduBjkCJgBMAAAABwBiAb4AAP//AHoAAAduBjUCJgBMAAAABwBxARcAAP//AHoAAAduBjUCJgBMAAAABwByAmQAAP//AHoAAAduBaQCJgBMAAAABwBzAhsAAP//AHT+KwUiBjkCJgBOAAAABwBiAJYAAP//AHT+KwUiBjUCJgBOAAAABgBx6AD//wBGAAAEigY1AiYATwAAAAcAcgC6AAD//wBGAAAEigWkAiYATwAAAAYAeC0A//8ANQAACIAGNQImAI8AAAAHAHICtAAA//8AVf+YBSIGNQImAF0AAAAHAHIBJwAAAAEAXQFtBEUELQALAAAJAiEnByEJASEXNwRF/qABYP7Zzc3+2QFh/p8BJ83NBC3+oP6gzMwBYAFgzc0AAAIAi/8UAY8GhQADAAcAAAEhESERIREhAY/+/AEE/vwBBAM1A1D4jwNQAAEAhgJYBDADQgADAAABITUhBDD8VgOqAljqAAACAHQAAgGhBZoAAwAXAAABIwMhAxQOAiMiLgI1ND4CMzIeAgFksz0BLRQVIy8aGy8jFBQjLxsaLyMVAWAEOvrpGy8jFBQjLxsaLyMVFSMvAAAAAQAAAXEAfAAHAFgABAABAAAAAAAKAAACAAFzAAIAAQAAAAAAAAAAAAAARgDAAREBQAFwAZIBqwG5AckCOgJKAoUCsgLOAwYDUQNsA9UEIgQ2BH8EsAUCBSwFZQWQBa8F7AYGBhMGLgZNBmMGmQbBBwYHQgeNB8oIDAggCEoIZwidCL4I8wkaCT0JSwltCakJ4woLCkMKgAqjCusLDwskC0cLaguDC7oL4QwfDFkMkQyuDO8NCQ0xDVgNlw25DeoOEQ5dDmsOug7RDvsPNQ+zEBUQcRCvENYRGRFbEacR1hIZElYSdhKKEp4SzxL6EyoTQxNrE3gTqBO1E8MT2BPtE/oUDxQfFC8UahSfFLwUzBTtFQ4VLhU7FWMVnRXFFg4WShZ5FokWzhb0Fx0XMhdnF3UXkBetF8gX1hgGGHoYvxkmGY8Z7xo+GrcbOBt1G7sb6xwbHCkcNxxSHG4cfh0sHTkdcR1xHcod6x4QHjkeRR5QHlweaB50Hn8eix6XHuse9x8DHw8fGx8nHzIfPR9IH1MfXh+vH7sfxh/RH9wf6B/0IAAgDCAYICQgLyA6IEUgUCBcIGcgcyB/IIsglyCjIK8guyDHINMg3yDrIPchAyEPIRshJyEzIT8hSyFXIWMhbyG0IgMiQCKUIsMi9iMDIxAjHSMrI3sjlyOjI68kAiQOJBokJiQyJD4kRiRSJF4kaiS3JMMkzyTbJOck8yT/JSglNCVAJUwleyWHJZMlnyWrJbclwyXPJdsl5yXzJf8mLSY5JkUmUSZdJmkmdSaBJo0m9ycDJw8nLyc7J0cnUydfJ2sntyfDJ88n2yfnJ/Mn/ygLKBcoIygvKDooRSijKK8ouijFKNAo3CkcKScpMik9KZwppymzKb8pyynXKeMqECocKigqNCppKnUqgSqNKrAqvCrIKtQq4CrsKvgrBCsQK0crUitdK2krdSuBK4wrmCujLA0sGSwlLEosVixiLG4seiyGLNAs3CzoLPQtAC0MLRctIy0uLTotRi1kLXkthy2vAAEAAAABAMUWxneKXw889QAJCAAAAAAAy5lFZAAAAADVMQl//kH9uAqLB+sAAAAJAAIAAAAAAAACmgAAAAAAAAKaAAACmgAABEAASwbuAE8FXwB8A2sATQNrAA4EVwCEBFAAUwSSAHQFRgBVB2cAcgLWAEcGBQBqBcEAhgYwAGwGAQCABfQAegUhAEMF+ABqBfQAVQS7AIgFUwBPBq0AfAZ5AJUF+gCEBpYAlQYLAJEF6ACXBpYAhAbLAJkCNgCZBeAAKAaCAJkF5ACXB7MAlwbHAJcG4gBqBnMAkwbiAGoGngCXBjoAYAXPACgGqwB6Bi7/+wgFAEcGTAAQBkAAUwW1AEQC7ACGBUYAUQLsAEcFOgA1BYYAdATuAGQFmgBuBToAZARnAH4FhgBkBaAAfgIBAH4CAf5BBYgAfgKCAHQG/QB6BZIAegV1AGQFhgB0BYYAZARdAHQEywBVBIIAMgWSAGoFZwB6B04AegWQAAcFoAB0BM8ARgNlABYCFQCIA2UARwNfAE8EFQBkBwkASwZxAHYGRAB+BuQAWQZxAHAFswCRBNIAZgTiAHYFdQBVBcEAWQRxAGQHPgBoA4IAYgR1AGYEdQBmBAkA3AQJAQEEdQEYBHUA4QR1AKMEdQDrBHUAsQHcAEEB2ABPA0wAQQNIAE8BzQAuAz4ALgR1AMQEdQFiBHUA0gLaAEsEpgB+BKAAagKrAI0EdQG6AaQAUQHNAC4CAwA9AfIAeAH/AGgFSgBRBg8AYAZQAGAB6gBXB1kAcgMXAHwDPgBsAw8AYAXWAEcBswBgBDQARwQ0AGYDcQAeBXMAfgURAG4FSgB+CowAfAi3ADUI7ABkCuwAageMAFUFnAB8BZwAfAZtAHQFjgBbBZIAQQWSAFkEGwB0B04AdAN+AEEDfgBZBBMAHAnYAE8CAQB+BZAAfgKaAAAFWwCPAbUAWQaMADcDrQA5BjoAYATLAFUGQABTBaAAdAW1AEQEzwBGBq0AfAatAHwF+gCEBgsAkQbHAJcG4gBqBqsAegU6ADUFOgA1BToANQU6ADUFOgA1BToANQTuAGQFOgBkBToAZAU6AGQFOgBkAgEAfgIB/vgCAf8uAgH/mgWSAHoFdQBkBXUAZAV1AGQFdQBkBXUAZAWSAGoFkgBqBZIAagWSAGoGrQB8Bq0AfAbiAGoFoAB0BkAAUwatAHwGCwCRBq0AfAYLAJEGCwCRAjYAmQI2/0gCNv+0Ajb/CQbiAGoG4gBqBuIAagarAHoGqwB6BqsAegeAACwFhgBkBn4AmQR1AFEGLAB+Bq0AfgF+ACoBiAA5AYYARQSSAHQDggBHAgH+QQatAHwGrQB8Bq0AfAX6AIQF+gCEBfoAhAX6AIQGlgCVB4AALAYLAJEGCwCRBgsAkQYLAJEGCwCRBpYAhAaWAIQGlgCEBpYAhAbLAJkGywAyAjb/kwI2/80CNv+FAjYAKgI2AJkH2gCZBeAAKAaCAJkF5ACXBeQAlwbYAJcF5ACXBscAlwbHAJcGxwCXBscAlwbiAGoG4gBqBuIAagaeAJcGngCXBp4AlwY6AGAGOgBgBjoAYAXPACgFzwAoBc8AKAarAHoGqwB6BqsAegarAHoGqwB6BqsAeggFAEcIBQBHCAUARwgFAEcGQABTBkAAUwW1AEQFtQBECowAfAbkAFkFOgA1BToANQU6ADUE7gBkBO4AZATuAGQE7gBkBs8AZQWGAGQFOgBkBToAZAU6AGQFOgBkBToAZAWGAGQFhgBkBYYAZAWGAGQFoAB+BaD/5wIB/3kCAf+zAgH/awIBABQDxQAGAgH+QQWIAH4FiAB+AoIAdAKCAHQDKAB0A8sAdAWSAHoFkgB6BZIAegZrAEUFkgB6BXUAZAV1AGQFdQBkBF0AdARdAHQEXQBbBMsAVQTLAFUEywBVBIIAMgXLADIEggAyBZIAagWSAGoFkgBqBZIAagWSAGoFkgBqB04AegdOAHoHTgB6B04AegWgAHQFoAB0BM8ARgTPAEYItwA1BXUAVQSiAF0CGQCLBLcAhgIVAHQAAQAAB+v9uAAACuz+Qf7tCosAAQAAAAAAAAAAAAAAAAAAAXEAAwSCAZAABQAABZoFMwAAAR8FmgUzAAAD0QBmAgAAAAIABQMAAAACAASgAABvQAAASgAAAAAAAAAAQU9FRgBAACD7Agfr/bgAAAfrAkgAAACTAAAAAAQ7BZoAAAAgAAQAAAACAAAAAwAAABQAAwABAAAAFAAEAz4AAABCAEAABQACAC4AOQBAAF0AYAB9AH4BfgGSAf8CNwLHAt0DEgMVAyYehR7zIBQgGiAeICIgJiAwIDogRCCsISIiAiISIkj7Av//AAAAIAAvADoAQQBeAGEAfgCgAZIB/AI3AsYC2AMSAxUDJh6AHvIgEyAYIBwgICAmIDAgOSBEIKwhIiICIhIiSPsB//8AAP/dAAD/2AAA/9UADgAA/swAAP60/ZwAAP3V/dP9wAAAAADghgAAAAAAAOC94G7gYuBZ37Tfc96U313eWgXjAAEAQgAAAFwAAABmAAAAAABmAAACIAAAAAACIgAAAAAAAAImAjAAAAIwAjQCOAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAwFwAIUAhgAEAAUABgCHAAcACAAJAAoAegALAHkAfAB7AIgAFwCJABgAjQCKAIsAcQChAH0AVABVAOoAWQFuAFYAcwCUAFsAlwB2AOkAkwBpAHQAdQCEAIMAcgBaAJIAowBkAIEAXACYAIAAfwCCAH4AzADTANEAzQCsAK0AjgCuANUArwDSANQA2QDWANcA2ADgALAA3ADaANsAzgCxAW0AWADfAN0A3gCyAKgA4gBXALQAswC1ALcAtgC4AI8AuQC7ALoAvAC9AL8AvgDAAMEA4QDCAMQAwwDFAMcAxgBfAF0AyQDIAMoAywCpAKAAzwDsASwA7QEtAO4BLgDvAS8A8AEwAPEBMQDyATIA8wEzAPQBNAD1ATUA9gE2APcBNwD4ATgA+QE5APoBOgD7ATsA/AE8AP0BPQD+AT4A/wE/AQABQAEBAUEBAgFCAQMBQwEEAJ8BBQFEAQYBRQEHAUYBRwEIAUgBCQFJAQsBSwEKAUoApAClAQwBTAENAU0BDgFOAU8BDwFQARABUQERAVIBEgFTAJEAkAETAVQBFAFVARUBVgEWAVcBFwFYARgBWQCmAKcBGQFaARoBWwEbAVwBHAFdAR0BXgEeAV8BHwFgASABYQEhAWIBIgFjASYBZwDQASgBaQEpAWoAqgCrASoBawErAWwAaAB4AGYAZQBqAGcBIwFkASQBZQElAWYBJwFoAGsAbABvAG0AbgBwAFMAYQB3AAC4AAAsS7gACVBYsQEBjlm4Af+FuABEHbkACQADX14tuAABLCAgRWlEsAFgLbgAAiy4AAEqIS24AAMsIEawAyVGUlgjWSCKIIpJZIogRiBoYWSwBCVGIGhhZFJYI2WKWS8gsABTWGkgsABUWCGwQFkbaSCwAFRYIbBAZVlZOi24AAQsIEawBCVGUlgjilkgRiBqYWSwBCVGIGphZFJYI4pZL/0tuAAFLEsgsAMmUFhRWLCARBuwQERZGyEhIEWwwFBYsMBEGyFZWS24AAYsICBFaUSwAWAgIEV9aRhEsAFgLbgAByy4AAYqLbgACCxLILADJlNYsEAbsABZioogsAMmU1gjIbCAioobiiNZILADJlNYIyG4AMCKihuKI1kgsAMmU1gjIbgBAIqKG4ojWSCwAyZTWCMhuAFAioobiiNZILgAAyZTWLADJUW4AYBQWCMhuAGAIyEbsAMlRSMhIyFZGyFZRC24AAksS1NYRUQbISFZLQC4AAArACoAAAAAAA4ArgADAAEECQAAAP4AAAADAAEECQABABIA/gADAAEECQACAA4BEAADAAEECQADADgBHgADAAEECQAEACIBVgADAAEECQAFABoBeAADAAEECQAGACIBkgADAAEECQAHAE4BtAADAAEECQAIACQCAgADAAEECQAJACQCAgADAAEECQALADQCJgADAAEECQAMADQCJgADAAEECQANASACWgADAAEECQAOADQDegBDAG8AcAB5AHIAaQBnAGgAdAAgACgAYwApACAAMgAwADEAMgAgAGIAeQAgAEIAcgBpAGEAbgAgAEoALgAgAEIAbwBuAGkAcwBsAGEAdwBzAGsAeQAgAEQAQgBBACAAQQBzAHQAaQBnAG0AYQB0AGkAYwAgACgAQQBPAEUAVABJACkAIAAoAGEAcwB0AGkAZwBtAGEAQABhAHMAdABpAGcAbQBhAHQAaQBjAC4AYwBvAG0AKQAsACAAdwBpAHQAaAAgAFIAZQBzAGUAcgB2AGUAZAANAEYAbwBuAHQAIABOAGEAbQBlACAAIgBBAHUAZABpAG8AdwBpAGQAZQAiAEEAdQBkAGkAbwB3AGkAZABlAFIAZQBnAHUAbABhAHIAMQAuADAAMAAzADsAQQBPAEUARgA7AEEAdQBkAGkAbwB3AGkAZABlAC0AUgBlAGcAdQBsAGEAcgBBAHUAZABpAG8AdwBpAGQAZQAgAFIAZQBnAHUAbABhAHIAVgBlAHIAcwBpAG8AbgAgADEALgAwADAAMwBBAHUAZABpAG8AdwBpAGQAZQAtAFIAZQBnAHUAbABhAHIAQQB1AGQAaQBvAHcAaQBkAGUAIABpAHMAIABhACAAdAByAGEAZABlAG0AYQByAGsAIABvAGYAIABBAHMAdABpAGcAbQBhAHQAaQBjAC4AQQBzAHQAaQBnAG0AYQB0AGkAYwAgACgAQQBPAEUAVABJACkAaAB0AHQAcAA6AC8ALwB3AHcAdwAuAGEAcwB0AGkAZwBtAGEAdABpAGMALgBjAG8AbQAvAFQAaABpAHMAIABGAG8AbgB0ACAAUwBvAGYAdAB3AGEAcgBlACAAaQBzACAAbABpAGMAZQBuAHMAZQBkACAAdQBuAGQAZQByACAAdABoAGUAIABTAEkATAAgAE8AcABlAG4AIABGAG8AbgB0ACAATABpAGMAZQBuAHMAZQAsAA0AVgBlAHIAcwBpAG8AbgAgADEALgAxAC4AIABUAGgAaQBzACAAbABpAGMAZQBuAHMAZQAgAGkAcwAgAGEAdgBhAGkAbABhAGIAbABlACAAdwBpAHQAaAAgAGEAIABGAEEAUQAgAGEAdAA6AA0AaAB0AHQAcAA6AC8ALwBzAGMAcgBpAHAAdABzAC4AcwBpAGwALgBvAHIAZwAvAE8ARgBMAGgAdAB0AHAAOgAvAC8AcwBjAHIAaQBwAHQAcwAuAHMAaQBsAC4AbwByAGcALwBPAEYATAACAAAAAAAA/2YAZgAAAAAAAAAAAAAAAAAAAAAAAAAAAXEAAAABAAIAAwAHAAgACQALAAwADQAOABAAEgATABQAFQAWABcAGAAZABoAGwAcACAAIgAkACUAJgAnACgAKQAqACsALAAtAC4ALwAwADEAMgAzADQANQA2ADcAOAA5ADoAOwA8AD0APgA/AEAARABFAEYARwBIAEkASgBLAEwATQBOAE8AUABRAFIAUwBUAFUAVgBXAFgAWQBaAFsAXABdAF4AXwBgAIIAhACFAIYAiQCRAJYAlwCdAJ4AoQCmALgBAgDCANgA4QDeAOAA3QDfANsA2gDZALYAtwC0ALUAxADFAEMAjQCOAIMAkwCkAIcA3AARAA8AHgAdAKMAogD0APUA8QD2APMA8gAFAAYACgAfACEAQQBCAGEAIwCQAKAAsQCwAIgAigCLAIwAmACpAKoAsgCzAL4AvwC8AMYA1wDuAKwApwDDAOIA4wDkAOUA6wDsAOYA5wBiAGMAZABlAGYAZwBoAGkAagBrAGwAbQBuAG8AcABxAHIAcwB0AHUAdgB3AHgAeQB6AHsAfAB9AH4AfwCAAIEArQCuAK8AugC7AMcAyADJAMoAywDMAM0AzgDPANAA0QDTANQA1QDWAOkA6gDtAKsAwADBAQMBBAEFAQYAvQEHAQgBCQEKAP0BCwEMAP8BDQEOAQ8BEAERARIBEwEUAPgBFQEWARcBGAEZARoBGwEcAPoBHQEeAR8BIAEhASIBIwEkASUBJgEnASgBKQEqASsBLAEtAS4BLwD7ATABMQEyATMBNAE1ATYBNwE4ATkBOgE7ATwBPQE+AT8BQAFBAUIBQwFEAUUA/gFGAUcBAAFIAQEBSQFKAUsBTAFNAU4A+QFPAVABUQFSAVMBVAFVAVYBVwFYAVkBWgFbAVwBXQFeAV8BYAFhAWIBYwFkAWUBZgFnAWgBaQFqAWsA/AFsAW0BbgFvAXABcQFyAXMBdAF1AXYBdwF4AXkBegF7AXwBfQF+APAA6ADvAAQERXVybwd1bmkwMzI2B3VuaTAzMTIHdW5pMDMxNQd1bmkwMEFECGRvdGxlc3NqB0FtYWNyb24GQWJyZXZlB0FvZ29uZWsLQ2NpcmN1bWZsZXgKQ2RvdGFjY2VudAZEY2Fyb24GRGNyb2F0B0VtYWNyb24GRWJyZXZlCkVkb3RhY2NlbnQHRW9nb25lawZFY2Fyb24LR2NpcmN1bWZsZXgKR2RvdGFjY2VudAxHY29tbWFhY2NlbnQLSGNpcmN1bWZsZXgESGJhcgZJdGlsZGUHSW1hY3JvbgZJYnJldmUHSW9nb25lawJJSgtKY2lyY3VtZmxleAxLY29tbWFhY2NlbnQGTGFjdXRlDExjb21tYWFjY2VudARMZG90BkxjYXJvbgZOYWN1dGUMTmNvbW1hYWNjZW50Bk5jYXJvbgNFbmcHT21hY3JvbgZPYnJldmUNT2h1bmdhcnVtbGF1dAZSYWN1dGUMUmNvbW1hYWNjZW50BlJjYXJvbgZTYWN1dGULU2NpcmN1bWZsZXgMVGNvbW1hYWNjZW50BlRjYXJvbgRUYmFyBlV0aWxkZQdVbWFjcm9uBlVicmV2ZQVVcmluZw1VaHVuZ2FydW1sYXV0B1VvZ29uZWsLV2NpcmN1bWZsZXgGV2dyYXZlBldhY3V0ZQlXZGllcmVzaXMLWWNpcmN1bWZsZXgGWWdyYXZlBlphY3V0ZQpaZG90YWNjZW50B0FFYWN1dGULT3NsYXNoYWN1dGUHYW1hY3JvbgZhYnJldmUHYW9nb25lawtjY2lyY3VtZmxleApjZG90YWNjZW50BmRjYXJvbgdlbWFjcm9uBmVicmV2ZQplZG90YWNjZW50B2VvZ29uZWsGZWNhcm9uC2djaXJjdW1mbGV4Cmdkb3RhY2NlbnQMZ2NvbW1hYWNjZW50C2hjaXJjdW1mbGV4BGhiYXIGaXRpbGRlB2ltYWNyb24GaWJyZXZlB2lvZ29uZWsCaWoLamNpcmN1bWZsZXgMa2NvbW1hYWNjZW50DGtncmVlbmxhbmRpYwZsYWN1dGUMbGNvbW1hYWNjZW50Cmxkb3RhY2NlbnQGbGNhcm9uBm5hY3V0ZQxuY29tbWFhY2NlbnQGbmNhcm9uC25hcG9zdHJvcGhlA2VuZwdvbWFjcm9uBm9icmV2ZQ1vaHVuZ2FydW1sYXV0BnJhY3V0ZQxyY29tbWFhY2NlbnQGcmNhcm9uBnNhY3V0ZQtzY2lyY3VtZmxleAx0Y29tbWFhY2NlbnQGdGNhcm9uBHRiYXIGdXRpbGRlB3VtYWNyb24GdWJyZXZlBXVyaW5nDXVodW5nYXJ1bWxhdXQHdW9nb25lawt3Y2lyY3VtZmxleAZ3Z3JhdmUGd2FjdXRlCXdkaWVyZXNpcwt5Y2lyY3VtZmxleAZ5Z3JhdmUGemFjdXRlCnpkb3RhY2NlbnQHYWVhY3V0ZQtvc2xhc2hhY3V0ZQAAAAAAAwAIAAIAEAAB//8AAwABAAAACgAeACwAAWxhdG4ACAAEAAAAAP//AAEAAAABa2VybgAIAAAAAQAAAAEABAACAAAAAwAMDiQrIgABAjwABAAAARkC7gMAAwoDHANiA3AI3AN6A6AD7gPKA9QD7gP0BCYEWASeBNAE9gjmBPwI9AkWCUgFNglmCkYKRglsCYYJ4ApGCkYLkgV4BZ4KUApqCqgK9gXQCwQGQgtGC3QGmAa2C8QN8gvqDAAMCgbsDDAMRgxgDGAMZgyEBwoMzg3yDfIMMAz8DS4NZA2WByQNsAc2DcIN0AdwB44HnAeuC5IN8gf0B/oICAf6CAgIOAg4CC4IOAg4CHYIkgiMCJIIuAjcCNwIuAjKDGAI3AngDIQKag0uC0YNwgt0DdAI5gjmCPQJSApGC5IK9gvEC8QLxAvEC8QLxAvqDAoMCgwKDAoMYAxgDGAMYAzODfIN8g3yDfIN8g2WDZYNlg2WCOYI5guSDcILRgjmCUgI5glICUgKRgpGCkYKRguSC5ILkgr2CvYK9gkWDfIMYAjmCOYI5gj0CPQI9Aj0CRYJFglICUgJSAlICUgJZglmCWYJZgpGCkYKRgpGCkYKRgpGCWwJhgngCeAKRgpGCkYKRguSC5ILkgpQClAKUApqCmoKagqoCqgKqAr2CvYK9gr2CvYK9gsECwQLBAsEC0YLRgt0C3QLkgvEC8QLxAvqC+oL6gvqDAAMCgwKDAoMCgwKDDAMMAwwDDAMRgxGDGAMYAxgDGAMYAxmDGYMhAyEDM4MzgzODM4N8g3yDfIM/Az8DPwNLg0uDS4NZA1kDZYNlg2WDZYNlg2WDbANsA2wDbANwg3CDdAN0A3yAAIAHQADAAQAAAAGAAgAAgAKABcABQAZADQAEwA2AFAALwBSAFIASgBVAFUASwBXAFgATABdAF0ATgBgAGAATwBrAHAAUAB0AHQAVgB5AHoAVwB+AH4AWQCFAIcAWgCYAJoAXQCcAJ0AYACfAJ8AYgCjAOEAYwDrAQQAogEGAQkAvAEMASkAwAErATMA3gE1AUMA5wFFAUkA9gFMAU4A+wFQAVoA/gFcAWoBCQFsAWwBGAAEAGz/9gBu//YAhf/1AIf/9QACAA7/8gAU//QABABs/+UAbv/lAIX/5QCH/+UAEQAH/8gADf+7AA7/4QAP/+QAEP/lABH/3gAS/+YAE//CABT/6wAV/8YAFv/MABr/4AAp/74AN//tAEL/1wBQ/8wAV//uAAMACP/IADX/3QBS/9wAAgAO/+kAFP/rAAkADP7BAA3/1wAP/+0AE//iABX/1AAW//QAKf/ZAEL/0ABF/8IACgAI/7sADP/WAA7/7wAU/+8ANP/XADX/1QBS/9QAb//uAHD/7gCd/9sAAgAI/+EANP/uAAYACP/IAAz/6gA0/+oANf/nAFL/5wCd/+0AAQAI/+MADAAI/9AADP/yAA7/8wAU//YAFv/0ADT/8AA1/+4AUv/uAHT/8wCF//UAh//1AJ3/9QAMAAj/zAAM//QADv/nABT/5wAW//AANP/gADX/6QBS/+kAdP/qAIX/6wCH/+sAnf/2ABEACP/aAAr/4AAM/5IADf/sAA//7wAT//MAFf/kABf/8AAp/+sAVP/kAG//rABw/6wAhv/RAJn/1wCa/9cAnf+YAKP/2AAMAAj/xgAM/+8ADv/qABT/7AAW//YANP/UADX/4wBS/+MAdP/1AIX/8gCH//IAnf/xAAkACP/CAAz/4QAO//YANP/iADX/3gBS/94Ab//2AHD/9gCd/+QAAQAO//UADgAI/8oACf/tAAz/8AAO/+0AEf/2ABT/7gAW//UAGP/rADT/1QA1/+gAUv/oAGv/9wBt//cAlf/vABAAA//uAAj/5gAM/7EAFf/2ACn/9wBC/+UARf/ZAG//wABw/8AAjf/0AJf/9ACY/+0Amf/0AJr/9ACb//QAnP/tAAkAA//uAAj/wAAM/70ANP/qADX/3QBF//sAUv/cAG//yQBw/8kADAAI/9cADP/YAA7/8QAU//YAGP/yADT/2QA1/9kARf/7AFL/2ABv/+8AcP/vAJX/7wAcAAP/5QAG/+0ACP/zAAz/mgAN/+oADgATABP/9AAUABYAFf/kABgAEAAp/+IANAAOADUAEgBC/8QARf+6AFIAEgBX//cAb/+4AHD/uACN/9gAk//jAJUAFACX/8oAmP/fAJn/2wCa/9sAm//KAJz/3wAVAAP/9gAG//AACf/qAA3/4QAOAAoAE//uABQADAAV//UAGAAHACn/2wA0AAUANQAJAFIACQBr//YAbf/2AJP/0gCVAAsAl//rAJn/0ACa/9AAm//rAAcAB//dAA3/1QAT/94AFf/jABb/6QAp/9kAUP/iAA0ADf/XAA7/3QAR/7QAE//hABT/6wAV/+8AFv/gACn/2AA3/+0AbP+yAG7/sgCF/60Ah/+tAAcAA//wAAz/rQBF//oAb/+qAHD/qgCX/9YAm//WAAYACP/YABj/3QA0/8MAhf/1AIf/9QCV/94ABAAD/+oADP+0AG//vgBw/74ADgAD//YACP/yAAwABQA0/+EANQAJADf/+ABSAAkAbwAGAHAABgCV/+4Al//NAJn/3QCa/90Am//NAAcAB//cAA3/1AAT/94AFf/jABb/6QAp/9gAUP/hAAMACP/NADX/4gBS/+EABAAO/94AEf/kABT/zgAW/98AEQAD//YACP/PAAn/2gAY/8oAGv/7ADT/uQA1//EAUv/yAGv/0wBs/9MAbf/TAG7/0wCF/9MAh//TAJX/0ACZ//cAmv/3AAEADf/xAAMARf/xAG//jwBw/48ACQAD//MADP+nAEL/9gBF/+sAb/+KAHD/igCN//MAl//jAJv/4wACAA//8QAV//UADwAN/+4ADv/gABH/vgAT//UAFP/rABb/6wAp/+8Aa/+bAGz/mQBt/5sAbv+ZAIX/kwCH/5MAmf+8AJr/vAAFABr/ywAp/8EAN//AAEL/zQBX/80AAQAO//YACQAD//UADP+tAA//8wAV//MARf/1AG//kwBw/5MAl//uAJv/7gAEAGz/9QBu//UAhf/uAIf/7gAEAA3/6QAP/+0AE//wABX/4gACAA7/4AAU/+IAAwAI/90ANP/0AEX/+wAIAAj/6wAN//QAKf/rAEL/+QBF//oAk//qAJn/4wCa/+MADAAI/7wADP/VAA7/7wAU//IAGP/vADT/1gA1/9cARf/7AFL/1gBv/+0AcP/tAJX/7gAHAAj/6gAp//AAQv/5AEX/+gCT//MAmf/vAJr/7wABAAj/3gAGAAj/2AAM/+MAQv/7AEX/+ABv//gAcP/4ABYAA//1AAb/7gAJ/+UADAAFAA3/3AAOAAsAE//qABQADQAV//MAGAAIACn/0wA0AAYANQALAFIACgBr//QAbf/0AJP/zACVAAwAl//tAJn/ywCa/8sAm//tABkAA//rAAj/7AAJ/44ADf/yAA7/4gAR/60AFP/sABb/6AAY/8MAKf/qADT/ggA3//sAa/+kAGz/owBt/6QAbv+jAIX/nQCH/50Ak//jAJX/jgCX//QAmf/CAJr/wgCb//QAo/+/AAIACP/gAEX/+wAGAAP/9QAI/+gAFf/1ADT/7QCX/+4Am//uAA8AA//2AAj/0AAJ//AADP/vAA7/8wAW//YANP/vADX/8ABS//AAa//uAGz/8QBt/+4Abv/xAIX/9gCH//YAEwAD/+oACP/qAAz/ngAN//QAD//2ABX/7gAp/+wAQv+1AEX/iABv/7kAcP+5AI3/xwCT/+UAl/+nAJj/yQCZ/8IAmv/CAJv/pwCc/8kAAwAI/9wADP/zAEX/+wAQAAj/4wAM/9kAD//2ABX/8AAp//UAN//7AEL/7ABF/+kAV//6AG//5ABw/+QAjf/yAJf/7gCZ//MAmv/zAJv/7gALAAP/7wAI/98ADP+tAA//9gAV//YAQv/4AEX/7wBv/7IAcP+yAJf/8QCb//EABwAI/+oADf/yACn/8ABC//sAk//pAJn/4gCa/+IADAAI/74ADP/YAA7/8QAU//YAGP/yADT/2QA1/9kARf/7AFL/2ABv/+8AcP/vAJX/7wAJAAj/xwAM//MAGP/gADT/xgA1/+gAUv/pAIX/9wCH//cAlf/gAAUACP/dADT/3ACV/+oAl//qAJv/6gACAAj/7QAM/+0ACQAI/7UADP/TABj/6gA0/88ANf/UAFL/0gBv/9UAcP/VAJX/6AAFABj/3QA0/8MAhf/1AIf/9QCV/94ABgAI/9gAGP/bADT/wgCF//IAh//yAJX/2wABAAj/7gAHAAj/7wA0/+sAlf/0AJf/ywCZ/9wAmv/cAJv/ywASAAP/8wAI/+wACf/dABj/5gA0/+gAa//tAGz/7QBt/+0Abv/tAIX/7QCH/+0Ak//uAJX/7gCX/+sAmf/pAJr/6QCb/+sAo/+ZAAsACP/YAAn/9AAY/9MANP++AGv/9wBs//UAbf/3AG7/9QCF/+4Ah//uAJX/2AAMAAP/8AAI/7wADP+tADT/5wA1/9sARf/6AFL/2wBv/6oAcP+qAJX/8gCX/9YAm//WAA0ACP/OAAn/7QAY/+EANP/HADX/8QBS//EAbP/4AG7/+ACF//QAh//0AJX/2QCZ//gAmv/4AAwAA//wAAj/vQAM/7kANP/nADX/3QBF//oAUv/dAG//xwBw/8cAlf/wAJf/1wCb/9cABgAI/9EAGP/yADT/1wA1//QAUv/0AJX/6AAEAAP/6gAM/64Ab/+7AHD/uwADABj/8QA0/9YAlf/oAAgACP/eABj/9QA0/9kAlf/qAJf/6ACZ//YAmv/2AJv/6AAJAAj/xwAM//IAGP/fADT/xQA1/+kAUv/pAIX/9gCH//YAlf/fAAEAZAAEAAAALQDCATgBsgVkBbIICAhGCIQJVgmYCa4KTAqyDHgOaA5aDmgOihBQEF4RtBLmEbQS5hQwFDAUMBQwFS4VLhVYFY4ZRBlEGl4akBrWG5IbqBsYGxgbkhuoHCIcNAABAC0AAwAGAAcACQAMAA0AEwAUABUAFgAaACkAMwA0ADcAQgBFAFAAUQBXAGsAbABtAG4AbwBwAHkAegB7AHwAfQB+AIUAhwCNAJMAlQCXAJgAmQCaAJsAnACjAUcAHQAi/+sALP/qAC7/5QAw//YAMf/vADb/9gBJ//AATf/2AI//9gCo/+8As//2ALT/9gC1//YAtv/2ALf/9gC4//YA0P/vAQb/6wEZ/+oBGv/qARv/6gEm/+8BJ//vASz/9gEt//YBLv/2AVr/8AFc//ABa//2AB4AIv/1ACv/9gAs/94ALv/YAC//7wAw/+MAMf/tADL/7wBJ/+8Apv/2AKj/7QCq/+8A0P/tAQb/9QEW//YBF//2ARj/9gEZ/94BGv/eARv/3gEi/+8BI//vAST/7wEl/+8BJv/tASf/7QEo/+8BKf/vAVr/7wFc/+8A7AAZ/9oAG//JABz/4AAd/9EAHv/gAB//yQAg/+AAIf/gACL/6wAj/+AAJP/gACX/4AAm/+AAJ/++ACj/2QAq/+AAK//fACz/6gAt/9gALv/xAC//4wAx/98AMv/pADb/zgA4/8cAOf/HADr/xwA7/90APP/HAD3/7gA+/+4APwEFAED/7gBB/+0AQ//XAET/xwBG/8cAR//YAEj/2wBJ/78ASv/BAEv/0QBM/9EATf/xAE7/xgBP/9cAWP++AF3/xwCO/9oAj//OAJD/xwCR/74An//uAKT/4ACl/+0Apv/fAKf/2wCo/98Aqf/GAKr/6QCr/9cArP/aAK3/2gCu/8kAr//RALD/4ACx/74Asv/YALP/zgC0/84Atf/OALb/zgC3/84AuP/OALn/xwC6/8cAu//HALz/xwC9/8cAvv/uAL//7gDA/+4Awf/uAML/1wDD/8cAxP/HAMX/xwDG/8cAx//HAMj/wQDJ/8EAyv/BAMv/wQDM/9oAzf/aAM7/vgDP/8YA0P/fANH/2gDS/9EA0//aANT/0QDV/9EA1v/gANf/4ADY/+AA2f/gANr/vgDb/74A3P++AN3/2ADe/9gA3//YAOD/4ADh/8cA6wEFAOz/2gDt/9oA7v/aAO//yQDw/8kA8f/JAPL/yQDz/+AA9P/gAPX/0QD2/9EA9//RAPj/0QD5/9EA+v/JAPv/yQD8/8kA/f/JAP7/4AD//+ABAP/gAQH/4AEC/+ABA//gAQT/4AEG/+sBB//gAQj/4AEJ/+ABDP/gAQ3/4AEO/+ABD//gARD/vgER/74BEv++ARP/4AEU/+ABFf/gARb/3wEX/98BGP/fARn/6gEa/+oBG//qARz/2AEd/9gBHv/YAR//2AEg/9gBIf/YASL/4wEj/+MBJP/jASX/4wEm/98BJ//fASj/6QEp/+kBKv/aASv/vgEs/84BLf/OAS7/zgEv/8cBMP/HATH/xwEy/8cBM//HATX/xwE2/8cBN//HATj/xwE5/8cBOv/HATv/xwE8/8cBPf/HAT7/7gE//+4BQP/uAUH/7gFC/+4BQ//uAUUBBQFG/+4BR//uAUj/7QFJ/+0BTP/XAU3/1wFO/9cBUP/XAVH/xwFS/8cBU//HAVT/2AFV/9gBVv/YAVf/2wFY/9sBWf/bAVr/vwFc/78BXf/BAV7/wQFf/8EBYP/BAWH/wQFi/8EBY//RAWT/0QFl/9EBZv/RAWf/xgFo/8YBaf/XAWr/1wFr/84BbP/HABMAIv+OACwABQAw/+oANv/aAI//2gCz/9oAtP/aALX/2gC2/9oAt//aALj/2gEG/44BGQAFARoABQEbAAUBLP/aAS3/2gEu/9oBa//aAJUAGf/QABv/5gAd//QAH//mACL/ggAn/9kAKP/kACv/5wAuAA4ANv+pADj/xgA5/8YAOv/GADv/8wA8/8UAQ//QAET/xgBG/8YAR//CAEj/ygBJ/+cASv/aAEv/1wBM/9cATf/hAE7/2QBP/94AWP/ZAF3/xgCO/9AAj/+pAJD/xgCR/9kApv/nAKf/ygCp/9kAq//eAKz/0ACt/9AArv/mAK//9ACx/9kAs/+pALT/qQC1/6kAtv+pALf/qQC4/6kAuf/GALr/xgC7/8YAvP/GAL3/xgDC/9AAw//GAMT/xgDF/8YAxv/GAMf/xgDI/9oAyf/aAMr/2gDL/9oAzP/QAM3/0ADO/9kAz//ZANH/0ADS//QA0//QANT/9ADV//QA2v/ZANv/2QDc/9kA4f/GAOz/0ADt/9AA7v/QAO//5gDw/+YA8f/mAPL/5gD1//QA9v/0APf/9AD4//QA+f/0APr/5gD7/+YA/P/mAP3/5gEG/4IBEP/ZARH/2QES/9kBFv/nARf/5wEY/+cBKv/QASv/2QEs/6kBLf+pAS7/qQEv/8YBMP/GATH/xgEy/8YBM//GATX/xgE2/8YBN//GATj/xgE5/8YBOv/FATv/xQE8/8UBPf/FAUz/0AFN/9ABTv/QAVD/0AFR/8YBUv/GAVP/xgFU/8IBVf/CAVb/wgFX/8oBWP/KAVn/ygFa/+cBXP/nAV3/2gFe/9oBX//aAWD/2gFh/9oBYv/aAWP/1wFk/9cBZf/XAWb/1wFn/9kBaP/ZAWn/3gFq/94Ba/+pAWz/xgAPACL/8QAs//IALv/qADD/4AAy//IAef/uAHr/7gCq//IA4//uAQb/8QEZ//IBGv/yARv/8gEo//IBKf/yAA8ALP/pAC7/6wAv//AAMf/xAKj/8QDQ//EBGf/pARr/6QEb/+kBIv/wASP/8AEk//ABJf/wASb/8QEn//EANAAL/9cAGf/jABv/8wAf//MAIv+ZACf/6wAo//IAK//1ACwACgAuAAoAWP/rAHn/rAB6/6wAjv/jAJH/6wCm//UArP/jAK3/4wCu//MAsf/rAMz/4wDN/+MAzv/rANH/4wDT/+MA2v/rANv/6wDc/+sA4/+sAOz/4wDt/+MA7v/jAO//8wDw//MA8f/zAPL/8wD6//MA+//zAPz/8wD9//MBBv+ZARD/6wER/+sBEv/rARb/9QEX//UBGP/1ARkACgEaAAoBGwAKASr/4wEr/+sAEAAs/+0ALv/jAC//7wAw//QAMf/1AKj/9QDQ//UBGf/tARr/7QEb/+0BIv/vASP/7wEk/+8BJf/vASb/9QEn//UABQAu//IAMP/tAHn/9gB6//YA4//2ACcALP/kAC3/+AAu/+EAL//yADD/4wAx/+0AMv/7AEn/4QBN/+gAT//7AKj/7QCq//sAq//7ALL/+ADQ/+0A3f/4AN7/+ADf//gBGf/kARr/5AEb/+QBHP/4AR3/+AEe//gBH//4ASD/+AEh//gBIv/yASP/8gEk//IBJf/yASb/7QEn/+0BKP/7ASn/+wFa/+EBXP/hAWn/+wFq//sAGQAi/+oALP/sAC7/4gAv//QAMP/aADL/8ABH//sATf/oAHn/7wB6/+8Aqv/wAOP/7wEG/+oBGf/sARr/7AEb/+wBIv/0ASP/9AEk//QBJf/0ASj/8AEp//ABVP/7AVX/+wFW//sAcQAb/+cAHf/zAB//5wAn/9kALgASADAACQA2//EAOP/oADn/6AA6/+gAPP/oAD8A5wBE/+gARv/oAEn/3wBK/+AAS//0AEz/9ABNAAkATv/nAFj/2QBd/+gAj//xAJD/6ACR/9kAqf/nAK7/5wCv//MAsf/ZALP/8QC0//EAtf/xALb/8QC3//EAuP/xALn/6AC6/+gAu//oALz/6AC9/+gAw//oAMT/6ADF/+gAxv/oAMf/6ADI/+AAyf/gAMr/4ADL/+AAzv/ZAM//5wDS//MA1P/zANX/8wDa/9kA2//ZANz/2QDh/+gA6wDnAO//5wDw/+cA8f/nAPL/5wD1//MA9v/zAPf/8wD4//MA+f/zAPr/5wD7/+cA/P/nAP3/5wEQ/9kBEf/ZARL/2QEr/9kBLP/xAS3/8QEu//EBL//oATD/6AEx/+gBMv/oATP/6AE1/+gBNv/oATf/6AE4/+gBOf/oATr/6AE7/+gBPP/oAT3/6AFFAOcBUf/oAVL/6AFT/+gBWv/fAVz/3wFd/+ABXv/gAV//4AFg/+ABYf/gAWL/4AFj//QBZP/0AWX/9AFm//QBZ//nAWj/5wFr//EBbP/oAHgAG//lAB3/5AAf/+UAJ//YACz/ngAt/9AALv+bAC//2AAx/60AOP/yADn/8gA6//IAPP/yAEH/7QBE//IARv/yAEn/zABK/+sATQAFAE7/7gBY/9gAXf/yAJD/8gCR/9gApf/tAKj/rQCp/+4Arv/lAK//5ACx/9gAsv/QALn/8gC6//IAu//yALz/8gC9//IAw//yAMT/8gDF//IAxv/yAMf/8gDI/+sAyf/rAMr/6wDL/+sAzv/YAM//7gDQ/60A0v/kANT/5ADV/+QA2v/YANv/2ADc/9gA3f/QAN7/0ADf/9AA4f/yAO//5QDw/+UA8f/lAPL/5QD1/+QA9v/kAPf/5AD4/+QA+f/kAPr/5QD7/+UA/P/lAP3/5QEQ/9gBEf/YARL/2AEZ/54BGv+eARv/ngEc/9ABHf/QAR7/0AEf/9ABIP/QASH/0AEi/9gBI//YAST/2AEl/9gBJv+tASf/rQEr/9gBL//yATD/8gEx//IBMv/yATP/8gE1//IBNv/yATf/8gE4//IBOf/yATr/8gE7//IBPP/yAT3/8gFI/+0BSf/tAVH/8gFS//IBU//yAVr/zAFc/8wBXf/rAV7/6wFf/+sBYP/rAWH/6wFi/+sBZ//uAWj/7gFs//IAAwBJ//oBWv/6AVz/+gAIAEn/+wBN/9wAT//7AKv/+wFa//sBXP/7AWn/+wFq//sAcQAb/+cAHf/zAB//5wAn/9gALgASADAACAA2//EAOP/pADn/6QA6/+kAPP/oAD8A6ABE/+kARv/pAEn/3gBK/+AAS//0AEz/9ABNAAkATv/nAFj/2ABd/+kAj//xAJD/6QCR/9gAqf/nAK7/5wCv//MAsf/YALP/8QC0//EAtf/xALb/8QC3//EAuP/xALn/6QC6/+kAu//pALz/6QC9/+kAw//pAMT/6QDF/+kAxv/pAMf/6QDI/+AAyf/gAMr/4ADL/+AAzv/YAM//5wDS//MA1P/zANX/8wDa/9gA2//YANz/2ADh/+kA6wDoAO//5wDw/+cA8f/nAPL/5wD1//MA9v/zAPf/8wD4//MA+f/zAPr/5wD7/+cA/P/nAP3/5wEQ/9gBEf/YARL/2AEr/9gBLP/xAS3/8QEu//EBL//pATD/6QEx/+kBMv/pATP/6QE1/+kBNv/pATf/6QE4/+kBOf/pATr/6AE7/+gBPP/oAT3/6AFFAOgBUf/pAVL/6QFT/+kBWv/eAVz/3gFd/+ABXv/gAV//4AFg/+ABYf/gAWL/4AFj//QBZP/0AWX/9AFm//QBZ//nAWj/5wFr//EBbP/pAAMAPwDJAOsAyQFFAMkAVQAL//cAHP/7AB3/+wAe//sAIP/7ACH/+wAj//sAJP/7ACX/+wAm//sAKv/7ACz/nwAt/+4ALv+hAC//2gAw//QAMf/AADL/+gBJ/80ATf/kAE//+wCk//sAqP/AAKr/+gCr//sAr//7ALD/+wCy/+4A0P/AANL/+wDU//sA1f/7ANb/+wDX//sA2P/7ANn/+wDd/+4A3v/uAN//7gDg//sA8//7APT/+wD1//sA9v/7APf/+wD4//sA+f/7AP7/+wD///sBAP/7AQH/+wEC//sBA//7AQT/+wEH//sBCP/7AQn/+wEM//sBDf/7AQ7/+wEP//sBE//7ART/+wEV//sBGf+fARr/nwEb/58BHP/uAR3/7gEe/+4BH//uASD/7gEh/+4BIv/aASP/2gEk/9oBJf/aASb/wAEn/8ABKP/6ASn/+gFa/80BXP/NAWn/+wFq//sATAAZ//UAIv+ZAC4ABwA2/9AAOP/zADn/8wA6//MAPP/yAET/8wBG//MAR//xAEj/+ABd//MAef+PAHr/jwCO//UAj//QAJD/8wCn//gArP/1AK3/9QCz/9AAtP/QALX/0AC2/9AAt//QALj/0AC5//MAuv/zALv/8wC8//MAvf/zAMP/8wDE//MAxf/zAMb/8wDH//MAzP/1AM3/9QDR//UA0//1AOH/8wDj/48A7P/1AO3/9QDu//UBBv+ZASr/9QEs/9ABLf/QAS7/0AEv//MBMP/zATH/8wEy//MBM//zATX/8wE2//MBN//zATj/8wE5//MBOv/yATv/8gE8//IBPf/yAVH/8wFS//MBU//zAVT/8QFV//EBVv/xAVf/+AFY//gBWf/4AWv/0AFs//MAUgAZ//EAIv+UAC4ADQA2/80AOP/tADn/7QA6/+0APP/tAEP/9gBE/+0ARv/tAEf/6wBI//IAXf/tAHn/igB6/4oAjv/xAI//zQCQ/+0Ap//yAKz/8QCt//EAs//NALT/zQC1/80Atv/NALf/zQC4/80Auf/tALr/7QC7/+0AvP/tAL3/7QDC//YAw//tAMT/7QDF/+0Axv/tAMf/7QDM//EAzf/xANH/8QDT//EA4f/tAOP/igDs//EA7f/xAO7/8QEG/5QBKv/xASz/zQEt/80BLv/NAS//7QEw/+0BMf/tATL/7QEz/+0BNf/tATb/7QE3/+0BOP/tATn/7QE6/+0BO//tATz/7QE9/+0BTP/2AU3/9gFO//YBUP/2AVH/7QFS/+0BU//tAVT/6wFV/+sBVv/rAVf/8gFY//IBWf/yAWv/zQFs/+0APwAL/7wAHf/4ACf/7wAs/7kALf/hAC7/uQAv/+MAMf+yAEn/1QBK//UAWP/vAJH/7wCo/7IAr//4ALH/7wCy/+EAyP/1AMn/9QDK//UAy//1AM7/7wDQ/7IA0v/4ANT/+ADV//gA2v/vANv/7wDc/+8A3f/hAN7/4QDf/+EA9f/4APb/+AD3//gA+P/4APn/+AEQ/+8BEf/vARL/7wEZ/7kBGv+5ARv/uQEc/+EBHf/hAR7/4QEf/+EBIP/hASH/4QEi/+MBI//jAST/4wEl/+MBJv+yASf/sgEr/+8BWv/VAVz/1QFd//UBXv/1AV//9QFg//UBYf/1AWL/9QAKACz/2wAu/+kAL//3ARn/2wEa/9sBG//bASL/9wEj//cBJP/3ASX/9wANACz/xQAu/9YAL//uAD8A2ADrANgBGf/FARr/xQEb/8UBIv/uASP/7gEk/+4BJf/uAUUA2ADtABn/zQAb/8EAHP/LAB3/wAAe/8sAH//BACD/ywAh/8sAIv/eACP/ywAk/8sAJf/LACb/ywAn/8EAKP/MACr/ywAr/9AALP+MAC3/vQAu/6EAL/+0ADD/5QAx/7wAMv/JADb/wwA4/8AAOf/AADr/wAA7/80APP/DAD3/zQA+/80APwDnAED/zQBB/8AAQ//NAET/wABG/8AAR//OAEj/0ABJ/8EASv/AAEv/wwBM/8IATf/mAE7/wgBP/8YAWP/BAF3/wACO/80Aj//DAJD/wACR/8EAn//NAKT/ywCl/8AApv/QAKf/0ACo/7wAqf/CAKr/yQCr/8YArP/NAK3/zQCu/8EAr//AALD/ywCx/8EAsv+9ALP/wwC0/8MAtf/DALb/wwC3/8MAuP/DALn/wAC6/8AAu//AALz/wAC9/8AAvv/NAL//zQDA/80Awf/NAML/zQDD/8AAxP/AAMX/wADG/8AAx//AAMj/wADJ/8AAyv/AAMv/wADM/80Azf/NAM7/wQDP/8IA0P+8ANH/zQDS/8AA0//NANT/wADV/8AA1v/LANf/ywDY/8sA2f/LANr/wQDb/8EA3P/BAN3/vQDe/70A3/+9AOD/ywDh/8AA6wDnAOz/zQDt/80A7v/NAO//wQDw/8EA8f/BAPL/wQDz/8sA9P/LAPX/wAD2/8AA9//AAPj/wAD5/8AA+v/BAPv/wQD8/8EA/f/BAP7/ywD//8sBAP/LAQH/ywEC/8sBA//LAQT/ywEG/94BB//LAQj/ywEJ/8sBDP/LAQ3/ywEO/8sBD//LARD/wQER/8EBEv/BARP/ywEU/8sBFf/LARb/0AEX/9ABGP/QARn/jAEa/4wBG/+MARz/vQEd/70BHv+9AR//vQEg/70BIf+9ASL/tAEj/7QBJP+0ASX/tAEm/7wBJ/+8ASj/yQEp/8kBKv/NASv/wQEs/8MBLf/DAS7/wwEv/8ABMP/AATH/wAEy/8ABM//AATX/wAE2/8ABN//AATj/wAE5/8ABOv/DATv/wwE8/8MBPf/DAT7/zQE//80BQP/NAUH/zQFC/80BQ//NAUUA5wFG/80BR//NAUj/wAFJ/8ABTP/NAU3/zQFO/80BUP/NAVH/wAFS/8ABU//AAVT/zgFV/84BVv/OAVf/0AFY/9ABWf/QAVr/wQFc/8EBXf/AAV7/wAFf/8ABYP/AAWH/wAFi/8ABY//CAWT/wgFl/8IBZv/CAWf/wgFo/8IBaf/GAWr/xgFr/8MBbP/AAEYAGf/4ACL/nQA2/9IAOP/3ADn/9wA6//cAPP/2AET/9wBG//cAR//1AF3/9wB5/5MAev+TAI7/+ACP/9IAkP/3AKz/+ACt//gAs//SALT/0gC1/9IAtv/SALf/0gC4/9IAuf/3ALr/9wC7//cAvP/3AL3/9wDD//cAxP/3AMX/9wDG//cAx//3AMz/+ADN//gA0f/4ANP/+ADh//cA4/+TAOz/+ADt//gA7v/4AQb/nQEq//gBLP/SAS3/0gEu/9IBL//3ATD/9wEx//cBMv/3ATP/9wE1//cBNv/3ATf/9wE4//cBOf/3ATr/9gE7//YBPP/2AT3/9gFR//cBUv/3AVP/9wFU//UBVf/1AVb/9QFr/9IBbP/3AAwALP/JAC7/2wAv//YAMP/tAE3/7QEZ/8kBGv/JARv/yQEi//YBI//2AST/9gEl//YAEQAi/+QALP/mAC7/4wAv//YAMP/SADL/6QCq/+kBBv/kARn/5gEa/+YBG//mASL/9gEj//YBJP/2ASX/9gEo/+kBKf/pABAAIv+hAC4ADwAwAAwANv/UAI//1ACz/9QAtP/UALX/1AC2/9QAt//UALj/1AEG/6EBLP/UAS3/1AEu/9QBa//UAB4AIv/CACz/wgAu/9sAL//zADD/0AAy/+EANv/2AE3/3QCP//YAqv/hALP/9gC0//YAtf/2ALb/9gC3//YAuP/2AQb/wgEZ/8IBGv/CARv/wgEi//MBI//zAST/8wEl//MBKP/hASn/4QEs//YBLf/2AS7/9gFr//YABQAs/8kALv/fARn/yQEa/8kBG//JAB4AIv/0ACz/pwAu/8oAL//uADD/6wAx//EAMv/yAEn/2QBN/80AT//nAKj/8QCq//IAq//nAND/8QEG//QBGf+nARr/pwEb/6cBIv/uASP/7gEk/+4BJf/uASb/8QEn//EBKP/yASn/8gFa/9kBXP/ZAWn/5wFq/+cABABB/9sApf/bAUj/2wFJ/9sAMgAL/9wANv/dADj/3QA5/90AOv/dADz/3QBE/90ARv/dAF3/3QCP/90AkP/dALP/3QC0/90Atf/dALb/3QC3/90AuP/dALn/3QC6/90Au//dALz/3QC9/90Aw//dAMT/3QDF/90Axv/dAMf/3QDh/90BLP/dAS3/3QEu/90BL//dATD/3QEx/90BMv/dATP/3QE1/90BNv/dATf/3QE4/90BOf/dATr/3QE7/90BPP/dAT3/3QFR/90BUv/dAVP/3QFr/90BbP/dAAIPMAAEAAAP6BJ0ACwALAAA//r/+v/6//r/+v/6//v/+//7AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAP/z//P/8//z//P/8//6//L/9f/j//X/9f/r//v/+v/5//r/8P/5//kAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAD/+wAAAAAAAAAAAAAAAAAA//sAAAAAAAAAAAAA/+3/5v/t/+n/9P/f/9j/7f/nAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA//T/9P/0//T/9P/0//r/8//1/+//9//3//D/+//6//n/+v/y//n/+QAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAP/i/+L/4v/h/+L/4v/Z//P/8P/0AAAAAP/3AAD/tv/l/+T/+//t/+3/wP9q/8AAAAAAAAAAAAAA//T/9P/t//T/9AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA//sAAAAAAAAAAAAAAAAAAAAA//MAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA//n/+f/5//n/+f/5//v/+//7AAAAAAAAAAAAAP/7AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAP/5//n/+f/5//n/+f/7//v/+wAAAAAAAAAAAAD/+wAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAD/+v/6//r/+v/6//r/+P/7//oAAAAAAAAAAAAA//v/+//6AAD/+v/7//j/+f/4AAAAAAAAAAAAAP/2AAAAAAAA//v/+wAAAAAAAAAAAAAAAAAAAAAAAAAA/9v/2//b/9v/2//bAAD/2v/j/8v/3f/d/9MAAP/3AAAAAP/I//j/+AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAD/9gAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA/83/+//CAAAAAP/qAAAAAAAAAAD/dQAAAAAAAAAAAAD/NP+z/1EAAAAAAAYAAAAAAAAAAAAA//r/tP9t//sAAAAAAAAAAAAAAAD/+f/5//n/+f/5//n/+//7//sAAAAAAAAAAAAA//sAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA//n/+f/5//n/+f/5//v/+//7AAAAAAAAAAAAAP/7AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAP/7AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAD/7//q/+//7P/0/+L/2v/w/+gAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAD/+wAAAAAAAAAAAAAAAAAA/98AAAAAAAAAAAAA/8n/jP/JAAAAAP/1/8//9//4AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA//X/9f/1//T/9f/1AAD/+//7AAAAAAAAAAAAAP/yAAAAAAAAAAAAAAAAAAAAAP/1AAD/+AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAD/0gAAAAAAAAAAAAD/8f/y/+z/6wAA//AAAAAAAAD/+gAAAAAAAP/zAAAAAAAAAAAAAAAAAAD/jv+O/47/j/+O/47/iP/K/83/wgAAAAD/7AAA/1j/tf+b/9L/y//K/7n/NP+5AAAAAAALAAAAAP+8/9v/zv/b/7kAAAAAAAAAAAAA//sAAAAAAAAAAAAA//r/+v/6//r/+v/6//v/+//7AAAAAAAAAAAAAAAAAAD/+wAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAP+5/7n/uf+5/7n/uf+6/9z/1//b//D/8P/i//P/iP/E/7v/6v/U/9T/uP9N/7gACwAAAAAAAAAA/9z/6f/b/+n/1//4AAAAAAAAAAD/7QAAAAAAAAAAAAD/5P/k/+T/5P/k/+T/6f/u/+v/8//4//j/9f/6/9r/7P/l//r/7P/s/+T/s//kAAAAAAAAAAAAAP/x//f/8P/3//L/9gAAAAAAAP/7//f/+f/6//r/+QAA/+H/4f/h/+H/4f/hAAD/3v/m/9D/4f/h/9sAAP/0AAAAAP/O//f/+AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAD/+AAAAAAAAAAAAAAAAAAAAAAAAP/0//T/9P/0//T/9P/vAAAAAAAAAAAAAAAAAAD/vf/4//oAAP/7//v/sv9t/7IAAAAAAAAAAAAAAAAAAP/5AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAD/9//3//f/9//3//cAAP/x//X/4gAAAAD/8AAAAAD/+wAA/+b/+v/6AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAP/8AAAAAAAAAAAAAAAAAAAAAAAAAAD/3AAAAAAAAP/8AAAAAAAAAAAAAAAAAAAAAAAAAAAAAP/4//j/+P/3//j/+AAAAAAAAAAAAAAAAAAAAAD/+QAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAP/4AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAP/4AAAAAAAAAAAAAP/VAAD/1QAAAAAAAAAAAAD/1gAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAP/8//z//P/7//z//P/6AAAAAAAAAAAAAAAAAAD/rAAAAAAAAAAAAAD/qgAA/6oAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA//oAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAP/6AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAP/d/93/3f/d/93/3QAAAAAAAP/cAAAAAAAAAAD/3QAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAP/wAAD/6QAAAAAAAAAAAAAAAAAA/9kAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAP/gAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAD/+wAAAAAAAAAAAAAAAAAAAAAAAAAA/9wAAAAAAAD/+wAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA//oAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA//z//P/8//v//P/8//oAAAAAAAAAAAAAAAAAAP+sAAAAAAAAAAAAAP+qAAD/qgAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAP/4AAAAAAAAAAAAAAAAAAD/7gAAAAAAAAAAAAAAAAAAAAAAAAAA/+kAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAD//P/8//z/+//8//z/+gAAAAAAAAAAAAAAAAAA/8IAAAAAAAAAAAAA/8cAAP/HAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAP/fAAAAAAAAAAAAAP++AAD/vgAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAD/1AAAAAAAAAAAAAD/uwAA/7sAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAD/3P/c/9z/3P/c/9wAAP/4//j/3QAAAAAAAAAA/+UAAAAAAAAAAAAAAAYAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAP/4AAAAAAAAAAAAAAAA//z//P/8//v//P/8AAAAAAAA//YAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAD/9gAAAAAAAAAAAAAAAP/CAAD/wv/z/9v/0P/h/90AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAIAHgALAAsAAAAZABkAAQAbACgAAgAqADIAEAA2ADYAGQA4AD0AGgBAAEEAIABDAEQAIgBGAEkAJABLAE0AKABPAE8AKwBYAFgALABdAF0ALQCkAKgALgCqAL0AMwDCAMcARwDMAM4ATQDQAOEAUADsAQQAYgEGAQkAewEMASkAfwErATMAnQE1AT8ApgFGAUkAsQFMAU4AtQFQAVoAuAFcAVwAwwFjAWYAxAFpAWoAyAFsAWwAygACAGwACwALACsAGwAbAAEAHAAcAAIAHQAdAAMAHgAeAAQAHwAfAAUAIAAgAAYAIQAhAAcAIgAiAAgAIwAjAAkAJAAkAAoAJQAlAAsAJgAmAAwAJwAnAA0AKAAoAA4AKgAqAA8AKwArABAALAAsABEALQAtABIALgAuABMALwAvABQAMAAwABUAMQAxABYAMgAyABcANgA2ABgAOAA4ABkAOQA5ABoAOgA6ABsAOwA7ABwAPAA8AB0APQA9AB4AQABAAB8AQQBBACAAQwBDACEARABEACIARgBGACMARwBHACQASABIACUASQBJACYASwBLACcATABMACgATQBNACkATwBPACoAWABYAA0AXQBdACIApACkAAoApQClACAApgCmABAApwCnACUAqACoABYAqgCqABcAqwCrACoArgCuAAEArwCvAAMAsACwAAwAsQCxAA0AsgCyABIAswC4ABgAuQC5ABkAugC9ABsAwgDCACEAwwDHACIAzgDOAA0A0ADQABYA0gDSAAMA1ADVAAMA1gDZAAcA2gDcAA0A3QDfABIA4ADgAAIA4QDhACIA7wDyAAEA8wD0AAIA9QD5AAMA+gD9AAUA/gD/AAYBAAEEAAcBBgEGAAgBBwEHAAkBCAEJAAoBDAEPAAwBEAESAA0BEwEVAA8BFgEYABABGQEbABEBHAEhABIBIgElABQBJgEnABYBKAEpABcBKwErAA0BLAEuABgBLwEyABkBMwEzABoBNQE5ABsBOgE9AB0BPgE/AB4BRgFHAB8BSAFJACABTAFOACEBUAFQACEBUQFTACIBVAFWACQBVwFZACUBWgFaACYBXAFcACYBYwFmACgBaQFqACoBbAFsACIAAQALAWIACgAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAB8AAAALAAAAIwAAAAwAAAAAABYAAAAAAAAAAAANACcAAAAAAA4AGAAkABoAGQAbACUAHAAAAAAAAAAPAAAAAQADAAIAIgAEACkAKAArACoAJgAAABAABQAAAAYABwARABIACAAUABMAHQAJACEAAAAAAAAAAAAAAAAAAAAAAA0AAAAAAAAAAAAFAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABcAFQAeACAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAB8ADwAFAA0AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAoAAAAAAAAAAAAAAAmAA4AEQAlAAkAHAAhAB8AHwALACMAAAANACQADwAPAA8ADwAPAA8AAQACAAIAAgACACgAKAAoACgAEAAFAAUABQAFAAUACAAIAAgACAAfAB8ADQAJACUAHwAjAB8AIwAjAAAAAAAAAAAADQANAA0AJAAkACQAAAAFAAAAFwAAAAAAAAAAAAAAAAAAACsAHwAfAB8ACwALAAsACwAAAAAAIwAjACMAIwAjAAwADAAMAAwAAAAAAAAAAAAAAAAAAAAAABYAAAAAAAAAAAAAAAAAAAAAAAAADQANAA0AAAAAAAAADgAOAA4AGAAYABgAJAAkACQAJAAkACQAGQAZABkAGQAlACUAHAAcAB8ADQAPAA8ADwABAAEAAQABAAMAAAACAAIAAgACAAIABAAEAAQABAApACkAKAAoACgAKAAAACsAKgAqACYAJgAAAAAAEAAQABAAAAAQAAUABQAFAAcABwAHABEAEQARABIAAAASAAgACAAIAAgACAAIABMAEwATABMACQAJACEAIQAPAAUAAQAAAAoAJgBkAAFsYXRuAAgABAAAAAD//wAFAAAAAQACAAMABAAFYWFsdAAgZnJhYwAmbGlnYQAsb3JkbgAyc3VwcwA4AAAAAQAAAAAAAQAEAAAAAQACAAAAAQADAAAAAQABAAgAEgA4AFYAfgCiAaIBvAJaAAEAAAABAAgAAgAQAAUAgQCEAIMAWwBcAAEABQAOAA8AEAA2AEQAAQAAAAEACAACAAwAAwCBAIQAgwABAAMADgAPABAABAAAAAEACAABABoAAQAIAAIABgAMAOQAAgA+AOUAAgBBAAEAAQA7AAYAAAABAAgAAwABABIAAQEuAAAAAQAAAAUAAgABAA0AFgAAAAYAAAAJABgALgBCAFYAagCEAJ4AvgDYAAMAAAAEAbAA2gGwAbAAAAABAAAABgADAAAAAwGaAMQBmgAAAAEAAAAHAAMAAAADAHAAsAC4AAAAAQAAAAYAAwAAAAMAQgCcAKQAAAABAAAABgADAAAAAwBIAIgAFAAAAAEAAAAGAAEAAQAPAAMAAAADABQAbgA0AAAAAQAAAAYAAQABAIEAAwAAAAMAFABUABoAAAABAAAABgABAAEADgABAAEAhAADAAAAAwAUADQAPAAAAAEAAAAGAAEAAQAQAAMAAAADABQAGgAiAAAAAQAAAAYAAQABAIMAAQACAAwAnQABAAEAEQABAAAAAQAIAAIACgACAFsAXAABAAIANgBEAAQAAAABAAgAAQCIAAUAEAAqAHIASAByAAIABgAQAJ4ABAAMAA0ADQCeAAQAnQANAA0ABgAOACgAMAAWADgAQAB/AAMADAAPAH8AAwCdAA8ABAAKABIAGgAiAIAAAwAMABEAfwADAAwAhACAAAMAnQARAH8AAwCdAIQAAgAGAA4AggADAAwAEQCCAAMAnQARAAEABQANAA4AEACBAIMABAAAAAEACAABAAgAAQAOAAEAAQANAAIABgAOAAUAAwAMAA0ABQADAJ0ADQAA") format("truetype");\n}
window.enterFullScreen = function() {\n\tvar elem = document.documentElement;\n\tif (elem.requestFullscreen) {\n\t\telem.requestFullscreen();\n\t} else if (elem.webkitRequestFullscreen) { /* Safari */\n\t\telem.webkitRequestFullscreen();\n\t} else if (elem.msRequestFullscreen) { /* IE11 */\n\t\telem.msRequestFullscreen();\n\t}\n}\n\nwindow.exitFullScreen = function() {\n\tif (document.exitFullscreen) {\n\t\tdocument.exitFullscreen();\n\t} else if (document.webkitExitFullscreen) { /* Safari */\n\t\tdocument.webkitExitFullscreen();\n\t} else if (document.msExitFullscreen) { /* IE11 */\n\t\tdocument.msExitFullscreen();\n\t}\n}\n\n
data:image/svg+xml;base64,PHN2ZyBzdHlsZT0iaGVpZ2h0OiA1MTJweDsgd2lkdGg6IDUxMnB4OyIgeG1sbnM9Imh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnIiB2aWV3Qm94PSIwIDAgNTEyIDUxMiI+PGcgY2xhc3M9IiIgc3R5bGU9IiIgdHJhbnNmb3JtPSJ0cmFuc2xhdGUoMCwwKSI+PHBhdGggZD0ibTc1LjA1LDIxYy0yOS45NjM5LDAtNTQuMDUsMjQuMDg2MS01NC4wNSw1NC4wNXYxMzYuNDQ2OWg3MS45Njg4YzE0LjQ5ODUsMCAyNi4xNDM3LDExLjY0NSAyNi4xNDM3LDI2LjE0Mzh2Ny4wNWg4NS4xODc2di0xNS43MTU3aDE5Ny4xMDYzYzYuNTQzOCwwIDExLjc0OTksMi43MDg1IDExLjc0OTksNi4xNjg4djQxLjcxMjVjMCwzLjQ2MDItNS4yMDYxLDYuMTY4Ny0xMS43NDk5LDYuMTY4N2gtMTk3LjEwNjN2LTE1LjcxNTZoLTg1LjE4NzZ2Ny4wNWMwLDE0LjQ5ODctMTEuNjQ1MiwyNi4xNDM4LTI2LjE0MzcsMjYuMTQzOGgtNzEuOTY4OHYxMzYuM2MwLDI5Ljk2NCAyNC4wODYxLDU0LjE5NjkgNTQuMDUsNTQuMTk2OWgxMDYuNzc3OXYtOTkuNDM0M2gtMzAuMjU1OGMtMTcuMjg1NiwwLTMxLjEzNzUtMTQuMDAwOS0zMS4xMzc1LTMxLjI4NDR2LTIuMzVoMzQ1LjE1NThjMTQuMTAyMywwIDI1LjQwOTYtMTAuNjU4NyAyNS40MDk2LTIzLjY0Njl2LTMzLjM0MDYtOTAuMDM0NC0zMy4zNDA2YzAtMTIuOTg4Mi0xMS4zMDY0LTIzLjUtMjUuNDA5Ni0yMy41aC0zNDUuMTU1OHYtMi40OTY5YzAtMTcuMjgzNSAxMy44NTE5LTMxLjEzNzUgMzEuMTM3NS0zMS4xMzc1aDMwLjI1NTh2LTk5LjQzNDNoLTEwNi43Nzc5em0xMjkuMjUwMSwwdjk5LjQzNDNoMjg2Ljd2LTQ1LjM4NDNjMC0yOS45NjQtMjQuMDg2MS01NC4wNS01NC4wNS01NC4wNWgtMjMyLjY1em01Mi41ODEyLDI1LjcwMzFjLjg1MDctLjA4NjUgMS43NzA1LDAgMi42NDM4LDAgMTMuOTcxNywwIDI1LjI2MjUsMTEuMjkwNSAyNS4yNjI1LDI1LjI2MjVzLTExLjI5MDgsMjUuMjYyNS0yNS4yNjI1LDI1LjI2MjUtMjUuNDA5Ni0xMS4yOTA1LTI1LjQwOTYtMjUuMjYyNWMwLTEzLjA5ODggMTAuMDA5MS0yMy45NjY5IDIyLjc2NTktMjUuMjYyNXptODAuMzQwOSwwYy44NTAyLS4wODY1IDEuNzcxNSwwIDIuNjQzMywwIDEzLjk3MzEsMCAyNS4yNjI1LDExLjI5MDUgMjUuMjYyNSwyNS4yNjI1cy0xMS4yODk0LDI1LjI2MjUtMjUuMjYyNSwyNS4yNjI1LTI1LjQwOTItMTEuMjkwNS0yNS40MDkyLTI1LjI2MjVjMC0xMy4wOTg4IDEwLjAwODItMjMuOTY2OSAyMi43NjU5LTI1LjI2MjV6bTgwLjE5MzMsMGMuODUxNi0uMDg2NSAxLjc3MDUsMCAyLjY0NDIsMCAxMy45NzEyLDAgMjUuMjYyNSwxMS4yOTA1IDI1LjI2MjUsMjUuMjYyNXMtMTEuMjkxMywyNS4yNjI1LTI1LjI2MjUsMjUuMjYyNS0yNS40MDk2LTExLjI5MDUtMjUuNDA5Ni0yNS4yNjI1YzAtMTMuMDk4OCAxMC4wMTA1LTIzLjk2NjkgMjIuNzY1NC0yNS4yNjI1em0tMjEzLjExNTQsMzQ0Ljg2MjZ2OTkuNDM0M2gyMzIuNjVjMjkuOTYzOSwwIDU0LjA1LTI0LjIzMjkgNTQuMDUtNTQuMTk2OXYtNDUuMjM3NWgtMjg2Ljd6bTU1LjIyNSwyMy4yMDYyYzEzLjk3MjEsMCAyNS4yNjI1LDExLjI5MDUgMjUuMjYyNSwyNS4yNjI1cy0xMS4yOTAzLDI1LjQwOTMtMjUuMjYyNSwyNS40MDkzLTI1LjQwOTYtMTEuNDM3My0yNS40MDk2LTI1LjQwOTMgMTEuNDM3NS0yNS4yNjI1IDI1LjQwOTYtMjUuMjYyNXptODAuMzQwNCwwYzEzLjk3MzEsMCAyNS4yNjI1LDExLjI5MDUgMjUuMjYyNSwyNS4yNjI1cy0xMS4yODk0LDI1LjQwOTMtMjUuMjYyNSwyNS40MDkzLTI1LjQwOTItMTEuNDM3My0yNS40MDkyLTI1LjQwOTMgMTEuNDM3LTI1LjI2MjUgMjUuNDA5Mi0yNS4yNjI1em04MC4xOTQyLDBjMTMuOTcyMiwwIDI1LjI2MjUsMTEuMjkwNSAyNS4yNjI1LDI1LjI2MjVzLTExLjI5MDMsMjUuNDA5My0yNS4yNjI1LDI1LjQwOTMtMjUuNDA5Ni0xMS40MzczLTI1LjQwOTYtMjUuNDA5MyAxMS40MzYtMjUuMjYyNSAyNS40MDk2LTI1LjI2MjV6IiBmaWxsPSIjZmZmIiBmaWxsLW9wYWNpdHk9IjEiPjwvcGF0aD48L2c+PC9zdmc+
data:image/svg+xml;base64,PHN2ZyBzdHlsZT0iaGVpZ2h0OiA1MTJweDsgd2lkdGg6IDUxMnB4OyIgeG1sbnM9Imh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnIiB2aWV3Qm94PSIwIDAgNTEyIDUxMiI+PGcgY2xhc3M9IiIgc3R5bGU9IiIgdHJhbnNmb3JtPSJ0cmFuc2xhdGUoMCwwKSI+PHBhdGggZD0ibTIwNC4xNTM0LDIxYzEyLjIyNjUsNy4wMzQ2IDI0LjQxNSwxNC4xNDkzIDM2LjU3MTYsMjEuMTUgMy4wMDc2LDIuMDI0NiA1LjkyMDcsNC4xODIyIDguODEyNSw2LjMxNTYtNC4xMjg1LDIuNTg1Mi04LjIwMTEsNS4yNTg1LTEyLjA0MzgsOC4yMjUtOC4zODksNi4zOTk5LTE2LjM0NDcsMTMuODEyNi0yMS4xNSwyNC41MjgxLTUuMzM0NSwxMi40NTY0LTYuMTk5NywyNy4yNTk2LTUuODc1LDQxLjQxODcgLjE1NDksOS4xNzIuODg3OSwxOC4zOTU3IDEuOTA5NiwyNy43NTk0LTUuODgzNC03LjMxOTEtMTIuMDAyOS0xNC4yODAxLTE4LjM1OTYtMjAuODU2Mi05Ljc4MjYtMTAuMjQwOC0yMC43NTk0LTIwLjA4MDgtMzMuMzQwNC0yNS4xMTU2LTEwLjk3NDUtNC4xODAyLTIyLjAwMTItMy43NTYyLTMyLjQ1OTYtMi4zNS00Ljg5NDYuNjI5Ny05LjcxNDQsMS41Mjg2LTE0LjU0MDQsMi42NDM3IC41NDA1LTMuNTk5OSAxLjIwNTUtNy4yNjE3IDEuOTA5MS0xMC44Njg3IDMuNjQ2Ny0xMy41NDU0IDcuMzQzNy0yNy4wNjU5IDExLjAxNTktNDAuNjg0NC01LjM2OTMsMTMuMjY1My0xMC43NjE2LDI2LjQ2NS0xNi4xNTY4LDM5LjgwMzEtMS40NjgzLDQuNDc5OS0yLjczMDIsOS4wOTQ0LTMuOTY1NCwxMy42NTk0LTQuNDczLDEuMjE1Ny04Ljk3NDIsMi41MjQ5LTEzLjM2NTMsMy45NjU2LTEzLjMzODIsNS4zOTM4LTI2LjY4MzMsMTAuNjQwMy0zOS45NSwxNi4wMDk0IDEzLjYxODctMy42NzEyIDI3LjI4NDQtNy4zNyA0MC44MzA3LTExLjAxNTYgMy41NTg5LS42OTUyIDcuMDIxNC0xLjIyNjEgMTAuNTc1MS0xLjc2MjUtMS4wOTA5LDQuNzQ3LTIuMDIzOCw5LjQzMTgtMi42NDMzLDE0LjI0NjktMS40MDYyLDEwLjQ1NzEtMS42ODIxLDIxLjQ4NDMgMi40OTY3LDMyLjQ1OTQgNS4wMzYsMTIuNTc5OSAxNC44NzM2LDIzLjU1ODUgMjUuMTE1OSwzMy4zNDA2IDYuNTc0OCw2LjM1NyAxMy41MzYsMTIuNjIzNCAyMC44NTU3LDE4LjUwNjMtOS4zMjE1LTEuMDEzMi0xOC40ODA0LTEuNzU1MS0yNy42MTI1LTEuOTA5NC0xNC4xNTg3LS4zMjUyLTI4LjgxNTcuMzkzOC00MS4yNzE2LDUuNzI4MS0xMC43MTYsNC44MDU2LTE4LjQyMjEsMTIuNzYxMy0yNC44MjE2LDIxLjE1LTIuOTkyLDMuODc1MS01Ljc2NzQsOC4wMjU4LTguMzcyMSwxMi4xOTA2LTIuMTMxNC0yLjg5MzYtNC4xNDQtNS44MDQ4LTYuMTY4OC04LjgxMjUtNy4wMDA2LTEyLjE1NjQtMTQuMTE1LTI0LjM0NTgtMjEuMTUtMzYuNTcxOSA1LjU4NDUsMTMuMTc3NCAxMS4yNzI1LDI2LjQxMDYgMTYuODkwOCwzOS42NTYyIDIuMTA0Nyw0LjE2MDUgNC4yNjYyLDguMTQ5OCA2LjYwOTIsMTIuMTkwNi0yLjMwMzksNC4wMjM2LTQuMzc0Nyw4LjIxMzUtNi40NjI1LDEyLjMzNzUtNS42MTcsMTMuMjQ2My0xMS4zMDc3LDI2LjMzMjYtMTYuODkwOCwzOS41MDk0IDcuMDMzNi0xMi4yMjU2IDE0LjAwNDEtMjQuNDE1MSAyMS4wMDMzLTM2LjU3MTkgMi4wMDI3LTIuOTcyNSA0LjA2MjMtNS45NTQgNi4xNjg4LTguODEyNSAyLjYyMDMsNC4xNDI5IDUuMzgzLDguMTcyMiA4LjM3MjEsMTIuMDQzNyA2LjQsOC4zODk1IDE0LjEwNTYsMTYuNDkyOCAyNC44MjE2LDIxLjI5NjkgMTIuNDU1OSw1LjMzNTUgMjYuOTY2Myw2LjE5OTMgNDEuMTI1LDUuODc1IDkuMDkwOC0uMTU0MiAxOC4zMzI4LS45MDQyIDI3LjYxMjUtMS45MDk0LTcuMjY5OSw1Ljg0ODgtMTQuMTc0NywxMS44OTU0LTIwLjcwOTEsMTguMjEyNS0xMC4yNDIzLDkuNzgyMS0yMC4wNzk5LDIwLjc2MDctMjUuMTE1OSwzMy4zNDA2LTQuMTc4OCwxMC45NzUxLTMuOTAyNCwyMi4wMDIyLTIuNDk2NywzMi40NTk0IC42MjQ4LDQuODU1NSAxLjUzOTgsOS43NTQzIDIuNjQzMywxNC41NDA2LTMuNTUzNy0uNTM4Ni03LjAxNjItMS4yMTQyLTEwLjU3NTEtMS45MDk0LTEzLjU0NjMtMy42NDU2LTI3LjIxMi03LjE5OC00MC44MzA3LTEwLjg2ODggMTMuMjY2Miw1LjM2OSAyNi42MTA5LDEwLjc2MjQgMzkuOTUsMTYuMTU2MiA0LjQzMDcsMS40NTMzIDguODUxNSwyLjc2NTEgMTMuMzY1MywzLjk2NTYgMS4yMTY4LDQuNDc0MiAyLjUyNTgsOC44MjY1IDMuOTY1NCwxMy4yMTg4IDUuMzk1MSwxMy4zMzgxIDEwLjc4NywyNi42ODQ3IDE2LjE1NjgsMzkuOTUtMy42NzEyLTEzLjYxODUtNy4zNjkyLTI3LjI4NTktMTEuMDE1OS00MC44MzEzLS42ODYxLTMuNTE3OS0xLjIzMDktNi45MTctMS43NjI1LTEwLjQyODEgNC43ODIyLDEuMDc2OCA5LjU0MjgsMS44NzI4IDE0LjM5MzcsMi40OTY5IDEwLjQ1ODUsMS40MDYyIDIxLjQ4NTEsMS42ODMzIDMyLjQ1OTYtMi40OTY5IDEyLjU4MDUtNS4wMzUyIDIzLjU1NzgtMTQuNzI3NiAzMy4zNDA0LTI0Ljk2ODggNi4zMTY5LTYuNTM0NyAxMi4zNjM0LTEzLjQzOTcgMTguMjEyNS0yMC43MDk0LTEuMDA1Myw5LjI3OTQtMS43NTU5LDE4LjUyMTQtMS45MDk2LDI3LjYxMjUtLjMyNDMsMTQuMTU4LjY4NzUsMjguNjY5NCA2LjAyMjEsNDEuMTI1IDQuODA0OCwxMC43MTYzIDEyLjc2MTQsMTguMjc1NCAyMS4xNSwyNC42NzUgMy44Mzk5LDIuOTY0OCA3Ljc4OTMsNS43Njk0IDExLjg5NzEsOC4zNzE5LTIuODYwOSwyLjEwNDEtNS42OTI2LDQuMTY3MS04LjY2NTksNi4xNjg4LTEyLjE1NTEsNy4wMDExLTI0LjM0NzQsMTQuMTE1LTM2LjU3MTYsMjEuMTUgMTMuMTc1LTUuNTg0MyAyNi40MTExLTExLjI3MjggMzkuNjU1OC0xNi44OTA2IDQuMTI0Ny0yLjA4NyA4LjE4NDUtNC4yODgzIDEyLjE5MDktNi42MDk0IDQuMDQxNSwyLjM0MzggOC4xNzcsNC41MDQgMTIuMzM3NSw2LjYwOTQgMTMuMjQ1MSw1LjYxNzEgMjYuMzM0MSwxMS4zMDggMzkuNTA5MiwxNi44OTA2LTEyLjIyMzgtNy4wMzM0LTI0LjQxNTYtMTQuMDAzMi0zNi41NzE3LTIxLjAwMzEtMy4wNDMyLTIuMDQ5LTUuODg4MS00LjMwNTYtOC44MTI1LTYuNDYyNSA0LjE1MS0yLjYyNTYgOC4xNjQ4LTUuMjI5NyAxMi4wNDM3LTguMjI1IDguMzg5MS02LjM5OTkgMTYuNDkyMy0xMy45NTgxIDIxLjI5NzEtMjQuNjc1IDUuMzM1NS0xMi40NTQ5IDYuMTk4OC0yNy4xMTM2IDUuODc1LTQxLjI3MTktLjE1NDktOS4wNDkxLS45MTE4LTE4LjIyOTItMS45MDk1LTI3LjQ2NTYgNS44NDkxLDcuMjY5NyAxMi4wNDE4LDE0LjE3NDcgMTguMzU5NiwyMC43MDk0IDkuNzgxMiwxMC4yNDEyIDIwLjc2MDksMTkuOTMzNSAzMy4zNDA0LDI0Ljk2ODggMTAuOTc1LDQuMTgwMiAyMi4wMDM1LDMuOTAzMSAzMi40NTk2LDIuNDk2OSA0LjgxMTgtLjYxODggOS41MDItMS40MzI1IDE0LjI0NjctMi40OTY5LS41MzU1LDMuNTExMS0xLjA3NTQsNi45MTAyLTEuNzYyNiwxMC40MjgxLTMuNjQ0MywxMy41NDU0LTcuMTk4OSwyNy4yMTI3LTEwLjg2ODcsNDAuODMxMiA1LjM2NzktMTMuMjY1MyAxMC42MTU5LTI2LjYxMTkgMTYuMDA5Ni0zOS45NSAxLjQ0MDEtNC4zOTIyIDIuNzczNS04Ljc0NDYgMy45NjU0LTEzLjIxODggNC41MTUzLTEuMjAwNiA5LjA4MTMtMi41MTIzIDEzLjUxMjUtMy45NjU2IDEzLjMzNzctNS4zOTM4IDI2LjUzOS0xMC43ODcyIDM5LjgwMjktMTYuMTU2Mi0xMy42MTczLDMuNjcwNy0yNy4xMzk3LDcuMjIzMS00MC42ODQxLDEwLjg2ODgtMy42MDA3LjcwMzItNy4yNzU3LDEuMzY2OC0xMC44Njg4LDEuOTA5NCAxLjA3ODctNC43OTE2IDIuMDE4Ni05LjY3OTYgMi42NDM3LTE0LjU0MDYgMS40MDYzLTEwLjQ1NzIgMS44MzEyLTIxLjQ4NDMtMi4zNDk5LTMyLjQ1OTQtNS4wMzQyLTEyLjU3OTktMTQuNzI4NC0yMy41NTg1LTI0Ljk2ODgtMzMuMzQwNi02LjUzNTQtNi4zMTcxLTEzLjU4NjMtMTIuMzYzNy0yMC44NTYzLTE4LjIxMjUgOS4yNzgzLDEuMDA1MSAxOC42Njk0LDEuNzU1MyAyNy43NTkyLDEuOTA5NCAxNC4xNTkyLjMyNDMgMjguNjcwOS0uNjg2MSA0MS4xMjUtNi4wMjE5IDEwLjcxNjktNC44MDQxIDE4LjI3NS0xMi45MDg1IDI0LjY3NS0yMS4yOTY5IDIuOTY1Ny0zLjgzOTkgNS42MjMxLTcuNzg5OSA4LjIyNS0xMS44OTY5IDIuMTMyOSwyLjg5MTIgNC40MzY4LDUuOTUwOCA2LjQ2MjUsOC45NTk0IDcuMDAwMiwxMi4xNTU4IDEzLjgyMzYsMjQuMjAwNCAyMC44NTY3LDM2LjQyNS01LjU4MjctMTMuMTc1Ni0xMS4xMjYzLTI2LjI2NDMtMTYuNzQ0Mi0zOS41MDk0LTIuMDg2OC00LjEyNTItNC4zMDQ4LTguMTY3LTYuNjA5Mi0xMi4xOTA2IDIuMzczMS00LjA4MzUgNC42Mjc2LTguMTMwMyA2Ljc1NjMtMTIuMzM3NSA1LjYxNzktMTMuMjQ1MiAxMS4xNTkyLTI2LjQ4MDcgMTYuNzQzNy0zOS42NTYyLTcuMDM1NCwxMi4yMjQ1LTE0LjAwMjIsMjQuNDE2OC0yMS4wMDMzLDM2LjU3MTktMi4wNDc4LDMuMDQ0MS00LjMwNTcsNS44ODctNi40NjI1LDguODEyNS0yLjU4NjktNC4xMjgyLTUuMjU3NC04LjIwMDgtOC4yMjUtMTIuMDQzNy02LjM5OTEtOC4zODgzLTEzLjk1OS0xNi40OTIzLTI0LjY3NS0yMS4yOTY5LTEyLjQ1NTQtNS4zMzQ5LTI3LjExMzgtNi4wNTMxLTQxLjI3MTctNS43MjgxLTkuMDkwMi4xNTM3LTE4LjMzNDIuOTA0Mi0yNy42MTI1LDEuOTA5NCA3LjMxOTQtNS44ODI5IDE0LjI3OTYtMTIuMTQ5MyAyMC44NTYzLTE4LjUwNjMgMTAuMjQwNC05Ljc4MjEgMTkuOTM0Ni0yMC43NjA4IDI0Ljk2ODgtMzMuMzQwNiA0LjE4MTEtMTAuOTc1MSAzLjc1NTctMjIuMDAyMyAyLjM0OTktMzIuNDU5NC0uNjE5LTQuODExNi0xLjQzMjUtOS41MDMyLTIuNDk2Ni0xNC4yNDY5IDMuNTUxOC41MzY0IDcuMTYxOSwxLjA2NzMgMTAuNzIxNywxLjc2MjUgMTMuNTQ1MywzLjY0NTYgMjcuMDY3Nyw3LjM0NDUgNDAuNjg0MSwxMS4wMTU2LTEzLjI2MzktNS4zNjktMjYuNDY1Mi0xMC42MTU2LTM5LjgwMjktMTYuMDA5NC00LjM5MzEtMS40NDA3LTguODkwNS0yLjc0OTktMTMuMzY1NC0zLjk2NTYtMS4yMDkzLTQuNTY1LTIuNjQyMy05LjE3OTQtNC4xMTI1LTEzLjY1OTQtNS4zOTM3LTEzLjMzODEtMTAuNjQxNy0yNi41Mzc4LTE2LjAwOTYtMzkuODAzMSAzLjY2OTgsMTMuNjE4NSA3LjIyNDQsMjcuMTM5IDEwLjg2ODcsNDAuNjg0NCAuNzA0OCwzLjYwMDkgMS4yMTkzLDcuMjc1IDEuNzYyNiwxMC44Njg3LTQuNzQ4LTEuMDkwMS05LjQzMi0yLjAyNDUtMTQuMjQ2Ny0yLjY0MzctMTAuNDU2MS0xLjQwNjItMjEuNDg0Ni0xLjgzMDItMzIuNDU5NiwyLjM1LTEyLjU3OTUsNS4wMzQ4LTIzLjU2MDIsMTQuODc0OC0zMy4zNDA0LDI1LjExNTYtNi4zNTc2LDYuNTc2Mi0xMi40NzY2LDEzLjUzNzEtMTguMzU5NiwyMC44NTYyIDEuMDEyOC05LjMyMTUgMS43NTQ1LTE4LjYyNzggMS45MDk2LTI3Ljc1OTQgLjMyNDMtMTQuMTU4Ni0uNTM5MS0yOC44MTU1LTUuODc1LTQxLjI3MTktNC44MDQ4LTEwLjcxNTgtMTIuOTA3MS0xOC4xMjc0LTIxLjI5NzEtMjQuNTI4MS0zLjkwNjItMy4wMTU5LTcuOTktNS44OTUxLTEyLjE5MDQtOC41MTg4IDIuOTI4MS0yLjE2MjggNS45MTEyLTQuMTE1NSA4Ljk1OTEtNi4xNjg4IDEyLjE1NzEtNi45OTkzIDI0LjM0Ni0xNC4xMTY0IDM2LjU3MTctMjEuMTUtMTMuMTc2LDUuNTgzNS0yNi4yNjI3LDExLjI3NC0zOS41MDkyLDE2Ljg5MDYtNC4yMDYsMi4xMjk2LTguMzgzNCw0LjQwMTYtMTIuNDg0MSw2Ljc1NjItNC4wMjMyLTIuMzAzMy04LjA2NjEtNC42Njk1LTEyLjE5MDktNi43NTYyLTEzLjI0NTEtNS42MTc0LTI2LjMzMjItMTEuMzA2Mi0zOS41MDkxLTE2Ljg5MDZ6bTUxLjg0NjYsMzIuMTY1NmM0LjEzODMsMy4zMjkgOC4wMzEzLDcuMDAyMiAxMS43NSwxMC43MjE5IDcuMTYwNSw3LjI1NzcgMTMuNzAyNCwxNC45MzA2IDE2LjQ1LDI0LjM4MTMgMy40NzMzLDExLjA2OTcgMi43MjUxLDI0LjU4OTkgMS4zMjE2LDM4LjMzNDQtLjk0NDIsOC42NDE1LTIuNDc3MywxNy4zNDM4LTQuMjU5MSwyNi4xNDM4LTYuNzM2NS0yMC44MjI5LTI1LjI2MjUtMzkuOTUtMjUuMjYyNS0zOS45NXMtMTguNjA4OCwxOC45MjU4LTI1LjQwOTIsMzkuNjU2MmMtMS43Njg2LTguNzUyNy0zLjE3MzQtMTcuNDAxMy00LjExMjUtMjUuOTk2OS0xLjQwMzQtMTMuNzQ0Mi0yLjE1MzEtMjcuMTE3IDEuMzIxNi0zOC4xODc1IDIuNzQ3Mi05LjQ1MDMgOS4yODgyLTE3LjI3MDQgMTYuNDUtMjQuNTI4MSAzLjY4OS0zLjY4OTQgNy42NDc5LTcuMjY4NyAxMS43NS0xMC41NzV6bS0xMjcuNDg3NSw1OC42MDMxYzEwLjE5NDMuMDY5OSAyMC4xNjI1Ljk4ODIgMjguNzg3NSw1LjcyODEgMTAuMjg0MSw1LjM3MTEgMTkuMzI2LDE1LjQzMjggMjguMDUzNCwyNi4xNDM4IDUuNDUzNCw2Ljc5MjQgMTAuNTk2MiwxMy45NDQzIDE1LjU2ODMsMjEuNDQzOC0xOS41MDIyLTEwLjA0OS00Ni4yNjU0LTEwLjI4MTItNDYuMjY1NC0xMC4yODEycy4zNTI0LDI2LjQ5IDEwLjI4MTIsNDUuOTcxOWMtNy40NDcxLTQuOTQyNy0xNC42OTUtMTAuMDAzLTIxLjQ0MzgtMTUuNDIxOS0xMC43MDk4LTguNzI2OC0yMC42MjU5LTE3Ljc2ODEtMjUuOTk3MS0yOC4wNTMxLTQuNzM5NS04LjYyNDgtNS42NTk3LTE4LjczODYtNS43Mjc5LTI4LjkzNDQgMC01LjIxNzYuMzItMTAuNDc3Mi44ODEyLTE1LjcxNTYgNS4yODA1LS41NzI0IDEwLjYwMTgtLjg4MTIgMTUuODYyNS0uODgxMnptMjU1LjEyMTcsMGM1LjIxNywwIDEwLjQ3NjMuMzE3MiAxNS43MTU4Ljg4MTIgLjU2NTgsNS4yMzg0Ljg4ODgsMTAuNDk4MS44ODEzLDE1LjcxNTYtLjA3MiwxMC4xOTU4LS44NDMyLDIwLjMwOTYtNS41ODEyLDI4LjkzNDQtNS4zNzE3LDEwLjI4NTEtMTUuNDMyLDE5LjMyNjMtMjYuMTQzOCwyOC4wNTMxLTYuODM2Miw1LjQ4OTctMTQuMDM4NCwxMC43MTMyLTIxLjU5MDQsMTUuNzE1NiAxMC4wNTYxLTE5LjUwNCAxMC4yODA4LTQ2LjI2NTYgMTAuMjgwOC00Ni4yNjU2cy0yNi40OTA2LjM1NzctNDUuOTcxNywxMC4yODEyYzQuOTQyNS03LjQ0NyAxMC4wMDI2LTE0LjY5NTUgMTUuNDIxNy0yMS40NDM4IDguNzI2NC0xMC43MTA5IDE3Ljc2NzktMjAuNzcyNiAyOC4wNTM0LTI2LjE0MzggOC42MjQ5LTQuNzQgMTguNzM4NC01LjY1ODggMjguOTM0MS01LjcyODF6bS0xMjcuNjM0MSw3NC45MDYyYzcuODcxNiwwIDE1LjcwNiwzLjA3NDUgMjEuNzM3NSw5LjEwNjJsMzguNDgxMywzOC40ODEzYzEyLjA2MzUsMTIuMDYzMyAxMi4wNjM1LDMxLjQxMTcgMCw0My40NzVsLTM4LjQ4MTMsMzguNjI4MWMtMTIuMDYzNCwxMi4wNjMzLTMxLjQxMTUsMTIuMDYzMy00My40NzUsMGwtMzguNjI4My0zOC42MjgxYy0xMi4wNjMtMTIuMDYzMy0xMi4wNjMtMzEuNDExNyAwLTQzLjQ3NWwzOC42MjgzLTM4LjQ4MTNjNi4wMzE2LTYuMDMxNyAxMy44NjYtOS4xMDYyIDIxLjczNzUtOS4xMDYyem0tMTQ5LjUxODgsMzguNjI4MWM2LjQ2NTgtLjA3NzEgMTMuMjQ5My4zMjY3IDIwLjEyMjIsMS4wMjgxIDguNjUzMS45NDU2IDE3LjMzMDcsMi42MjEzIDI2LjE0MzMsNC40MDYyLTIwLjg2ODksNi43MDQzLTM5Ljk1LDI1LjI2MjUtMzkuOTUsMjUuMjYyNXMxOS4xMjcxLDE4LjY3MjYgMzkuOTUsMjUuNDA5NGMtOC44MDIxLDEuNzgyMS0xNy42NDY2LDMuMzE0OS0yNi4yOTA0LDQuMjU5NC0xMy43NDQyLDEuNDAyOC0yNy4yNjQyLDIuMTUyLTM4LjMzNDYtMS4zMjE5LTkuNDUwNy0yLjc0NzYtMTYuOTc2LTkuMjkwNC0yNC4yMzQxLTE2LjQ1LTMuNzI1Mi0zLjcxMzktNy4yNDctNy43NTY2LTEwLjU3NS0xMS44OTY5IDMuMzI4NS00LjEzODUgNi44NTYzLTguMTc4IDEwLjU3NS0xMS44OTY5IDcuMjU4Ny03LjE2MDcgMTQuOTMxNC0xMy41NTYxIDI0LjM4MTItMTYuMzAzMSA1LjUzNTctMS43MzczIDExLjc0NjctMi40MTk3IDE4LjIxMjUtMi40OTY5em0yOTkuMTg0NiwwYzYuNDY2Mi4wNzcxIDEyLjUyOTcuOTA2NCAxOC4wNjU0LDIuNjQzNyA5LjQ1MDMsMi43NDcxIDE3LjI2OTcsOS4xNDI2IDI0LjUyNzksMTYuMzAzMSAzLjY4OTUsMy42ODg5IDcuMTIzMyw3LjY0NjcgMTAuNDI4NCwxMS43NS0zLjMwNDEsNC4xMDM5LTYuNzM0Miw4LjA2NTgtMTAuNDI4NCwxMS43NS03LjI1ODIsNy4xNjA3LTE1LjA3ODUsMTMuNzAxOS0yNC41Mjc5LDE2LjQ1LTExLjA3MDgsMy40NzQ0LTI0LjQ0MjQsMi43MjU0LTM4LjE4NzUsMS4zMjE5LTguNjQwOS0uOTQzOS0xNy4zNDM5LTIuMzMwOS0yNi4xNDM4LTQuMTEyNSAyMC43NzY0LTYuNzY4OCAzOS44MDM0LTI1LjQwOTQgMzkuODAzNC0yNS40MDk0cy0xOS4xMjcxLTE4LjUyNTctMzkuOTUtMjUuMjYyNWM4Ljc5OTQtMS43ODE2IDE3LjY0ODUtMy4zMTU2IDI2LjI5MDQtNC4yNTk0IDYuODcxOC0uNzAxOSAxMy42NTU4LTEuMjUyMyAyMC4xMjIxLTEuMTc1em0tNTguNzUsODUuNjI4MWM3LjU1Miw1LjAwMjQgMTQuNzU0MiwxMC4yMjU5IDIxLjU5MDQsMTUuNzE1NiAxMC43MTE4LDguNzI2OCAyMC43NzIxLDE3Ljc2ODEgMjYuMTQzOCwyOC4wNTMxIDQuNzM4LDguNjI0OCA1LjUxMDcsMTguNTkxNyA1LjU4MTIsMjguNzg3NSAwLDUuMjU5My0uMzA1NiwxMC41ODIxLS44ODEzLDE1Ljg2MjUtNS4yMzk1LjU2NTktMTAuNDk4OC44ODk2LTE1LjcxNTguODgxMi0xMC4xOTU3LS4wNjk5LTIwLjMwOTItLjg0MTctMjguOTM0MS01LjU4MTItMTAuMjg1LTUuMzcxNS0xOS4zMjY1LTE1LjI4NjQtMjguMDUzNC0yNS45OTY5LTUuNDUzOS02Ljc5MjctMTAuNTk2MS0xNC4wOTE0LTE1LjU2ODMtMjEuNTkwNiAxOS40ODk1LDkuOTcyNyA0Ni4xMTgzLDEwLjI4MTIgNDYuMTE4MywxMC4yODEycy0uMjI1Ni0yNi45MDg0LTEwLjI4MDgtNDYuNDEyNXptLTE4MS45NzgzLjI5MzdjLTkuOTI4MywxOS40ODE5LTEwLjI4MTIsNDYuMTE4Ny0xMC4yODEyLDQ2LjExODdzMjYuOTAxMy0uMzI5IDQ2LjQxMjQtMTAuNDI4MWMtNS4wMDIyLDcuNTUxOC0xMC4yMjU3LDE0LjkwMDYtMTUuNzE1NCwyMS43Mzc1LTguNzI3NCwxMC43MTA1LTE3Ljc2ODgsMjAuNjI1NC0yOC4wNTM0LDI1Ljk5NjktOC42MjQ5LDQuNzM5Ni0xOC41OTMyLDUuNTExOS0yOC43ODc1LDUuNTgxMi01LjI2MDcuMDA5LTEwLjU4MTEtLjMwNjQtMTUuODYyNS0uODgxMi0uNTcyMi01LjI4MDQtLjg4MTItMTAuNjAzMi0uODgxMi0xNS44NjI1IC4wNzIxLTEwLjE5NTguOTg3NS0yMC4xNjI3IDUuNzI3OS0yOC43ODc1IDUuMzcxNi0xMC4yODUxIDE1LjI4NzMtMTkuMzI2MyAyNS45OTcxLTI4LjA1MzEgNi43NDg4LTUuNDE4OSAxMy45OTY3LTEwLjQ3OTIgMjEuNDQzOC0xNS40MjE5em0xMTYuNDcxNiw0Ny44ODEzYzEuODA0Myw4Ljg4MTkgMy4zMDY5LDE3LjU3MDUgNC4yNTk2LDI2LjI5MDYgMS40MDM5LDEzLjc0NTEgMi4wMDU1LDI3LjI2MzUtMS40Njg3LDM4LjMzNDQtMi43NDg1LDkuNDQ5Mi05LjI4OTUsMTcuMjY4Ny0xNi40NSwyNC41MjgxLTMuNzE4MSwzLjcxODktNy42MDk3LDcuMTAwNy0xMS43NSwxMC40MjgxLTQuMTA0Ni0zLjMwNDMtOC4wNjcxLTYuNzMzMy0xMS43NS0xMC40MjgxLTcuMTYwOS03LjI1ODYtMTMuODQ5LTE0LjkzMTItMTYuNTk2Ni0yNC4zODEzLTMuNDc0My0xMS4wNzA4LTIuNTc4OS0yNC41OTA1LTEuMTc1LTM4LjMzNDQgLjk0NDItOC42NDE5IDIuMzMwMy0xNy4zNDM4IDQuMTEyNS0yNi4xNDM4IDYuNzY4NSwyMC43NzY3IDI1LjQwOTIsMzkuODAzMSAyNS40MDkyLDM5LjgwMzFzMTguNzQ4My0xOS4xNjgyIDI1LjQwOTEtNDAuMDk2OXoiIGZpbGw9IiNmZmYiIGZpbGwtb3BhY2l0eT0iMSI+PC9wYXRoPjwvZz48L3N2Zz4=
data:image/svg+xml;base64,PHN2ZyBzdHlsZT0iaGVpZ2h0OiA1MTJweDsgd2lkdGg6IDUxMnB4OyIgeG1sbnM9Imh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnIiB2aWV3Qm94PSIwIDAgNTEyIDUxMiI+PGcgY2xhc3M9IiIgc3R5bGU9IiIgdHJhbnNmb3JtPSJ0cmFuc2xhdGUoMCwwKSI+PHBhdGggZD0ibTExMi4zODg5LDMxLjM4OS04MS4wMDA2LDU3LjU1NjggMzAuODg0MSw5My4wNzM1IDEwMC4yMzMuMTQwMiAzMS4wMjQ1LTkzLjIxMzktODEuMTQxLTU3LjU1Njh6bTI4Ny4yMjIyLDAtODEuMTQxLDU3LjU1NjggMzAuODg0Miw5My4wNzM1IDEwMC4yMzMuMTQwMiAzMS4wMjQ0LTkzLjIxMzktODEuMDAwNi01Ny41NTY4em0tMTkzLjcyNzYsNTguMjU4Ny0zMC44ODQxLDkzLjIxMzkgODEuMTQxLDU3LjU1NjUgODEuMDAwNi01Ny42OTY5LTMxLjAyNDUtOTMuMDczNWgtMTAwLjIzM3ptLTE0NC4wMzIyLDEwNi4yNjk0LTQwLjg1MTMsNjAuMjIzOCA0MC44NTEzLDU5Ljk0MzVoNTUuNTkxNCAxMi4zNTM3IDM4LjQ2NDhsODQuOTMxMy01OS45NDM1LTg0LjkzMTMtNjAuMjIzOGgtMzguNDY0OC0xMi4zNTM3LTU1LjU5MTR6bTI4MS43NDczLDAtODQuOTMxMyw2MC4yMjM4IDg0LjkzMTMsNTkuOTQzNWgzOC40NjQ4IDEyLjM1MzYgNTUuNzMxOGw0MC44NTEyLTU5Ljk0MzUtNDAuODUxMi02MC4yMjM4aC01NS43MzE4LTEyLjM1MzYtMzguNDY0OHptLTg3LjQ1ODIsNzUuNjY2My04MS4xNDEsNTcuNTU2MyAzMC44ODQxLDkzLjIxMzloMTAwLjIzM2wzMS4wMjQ1LTkzLjA3MzMtODEuMDAwNi01Ny42OTY5em0tOTMuNjM1LDU4LjI1ODUtMTAwLjIzMy4xMzkzLTMwLjg4NDEsOTMuMDczMyA4MS4wMDA2LDU3LjU1NjggODEuMTQxLTU3LjU1NjgtMzEuMDI0NS05My4yMTM5em0yODcuMDgxOSwwLTEwMC4yMzMuMTM5My0zMC44ODQyLDkzLjA3MzMgODEuMTQxLDU3LjU1NjggODEuMDAwNi01Ny41NTY4LTMxLjAyNDQtOTMuMjEzOXoiIGZpbGw9IiNmZmYiIGZpbGwtb3BhY2l0eT0iMSI+PC9wYXRoPjwvZz48L3N2Zz4=
data:image/svg+xml;base64,PHN2ZyBzdHlsZT0iaGVpZ2h0OiA1MTJweDsgd2lkdGg6IDUxMnB4OyIgeG1sbnM9Imh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnIiB2aWV3Qm94PSIwIDAgNTEyIDUxMiI+PGcgY2xhc3M9IiIgc3R5bGU9IiIgdHJhbnNmb3JtPSJ0cmFuc2xhdGUoMCwwKSI+PHBhdGggZD0iTTE2OSAyNXYzMGgxNzRWMjVIMTY5em0tMzcuMjcxIDQ4TDQxIDE2My43MjlWNDg3aDQ2VjM3N0g1N1YyNjNoMzB2LTc0LjcyOUwxNTYuMjcxIDExOUgzNTUuNzNMNDI1IDE4OC4yNzFWMzc1aDQ2VjE2My43MjlMMzgwLjI3MSA3M0gxMzEuNzN6bTMyIDY0TDEwNSAxOTUuNzI5VjI2M2gzMHYzMmgxMzMuMjcxTDI5NSAyNjguMjcxVjIyNy43M2wtNDgtNDhWMTM3aC04My4yNzF6TTI2NSAxMzd2MzUuMjcxbDQ4IDQ4djU1LjQ1OEwyOTMuNzI5IDI5NUg0MDd2LTk5LjI3MUwzNDguMjcxIDEzN0gyNjV6TTc1IDI4MXY3OGg0MnYtNzhINzV6bTYwIDMydjE0aDI3MnYtMTRIMTM1em0wIDMydjMyaC0zMHYxMTBoMTQydi0xOS4yNzFsLTQ4LTQ4VjM2NC4yN0wyMTguMjcxIDM0NUgxMzV6bTEwOC43MjkgMEwyMTcgMzcxLjcyOXY0MC41NDJsNDggNDhWNDg3aDE0MlYzNDVIMjQzLjcyOXpNNDI1IDM5M3Y5NGg0NnYtOTRoLTQ2eiIgZmlsbD0iI2ZmZiIgZmlsbC1vcGFjaXR5PSIxIj48L3BhdGg+PC9nPjwvc3ZnPg==
data:image/svg+xml;base64,PHN2ZyBzdHlsZT0iaGVpZ2h0OiA1MTJweDsgd2lkdGg6IDUxMnB4OyIgeG1sbnM9Imh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnIiB2aWV3Qm94PSIwIDAgNTEyIDUxMiI+PGcgY2xhc3M9IiIgc3R5bGU9IiIgdHJhbnNmb3JtPSJ0cmFuc2xhdGUoMCwwKSI+PHBhdGggZD0iTTYyIDE5Yy0yMi41MzcgMC00MSAxOC40NjMtNDEgNDFzMTguNDYzIDQxIDQxIDQxIDQxLTE4LjQ2MyA0MS00MS0xOC40NjMtNDEtNDEtNDF6bTE3MC45NzcgOS45N2MtMTYuOTc4LS45MjItNTIuOTk3IDcyLjA4OC01My44MzQgMTEzLjMzLS42NiAzMi40NjkgMzcuOTY3IDU2LjkyOCAzOC43MzYgODkuMzkzLjg1NyAzNi4xNzMtMjguNTQ2IDU4Ljk1LTM4LjM5NyAxMDEuNTMyLTQuNTI3IDE1LjQ2MyA3LjkyNiAzOC4yNTIgMTUuMDk2IDQ5Ljk3OCA1LjY2MyA5LjExOCAxMi4yIDE2LjY1NiAxOC42ODYgMjEuODA5LTYuMTYzLTI4Ljg5NC01LjE5Ni01OS4yOTItLjE5LTg3LjcxNSAzLjI2Mi0xOC41MiAxMy44NjItMzMuNjY3IDIyLjQ5Mi00Ny44MyA4LjYzLTE0LjE2MyAxNS4xMzgtMjYuODg0IDE0LjM3LTM5LjgxNy0uODA0LTEzLjUzMy0xMC4zNzgtMjYuMDUtMjIuMDUzLTM5Ljk3LTExLjY3Ni0xMy45Mi0yNS4zNTItMjkuMDE2LTI4LjI4NS00OS41MTQtMi4xNjgtMTcuMTYzIDYuNTE2LTQwLjIwOSAxMi42MDctNTcuMTAzbDE2LjU5OCA2Ljk2NGMtNi41MyAxNS45NjEtMTEuMDA1IDMwLjI4OC0xMS4zODcgNDcuNTkgMS45NDcgMTMuNjA2IDEyLjQ1OCAyNi40MjggMjQuMjU4IDQwLjQ5NiAxMS44IDE0LjA2OSAyNC45OTIgMjkuNjEyIDI2LjIzIDUwLjQ2OSAxLjE1IDE5LjM2NS04LjAyOSAzNS41ODQtMTYuOTY2IDUwLjI1MkMyNDIgMjkzLjUwMiAyMzMuMTUgMzA3LjA3NiAyMzAuOCAzMjAuNDJjLTUuNTg0IDMxLjcwNC01LjU5MiA2NS41OTYgMy45MjQgOTUuNDM1IDMuMjQzIDEwLjE3MiA5LjQzMyAyMi44NiAxNi43MzQgMzUuNjM3YTY0LjQxOCA2NC40MTggMCAwIDAgMi43NDgtNy44ODhjMi42MDItOS40ODIgMi4zNy0xOS43NjYtLjU3LTI0LjEwMmwxNC44OTgtMTAuMTA0YzguMTc0IDEyLjA1MyA2LjM1NiAyNi44NDggMy4wMyAzOC45Ny0xLjY2NCA2LjA2LTMuODg0IDExLjU1My02LjMyMyAxNi4wNDgtLjk0OCAxLjc0Ni0xLjkyNCAzLjMzNi0yLjk5OCA0LjgwN2E0MDEuMDgzIDQwMS4wODMgMCAwIDAgNi4wNTcgOS4xM0EzNzYuMjUzIDM3Ni4yNTMgMCAwIDAgMjc5LjYwNCA0OTRoMzIuNjc1YzExLjA1Ny00MS42NTctNTYuMzk0LTk2Ljk0OC01Ni42NTYtMTQ3LjA5Mi0uMjE4LTQxLjcwMiA0MC4wNC03OC44MTMgMzQuNzY0LTEyMC4xODEtNC4xODgtMzIuODM4LTQxLjA1OS01My43MzktNTAuNjU3LTg1LjQyLTEwLjg2Mi0zNS44NTYgOC4zMzktMTA5LjM1Ni01Ljk1OS0xMTIuMjM3YTUuNTQ4IDUuNTQ4IDAgMCAwLS43OTQtLjF6TTg1IDYwYzAgMTIuODEtMTAuMTkgMjMtMjMgMjNTMzkgNzIuODEgMzkgNjBjMC0uMTI0LjAwOC0uMjQ3LjAxLS4zNzEgMi43OTYgMi4wMjMgNi4yMDQgMy4yMzYgOS44NjUgMy4yMzYgOS4yODIgMCAxNy03LjcxOCAxNy0xNyAwLTMuMjE5LS45NDUtNi4yNCA0LjM0NC03LjE5NEM3NS41MDcgMzcuNzE2IDg1IDQ3LjYzOCA4NSA2MHptMjQ3LjQ4OCAxNy4zMmMtMTguMTE5IDAtMzMgMTQuODgyLTMzIDMzIDAgMTguMTIgMTQuODgxIDMzIDMzIDMzIDE4LjEyIDAgMzMtMTQuODggMzMtMzMgMC0xOC4xMTgtMTQuODgtMzMtMzMtMzN6bTUuMzE1IDE4Ljk2YzUuNyAyLjExIDkuNjg1IDcuNTMyIDkuNjg1IDE0LjA0IDAgOC4zOTEtNi42MDkgMTUtMTUgMTUtNy43NzMgMC0xNC4wMDUtNS42NzYtMTQuODgzLTEzLjE4MSAxLjcuNjg4IDMuNTQ0IDEuMDggNS40NjcgMS4wOCA4LjExOSAwIDE0Ljg5My02Ljc3NCAxNC44OTMtMTQuODkzIDAtLjY5NS0uMDY2LTEuMzc1LS4xNjItMi4wNDd6bS0zNy4zMTUgNDUuMDRjLTkuMjgyIDAtMTcgNy43MTgtMTcgMTcgMCA5LjI4MyA3LjcxOCAxNyAxNyAxNyA5LjI4MyAwIDE3LTcuNzE3IDE3LTE3IDAtOS4yODItNy43MTctMTctMTctMTd6bTY2Ljg0OCAyNC4xODZhMy40MDIgMy40MDIgMCAwIDAtLjU5Ni4wMzljLTEwLjUwMyAxLjY4IDE5LjMzNiA3MS45ODEgOS42NyAxMDYuMTgyLTUuNjM2IDE5Ljk0My0zMi45NzcgMjkuNTItMzcuMjEzIDQ5LjgwOC00LjkwMyAyMy40ODUgMTYuOTQ3IDQ2LjA5MyAxNi40MDggNzAuMDc4LS43MzMgMzIuNjg4LTQyLjIzOCA2OC4yNDUtMjIuNjI1IDk0LjQwNSA1LjI1NiA3LjAwOSAxMS43NzYtMS4wMzUgMTguMDY5LTUuNzA0YTMwNS40MDggMzA1LjQwOCAwIDAgMCAxMy41MTctMTMuMDgyIDQ3Ljg1IDQ3Ljg1IDAgMCAxLTQuODM3LTYuMzA4IDUxLjAxOCA1MS4wMTggMCAwIDEtNy45OTMtMzAuNDJsMTcuOTczLjk4NmMtLjQ1NCA4LjI4IDIuMDgyIDE0LjkwNiA1LjE2NCAxOS43MDMuNTk1LjkyNyAxLjIxIDEuNzUzIDEuODIgMi41MjIgMS42MzUtMi4wMTUgMy4xNTctMy45NzIgNC40MS01Ljc3NiA2LjE4My04Ljg5MSAxMS4zMzQtMTguMTYxIDExLjQxOC0yNS45MzUuMTUyLTEzLjk0OC05LjM5MS0yOC41OTgtMjAuMDA1LTQ0LjY4OC0xMC42MTQtMTYuMDg5LTIyLjQ0LTM0LjEyMi0xOS4wOTgtNTUuNzYxIDIuMDItMTMuMDg2IDExLjkwMS0yMC42NjMgMTkuNjEtMjYuODQ4IDcuNzA4LTYuMTg1IDEzLjQ4Ni0xMS4zNTQgMTQuODMzLTE2LjI0NGwxNy4zNTQgNC43ODFjLTMuNDU1IDEyLjU0LTEzLjQxIDE5LjQ3My0yMC45MjQgMjUuNTAyLTcuNTE0IDYuMDI5LTEyLjM0NiAxMC43NzUtMTMuMDg0IDE1LjU1Ny0yLjA4MyAxMy40OTIgNS44OSAyNy4yNzMgMTYuMzMyIDQzLjEwMSAxMC40NDIgMTUuODI5IDIzLjIxNiAzMy4xOTggMjIuOTgyIDU0Ljc5NS0uMTU4IDE0LjYyNy04LjAzMiAyNi41MTUtMTQuNjM4IDM2LjAxNi04LjEwNSAxMS42NTYtMjAuOTM1IDI0LjcwOC0zMi43MzUgMzUuNDI0LS4xMzYuMTI0LS4yNjguMjM4LS40MDQuMzYxaDM0LjkyNmM5LjExLTMuNjEyIDE3LjI1Ni04LjYzNiAyMy4xNi0xNC42ODYgMjAuNjgyLTIxLjE5IDExLjY1NS01Ny42OSA0LjMwOS04OC43MjYtNC4zNDEtMTguMzM4LTMzLjE4LTQxLjU2Ni0zMi42NzYtNjYuMTU2LjQwNS0xOS43OTIgMjguMTU5LTMyLjMzMiAyOC40NTctNTIuMTI1LjU5MS0zOS4yOC00MC42NS0xMDYuNTctNTMuNTg0LTEwNi44MDF6bS0yODguMjUyIDUuMTM3Yy0uMjAyLjAxLS40LjAzMy0uNTkuMDY4LTEwLjUwMyAxLjk0IDEyLjkzOCA0OS45MTUgOS42NjggNzQuODYzLTIuNzI2IDIwLjc5NC0yMS44MTggMzcuMzQyLTIzLjg2NyA1OC4yMTNDNjEuNjMyIDMzMC45MDIgODEuMzg1IDM1Ni43OSA4MCAzODRjLTEuNzI0IDMzLjg4MS01MC42NjUgNzEuNDQxLTMxLjI2OCA5Ny43MjkgNC43NjUtNC4zODIgMTAuNTU0LTEwLjExIDE2LjU3NS0xNi42MjUgMTMuNDc3LTE0LjU4MyAyNy44OTEtMzMuMTI1IDMzLjczMi00Ni4zMTkgNS4xODEtMTEuNzAzIDYuMy0yNi4yNSA0LjgzNC00MC4wOC00LjA5My0yMS4xODYtMTkuMjYxLTM5LjkwMy0yMC41NDUtNTkuMzg3LTEuMDc2LTIwLjY5OCA5LjE1NC0zNy40NzIgMTEuOTA0LTUyLjEgMi4xNTEtMTEuNDQgNS4xNDMtMzYuMzk0IDUuMTQzLTM2LjM5NGwxNy44NzUgMi4xMTdzLTIuODc2IDI0LjU2MS01LjMyOCAzNy42MDRjLTMuNTc0IDE5LjAwNy0xMi4zMTggMzQuMzU5LTExLjYxNyA0Ny44MzggMy4wODMgMjEuMjM4IDE4LjE4NCAzOS4yNDIgMjAuNDY4IDU4LjQyNCAxLjY5OSAxNi4wMTMuNjk0IDMzLjUyNS02LjI3MyA0OS4yNjMtNy41OTQgMTcuMTU0LTIyLjc4NSAzNS44OTctMzYuOTc1IDUxLjI1YTMzMC4wNTYgMzMwLjA1NiAwIDAgMS0xMy44MjggMTQuMTA2YzE4LjA4NyAzLjY2MiA0My4wMzQtNi4xNDcgNTUuOTQ2LTE3LjYyIDI4Ljg2Mi0yNS42NDUgMzIuMjMtNjQuMDA2IDIwLjkxLTEwOC44NTMtNy4yMzctMjguNjY4LTIyLjI2NC00OC45MjctMjAuNDgtNzQuNjc4IDEuMDg1LTE1LjY4MyAyNy4yMDItMjUuNzI1IDE4LjYyMi00My4zMy0xNC4wNTMtMjguODM2LTQ3LjkxLTc2Ljk1Ni02MC42MTEtNzYuMzAyek00NTguODIgMjg5Ljk4NmMtNy42MTggMC0xNC42NiAyLjYzOS0yMC4yNjcgNy4wMzVhMTUuMjY4IDE1LjI2OCAwIDAgMC01LjI0IDUuMTE4Yy00LjY3NCA1LjY5OC03LjQ5MyAxMi45NjUtNy40OTMgMjAuODQ3IDAgMTguMTIgMTQuODgyIDMzIDMzIDMzIDE4LjEyIDAgMzMtMTQuODggMzMtMzMgMC0xOC4xMTgtMTQuODgtMzMtMzMtMzN6bTEuOTI0IDE4LjEzM2M3LjQ1My45MjQgMTMuMDc2IDcuMTMxIDEzLjA3NiAxNC44NjcgMCA4LjM5MS02LjYwOSAxNS0xNSAxNS03Ljg0MyAwLTE0LjEyNy01Ljc3Ni0xNC45MTQtMTMuMzgyLjY3Ny4wOTcgMS4zNjMuMTY0IDIuMDYzLjE2NCA4LjExOCAwIDE0Ljg5Mi02Ljc3NCAxNC44OTItMTQuODkzIDAtLjU5NC0uMDQ2LTEuMTc4LS4xMTctMS43NTZ6TTE3Mi4wMzcgMzc5LjY2Yy0zLjY3NCA0Ni4xMDYgNS45MjMgODUuNTI0IDM1LjAxIDExNC4zNGg1MC4yMTlhNDMyLjEzIDQzMi4xMyAwIDAgMS0zLjgyLTUuNDgyYy0xMi41NzItMTguMzc1LTI1LjU3Ni00MC4xMi0zMy4wOTQtNTkuNDA3LTE3LjAyNi00LjUzMy0zMC41NjMtMTkuNTAxLTQxLjA2NS0zNi40MTJhMTU5Ljg5MiAxNTkuODkyIDAgMCAxLTcuMjUtMTMuMDM5eiIgZmlsbD0iI2ZmZiIgZmlsbC1vcGFjaXR5PSIxIj48L3BhdGg+PC9nPjwvc3ZnPg==
data:image/svg+xml;base64,PHN2ZyBzdHlsZT0iaGVpZ2h0OiA1MTJweDsgd2lkdGg6IDUxMnB4OyIgeG1sbnM9Imh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnIiB2aWV3Qm94PSIwIDAgNTEyIDUxMiI+PGcgY2xhc3M9IiIgc3R5bGU9IiIgdHJhbnNmb3JtPSJ0cmFuc2xhdGUoMCwwKSI+PHBhdGggZD0iTTI3NC44NzEgMjAuMDI4YTIyNS4zMzQgMjI1LjMzNCAwIDAgMC02LjUyMS4wMWMtMTcuMzQxLjI3NS0zNC4yNTQgMi41NDYtNDkuNjU1IDYuNTc2LTE3LjU3OCA0LjYwMS0zNS4yMTggMTQuMDkyLTQ5LjY3IDI3LjQyNC0xNC40NTIgMTMuMzMyLTI2LjMxIDMxLjMxOS0yNi40NzYgNTIuOTQyLS4xMjMgMTYuMDM3IDcuMjE5IDI5LjU4IDE2LjExMyA0MS4xODUgNC45NzIgNi40ODcgMTAuNjI4IDEyLjQ4NyAxNi41NSAxOC4wNiAxMC4wNTEtNi45NTkgMTkuNjAzLTExLjMzNSAyOC44MjUtMTMuNTQ0YTYxLjg0NiA2MS44NDYgMCAwIDEgOC45MS0xLjQ1M2MtLjMwNS0uMjQyLS42MTEtLjQ3Ni0uOTE2LS43Mi05LjUtNy42LTE4LjY0Mi0xNi4yMTItMjQuNzk3LTI0LjI0MS02LjE1NC04LjAzLTguNzE2LTE1LjAzNi04LjY4NS0xOS4wMTIuMDYxLTguMDI3IDUuMjE0LTE3LjgzMyAxNC44ODctMjYuNzU2IDkuNjcyLTguOTIzIDIzLjI2OS0xNi4xNTIgMzQuMzc1LTE5LjA1OCAyNC40NDQtNi4zOTggNTYuODY1LTcuMzQ3IDg0LjY2NC0uOTI4IDI3Ljc5OCA2LjQxOCA0OS44MTEgMTkuNjU2IDU5LjYwNSAzOC41Ni43MiAxLjM5IDEuNDQyIDcuOTA4LS42MjMgMTMuODg3cy02LjM0OSA5Ljk5NC03LjM2MSAxMC4zOTVjLTEuNjkuNjY4LTYuOTQ0LjgzOS0xNC43ODItMi4xNjQtMy4xNDYtMS4yMDYtNi41NjItMi44NDUtMTAuMDgyLTQuNzYtLjg1MSA1Ljk3My0zLjExNiAxMS40OTUtNi41MzMgMTYuMTU4LTMuODUgNS4yNTYtOC43NjYgOS42Mi0xNC4zMzYgMTMuNDY5IDUuNzYyIDMuMzMzIDExLjc5NyA2LjM0NiAxOC4wNyA4Ljc1IDEyLjM2NCA0LjczNyAyNi41ODQgNy42ODkgNDAuOTEgMi4wMiAxNS4xODYtNi4wMSAyMy41OC0xOC45MTEgMjguMTQxLTMyLjExMiA0LjU2LTEzLjIwMSA1Ljg1NS0yOC4xMjUtMS40NC00Mi4yMDMtMTYuNDc0LTMxLjgtNDkuMjQyLTQ5LjE3NS04My40Ny01Ny4wNzgtMTQuOTc1LTMuNDU4LTMwLjQ1LTUuMjA3LTQ1LjcwMy01LjQwN3pNMjU3LjA1IDgxLjU4N3MyNC41NTMgMzkuMTcgNDQuNjU4IDUzLjYwNWM3LjQ1Mi00LjMzNSAxMy4yNjItOC44NiAxNi40NzMtMTMuMjQyIDMuODUxLTUuMjU2IDUuMTI3LTkuNzExIDIuMzc5LTE3LjU2LTE2LjEyNC0xMS44ODItNjMuNTEtMjIuODAzLTYzLjUxLTIyLjgwM3ptLTM4LjM2MSA4Ny40MTRjLTMuMzk2LS4wNDMtNi44NDYuMzM0LTEwLjQ1NiAxLjE4Ni0xMi4zNyAyLjk2My0yNy42NDEgMTEuODg3LTQ2LjM3NyAzMS43MS0xMS41NDIgMTcuOTYzLTIwLjkyOCAzOC45NDYtMjcuMzU5IDYzLjAyNiA4LjM2IDQuMTk4IDE3Ljc2NSA3Ljc3OSAyOC45ODggMTAuNDc3IDQuNjMtMjYuOTYgMjYuMDA0LTQ5LjMgNDIuNTc4LTY1LjE1M2wxMC44OTEtMTAuNDE4IDQuMDA2IDE0LjUzYzI4LjY0IDEwMy44OTIgNDguNSAxNTEuMzcgOTQuOTg4IDIwMC42OWEzNTcuNDc2IDM1Ny40NzYgMCAwIDAgNy4zNjYtMTAuODQ5YzE0Ljc0My0yMi41NzMgMzEuNDEyLTUyLjY0IDQ2Ljg2Ny04Mi41NiAxMy4yMzgtMjUuNjMgMjUuNTktNTEuMTQzIDM1LjIzNi03MS45MjQtOC41OS0yNi40ODctMjIuNjg0LTQ4LjE2My0zMy42NTQtNTkuMDIzLTEwLjk3LTEwLjg2MS0xMC45NzQtMTAuMzA1LTEyLjcxOS05Ljk4My0xLjc0NS4zMjItNS43OSAyLjUyMy0xMC41NDMgNi4xODQtOS41MDYgNy4zMjEtMjEuODQyIDIwLjA1Mi0zOS42NzggMjAuOTE0YTQwLjQ4OSA0MC40ODkgMCAwIDEtNi4xNDYtLjE5bC0xNy40MSAyNy41NDEgNzQuMjczIDI2LjU2Ny0zOC41NjIgMjUuODIgMTUuNDQ5IDI1LjA1My0xNS4zMjIgOS40NDctMTUuMDk2LTI0LjQ3OC0xOC40MjIgMTIuMzMzLTEwLjAxNC0xNC45NTUgNDIuMjcyLTI4LjMwNC02MS44MDMtMjIuMTA0IDI2LjgyLTQyLjQyOGMtNC4yMTEtMi4wOTgtOC4yNDItNC41ODUtMTIuMTQtNy4xNS0xMC42ODYtNy4wMzItMjAuODgtMTUuMDEtMzEuMzQtMjAuMTQ0LTguMDIzLTMuNTkzLTE1LjIyNC01LjcyLTIyLjY5My01LjgxNXptLTEwLjY5MiA2NS4xNThjLTE0LjQ0IDE1LjctMjcuNTcgMzQuNjAxLTI3LjQ1IDUyLjA2bC4wNzkgMTAuODI3LTEwLjY1OC0xLjkwNGMtMzAuNjg1LTUuNDgyLTUxLjQ1OS0xNy4xNDMtNjguNjItMjkuNzUtOS42MDgtNy4wNi0xOC4xNTctMTQuMjM4LTI2LjkyNS0yMS4wMTQgMTcuNDg0IDUxLjU5MSAzNy41OCAxMTQuMiA3OC4yNCAxNDUuNTMxbDkuNjU4IDcuNDQ0LTkuOTU5IDcuMDM3Yy0yNy45NTYgMTkuNzUzLTU2LjU1MSAzNi42OS03OS44MzggNTMuMDY2LTE0LjE3NSA5Ljk2OC0yNi4xOTMgMTkuNzctMzUuMDY2IDI5LjQ4MyAyMC4yMzEtNi42MjggNDAuMjgtMTUuODU2IDYwLjQ3Ny0yMi43MjUgMjcuNzYtOS40NDEgNTcuMjM0LTEzLjk5NSA4NS43MjYgMi43MmwxLjAzNy42MS44NDIuODYxYzE0Ljk4MiAxNS4zMTggMzAuODUyIDIyLjMwOSA1OS45NjUgMjMuNDQ4IDI1Ljg2MSAxLjAxMSA2Mi41ODctMy41ODUgMTEzLjg2Ny0xMi4zOTktODcuMTA2LTczLjM4Mi0xMTUuNDIxLTExOS4wMTYtMTUxLjM3NS0yNDUuMjk1em0yMTguOTYxIDExLjc0OGMtLjIyNC40OTQtLjMwNS43MTUtLjUzMyAxLjIxNy0xMC4yNiAyMi41MjQtMjQuNjMyIDUyLjU0MS00MC4yNSA4Mi43NzctMTUuNjE4IDMwLjIzNi0zMi40NDYgNjAuNjUtNDcuNzkgODQuMTQxLTMuMjc3IDUuMDE4LTYuNDc2IDkuNjk2LTkuNjA1IDE0LjAyNiAxMi44MSAxMi40NzkgMjcuNTA2IDI1LjQxMyA0NC41NTUgMzkuNjU0IDQ2LjE4IDEzLjU2NSA3NC41MTMgMTUuMTQgMTAxLjIwOSAxMy40MzMtMS4yOTgtNi44NDgtMy44MjItMTMuNjkzLTkuMTMzLTIwLjgxLTcuNjAzLTEwLjE4OC0yMS4yLTIxLjE2Mi00NS45MzUtMzEuNjNsLTguMTE0LTMuNDMzIDMuMjYtOC4xODVjMjMuMDM5LTU3Ljg0NSAxNi43MDktMTE2LjY1IDEyLjMzNi0xNzEuMTl6IiBmaWxsPSIjZmZmIiBmaWxsLW9wYWNpdHk9IjEiPjwvcGF0aD48L2c+PC9zdmc+
data:image/svg+xml;base64,PHN2ZyBzdHlsZT0iaGVpZ2h0OiA1MTJweDsgd2lkdGg6IDUxMnB4OyIgeG1sbnM9Imh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnIiB2aWV3Qm94PSIwIDAgNTEyIDUxMiI+PGcgY2xhc3M9IiIgc3R5bGU9InRvdWNoLWFjdGlvbjogbm9uZTsiIHRyYW5zZm9ybT0idHJhbnNsYXRlKDAsMCkiPjxwYXRoIGQ9Ik0yNTYgMjEuMzEzYy0xMzQuOTE4IDAtMTkyLjIyIDEwNS4yMi0xOTIuMjIgMjExLjM3NUM2My43OCAzMzguODQxIDI1NiA0OTMuNjU2IDI1NiA0OTMuNjU2czE5Mi4yMi0xNTQuODE0IDE5Mi4yMi0yNjAuOTY5YzAtMTA2LjE1NC01Ny4zMDMtMjExLjM3NS0xOTIuMjItMjExLjM3NXptLS4wNjMgNzQuMzc0Yy43Ny42IDEuNCAxLjEyIDIuMTU3IDEuNzIgNDYuNDQ1IDM2LjM0MyA0Ni40NDUgOTUuMTU0IDAgMTMxLjUtLjc1NS42MTYtMS4zODUgMS4xNC0yLjE1NiAxLjcxOC0uNzctLjU5OC0xLjQzLTEuMTQtMi4xODgtMS43Mi00Ni40NDUtMzYuMzQ0LTQ2LjQ0NS05NS4xNTUgMC0xMzEuNS43NTctLjYxNSAxLjQxNi0xLjEyIDIuMTg4LTEuNzE4em0wIDQwLjcyYy0xNC44ODQgMC0yNi45MzcgMTIuMDUyLTI2LjkzNyAyNi45MzcgMCAxNC44ODQgMTIuMDUzIDI2LjkzNyAyNi45MzggMjYuOTM3IDE0Ljg4NCAwIDI2LjkzNy0xMi4wNTIgMjYuOTM3LTI2LjkzNiAwLTE0Ljg4NS0xMi4wNTMtMjYuOTM4LTI2LjkzOC0yNi45Mzh6TTEzNS4wMyAyMDMuMDkzYzM5Ljk4OC0uNDgzIDcyLjQ5IDI3LjQ0IDc4Ljk0IDczLjA2Mi4xMS45MzUuMjM0IDEuNzc1LjM3NCAyLjc1LS45NDQuMjYyLTEuNjQzLjY5NS0yLjU2MyAxLjAzLTU0LjY5OCAyMi4wNTItMTA1LjYyLTcuMzIzLTExMy44NzQtNjUuNzE3LS4xNjgtLjk3My0uMjY2LTEuNzc2LS40MDYtMi43NS45NTMtLjI2MyAxLjY4LS42NzcgMi41OTQtMS4wMzIgMTEuOTY1LTQuODI0IDIzLjc0LTcuMjEgMzQuOTM3LTcuMzQ0em0yNDQuMTI2IDBjMTEuMTk2LjEzNSAyMi45NzMgMi41MiAzNC45MzggNy4zNDQuOTE0LjM1NSAxLjY0Ljc3IDIuNTk0IDEuMDMtLjE0Ljk3Ni0uMjQgMS43OC0uNDA3IDIuNzUtOC4yNTIgNTguMzk1LTU5LjE3NCA4Ny43Ny0xMTMuODc0IDY1LjcyLS45Mi0uMzM3LTEuNjE4LS43Ny0yLjU2Mi0xLjAzMi4xNC0uOTc1LjI2My0xLjgxNS4zNzUtMi43NSA2LjQ0OC00NS42MjIgMzguOTUtNzMuNTQ1IDc4LjkzNi03My4wNjJ6bS0yMjMuOTM3IDE0Ljk3Yy05LjEwMi4yMDItMTcuODY3IDUuMDQtMjIuNzUgMTMuNS03LjQ0NCAxMi44OS0zLjAxNyAyOS4zNyA5Ljg3NCAzNi44MSAxMi44OSA3LjQ0MyAyOS4zNyAzLjAxNiAzNi44MTItOS44NzQgNy40NDItMTIuODkgMy4wMTYtMjkuMzctOS44NzUtMzYuODEzLTQuNDMtMi41NTgtOS4yOTQtMy43My0xNC4wNi0zLjYyNXptMjAzLjc1IDBjLTQuNzY4LS4xMDgtOS42MzMgMS4wNjUtMTQuMDY0IDMuNjI0LTEyLjg5IDcuNDQyLTE3LjMxNyAyMy45MjItOS44NzUgMzYuODEyIDcuNDQ0IDEyLjg5IDIzLjkyMyAxNy4zMTcgMzYuODE0IDkuODc1IDEyLjg5LTcuNDQyIDE3LjMxNy0yMy45MjIgOS44NzUtMzYuODEzLTQuODg1LTguNDYtMTMuNjUtMTMuMjk2LTIyLjc1LTEzLjV6IiBmaWxsPSIjZmZmIiBmaWxsLW9wYWNpdHk9IjEiPjwvcGF0aD48L2c+PC9zdmc+
data:image/svg+xml;base64,PHN2ZyBzdHlsZT0iaGVpZ2h0OiA1MTJweDsgd2lkdGg6IDUxMnB4OyIgeG1sbnM9Imh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnIiB2aWV3Qm94PSIwIDAgNTEyIDUxMiI+PGcgY2xhc3M9IiIgc3R5bGU9IiIgdHJhbnNmb3JtPSJ0cmFuc2xhdGUoMCwwKSI+PHBhdGggZD0iTTU3IDM5djE2aDExMFYzOUg1N3ptMzIgMzR2MzE4aDQ2VjczSDg5em0zMzQgMjEuNTZsLTQ2IDIzLjA0VjM5MWg0NlY5NC41NnpNMjU0LjIgMTg3TDIzMyAxOTcuNlYzOTFoNDZWMjExLjdMMjU0LjIgMTg3ek03MyA0MDl2MzBoNzh2LTMwSDczem0xNDQgMHYzMGg3OHYtMzBoLTc4em0xNDQgMHYzMGg3OHYtMzBoLTc4ek0zOC40OSA0NTdsLTEwIDMwSDQ4My41bC0xMC0zMEgzOC40OXoiIGZpbGw9IiNmZmYiIGZpbGwtb3BhY2l0eT0iMSI+PC9wYXRoPjwvZz48L3N2Zz4=
data:image/svg+xml;base64,PHN2ZyBzdHlsZT0iaGVpZ2h0OiA1MTJweDsgd2lkdGg6IDUxMnB4OyIgeG1sbnM9Imh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnIiB2aWV3Qm94PSIwIDAgNTEyIDUxMiI+PGcgY2xhc3M9IiIgc3R5bGU9IiIgdHJhbnNmb3JtPSJ0cmFuc2xhdGUoMCwwKSI+PHBhdGggZD0iTTE2OC44IDMyLjg5bC0zMi42IDMyLjUzIDIxLjMgMjEuMTdMMTkwIDU0LjA4em0zMy45IDMzLjk2bC05LjkgOS45MSAxMjMgMTIzLjA0IDkuOS05Ljl6bTE1OS40IDE4LjA2Yy0zLjcgMC03LjQuMS0xMC45LjMtMzEuOSAxLjc4LTU2LjcgMTEuNzYtNzguMyAyNi4zOWw2NS41IDY1LjZjMy41IDcuMyA1MiA5Ni4yIDY1LjUgMTIzLjMtOS43LTYuNC0xMjMuNC02NS40LTEyMy40LTY1LjRsLTE1LjMtMTUuMnYxNDAuM2MyMy45LTE0LjYgNTAuMS0yNy43IDgzLjYtMzEuMiAzNy41LTQgODMuNSA0LjMgMTQ0LjIgMzMuMVYxMTguN2MtNTEuNy0yMi45OS05My4zLTMyLjg5LTEyNy4yLTMzLjY5LTEuMyAwLTIuNS0uMTEtMy43LS4xem0tMjMwLjggMS4wM0MxMDAuNCA4OC45MyA2My40NCA5OSAxOS4wNSAxMTguN3YyNDMuNEM3OS44NSAzMzMuMyAxMjUuOCAzMjUgMTYzLjMgMzI5YzMzIDUuMiA1OC4xIDE1LjggODMuNiAzMS4yVjIwMS42Yy0zOC42LTM4LjUtNzcuMS03Ny4xLTExNS42LTExNS42NnptNDguOCAzLjU1bC05LjkgOS44OSAxMjMgMTIzLjAyIDkuOS05Ljl6TTMzNiAyMDUuMWwtMjcuNSAyNy41IDU1LjEgMjcuNnpNMTQzLjggMzQ2LjdjLTMyIC4zLTcxLjg1IDkuOC0xMjQuNzUgMzZ2NDIuNWM2MC44LTI4LjggMTA2Ljc1LTM3LjEgMTQ0LjI1LTMzLjEgMTguNiAyIDM0LjkgNi45IDQ5LjggMTMuMy00LjcgNi4xLTkuMyAxMy4zLTEzLjkgMjEuN2gxMTcuMmMtNi04LjItMTEuOC0xNS40LTE3LjctMjEuNiAxNS02LjUgMzEuNC0xMS40IDUwLjEtMTMuNCAzNy41LTQgODMuNSA0LjMgMTQ0LjIgMzMuMXYtNDIuNWMtNTMuMS0yNi4zLTkzLjEtMzUuOS0xMjUuMi0zNmgtMy4xYy00LjguMS05LjQuNC0xMy45LjktMzQgMy42LTU5LjYgMTgtODUuNiAzNC40LTUuNy0uOC0xMy0xLjgtMTguMy0uOS0yNy4yLTE2LjItNTguMi0zMC40LTg1LjUtMzMuNS01LjYtLjYtMTEuNS0uOS0xNy42LS45eiIgZmlsbD0iI2ZmZiIgZmlsbC1vcGFjaXR5PSIxIj48L3BhdGg+PC9nPjwvc3ZnPg==
data:image/svg+xml;base64,PHN2ZyBzdHlsZT0iaGVpZ2h0OiA1MTJweDsgd2lkdGg6IDUxMnB4OyIgeG1sbnM9Imh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnIiB2aWV3Qm94PSIwIDAgNTEyIDUxMiI+PGcgY2xhc3M9IiIgc3R5bGU9IiIgdHJhbnNmb3JtPSJ0cmFuc2xhdGUoMCwwKSI+PHBhdGggZD0iTTI1Ni4zIDIxLjg0Yy0xNC45IDAtMjguOCA4LjI4LTM5LjUgMjMuMDgtMTAuNyAxNC44LTE3LjYgMzUuOTMtMTcuNiA1OS40OCAwIDIzLjUgNi45IDQ0LjYgMTcuNiA1OS40IDEwLjcgMTQuOSAyNC42IDIzLjEgMzkuNSAyMy4xIDE0LjkgMCAyOC44LTguMiAzOS41LTIzLjEgMTAuNy0xNC44IDE3LjYtMzUuOSAxNy42LTU5LjQgMC0yMy41NS02LjktNDQuNjgtMTcuNi01OS40OC0xMC43LTE0LjgtMjQuNi0yMy4wOC0zOS41LTIzLjA4em01MS4zIDE1Ni4wNmMtMTMgMTYuNC0zMS4xIDI3LTUxLjMgMjctMjAuMiAwLTM4LjItMTAuNi01MS4zLTI2LjktNC40LjgtOC43IDEuNi0xMy4xIDIuNiAyNCA2Ny40IDQxLjEgMTE1LjcgNzUuNyAxNjQuOCAxMC43LTEuNCAyMy40LTIuOSA0MC4zLTVsMy44LTQwLjRjLjgtOC43IDUuNi0xNS43IDEyLTIwLjZsLTYuNC0yOC42IDE3LjYtNCA1LjYgMjUuMWM2LjMtMS41IDEyLjktMS45IDE5LjYtMS43IDEwLjcuNCAyMS40IDIuNiAzMC44IDYuNy0xLjktMjMuNS02LjctNDguNy0xMC43LTc2LjItMy4zLTIuMy05LjYtNS42LTE3LjctOC41LTEwLjEtMy43LTIyLjctNy4zLTM1LjktMTAuMy02LjMtMS40LTEyLjctMi44LTE5LTR6bS0xMzMuMSA2LjhjLTUuNSAxLjUtMTAuOCAzLTE1LjggNC42IDEyLjYgNDUuNSA1MC40IDE3Mi43IDEwMS44IDI0NS42IDIwLjUtLjEgNDAuNC0xLjEgNjAtMi44LTg3LjYtODMuNC0xMTAtMTQ2LjMtMTQ2LTI0Ny40em0tMzIuNiAxMC44Yy00LjUgMi4xLTggNC4xLTEwIDUuNi0yNC4xIDgwLjMtMzEuMiAxOTQtMTYuNyAyODkuMWg0OS4xYy02LjQtNjUuMi0xMi41LTEzOS4xIDkuMy0xOTQuMi0xNS4xLTQxLjgtMjUuOC03OS4yLTMxLjctMTAwLjV6bTIxNC40IDkyLjZjLTcuNC4xLTE0LjIgMS40LTE4LjggMy43LTUuMyAyLjYtNy41IDUuMi04IDEwbC01LjIgNTQuNi03LjEuOWMtMTUuNSAxLjktMjcuMyAzLjQtMzcuMyA0LjYgMTYuOSAyMS41IDM3LjYgNDMuNSA2NC4yIDY3LjggNS0uNiAxMC0xLjIgMTUtMS45IDEwLjItMS4zIDE2LjgtNS41IDIyLjQtMTEuNyA1LjctNi4xIDkuOS0xNC41IDEzLjUtMjMuMiAxNC0zNC4yIDguNy03NC41IDItODktMS40LTMuMi02LTcuNC0xMy0xMC40LTYuOS0zLjEtMTUuOS01LjEtMjQuNS01LjR6bS0xNzIuNSAzNWMtNCAxNi4yLTYgMzQuMS02LjggNTIuOSA1LjktNS41IDEzLjUtMTAuNSAyMi43LTE0LjctNS42LTEyLjYtMTEtMjUuNS0xNS45LTM4LjJ6bTIzLjUgNTQuNWMtMjAuNSA5LjItMjguMiAyMS43LTI4LjYgMzEtLjYgMTEuNyA4LjYgMjMgMzAgMjQuNiAxMC4yLjcgMjAuMiAxLjIgMzAgMS41LTExLjMtMTcuNC0yMS44LTM2LjktMzEuNC01Ny4xem0tMjkuMSA2My41YzEgMTYuNSAyLjUgMzMgNC4xIDQ5LjFoMTYyLjNjNC0xNS4xIDguNC0yOS42IDEyLjgtNDQuMS00Ny41IDYuMS05Ni40IDguOS0xNTAuMSA0LjktMTEuNC0uOS0yMS4zLTQuNS0yOS4xLTkuOXoiIGZpbGw9IiNmZmYiIGZpbGwtb3BhY2l0eT0iMSI+PC9wYXRoPjwvZz48L3N2Zz4=
data:image/svg+xml;base64,PHN2ZyB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIHZpZXdCb3g9IjAgMCA1MTIgNTEyIiBzdHlsZT0iaGVpZ2h0OiA1MTJweDsgd2lkdGg6IDUxMnB4OyI+PGcgY2xhc3M9IiIgdHJhbnNmb3JtPSJ0cmFuc2xhdGUoMCwwKSIgc3R5bGU9InRvdWNoLWFjdGlvbjogbm9uZTsiPjxwYXRoIGQ9Ik0yNTIuNjI1IDM2LjMwN2MtNi4wOTIuMDA2LTEyLjAyNi40MjItMTcuNzY2IDEuMzY3LTYuNzQgMTUuMTEtMTUuMzUyIDMyLjMzMi0xNS4zNTIgMzIuMzMybC0zMi43NTItMTMuNDUzYy0xNi4xODYgNy42MS0xMC44NTIgMzAuMDMtMjAuMDYgMzguNDQtMjcuODg4IDIyLjczLTgzLjg0IDY4Ljg2Ni04OS43MjUgODQuNzM0LTEyLjUzNyAzMy44MDMtMTkuMDMgNjkuODUtMjAuMDA1IDEwNC45NSAxNC40OTMgNy43NCAzMS4zNDcgMjAuNzQzIDQ3LjAwOCAzNC43MyAxNC4zMzYgMTQuMzI4IDM1LjE2IDMxLjMxIDQwLjgyOCA0OS43MTZsMi4wOTYgNy4xNjgtNi42NTggMy4zODRjLTExLjQ2NiA1LjI2LTkuNDIgMTYuOTEtMTEuMjc1IDI1Ljg2bC0xNy42MDItMy43N2MxLjIxOC0xMy4wMDIgMy42NjMtMjQuOTYgMTMuMjA2LTMzLjEyLTguNzYzLTEzLjY0OC0yMS41NjItMjUuOTI0LTMyLjU4NC0zNS44MS0xMS40NTQtMTAuMjMtMjQuMjUtMjAuMDEyLTM0LjkzMy0yNi45NDcgMS42NzQgNDYuNDc3IDEuMjA3IDgxLjY0IDIxLjI1NSAxMTQuNjA3bDMxLjk0NSA1LjA5NC0uNTUzIDI4LjA1MyA0Mi4yNy0zLjIyMi01LjMgMzAuMjhjOTIuMjE3IDM4LjI4IDI0Ny44My01Ny42MjQgMjg4LjM2Mi0xNjIuMjIzIDguNjg1LTIyLjQxNSA0OC4xNjMtNDUuMjQyIDQ5Ljg5Ni02Ny43MTcgMi43MzQtMzUuNDcyLTguMzctNzAuMDYtMjcuNzI3LTEwMC43NC0xMy43OTUgMTMuMjE4LTI5Ljc5IDE3LjEzNS00Ni41NiA5Ljc5NmwyMC4yNTUgMjMuODYtMTMuNzIzIDExLjY0OC0yNy40LTMyLjI3My0xLjI0LTE4LjQ0NmMtNS43NTctNS4yODMtMTEuMTktMTEuMzYyLTE2LjA0Ni0xNy45NGwtMzMuOTUgOS45Ny01LjA3My0xNy4yNyAyOS4wMjMtOC41MjJjLTMuNzgyLTcuMTc3LTYuNzEtMTQuNjQ2LTguMzktMjIuMTc0LTIuNjk0LTEyLjA2NC0yLjExNi0yNC43ODQgNC43LTM1LjMyNi4wNy0uMTA4LjE0NS0uMjEuMjE2LS4zMTctMzYuMDE4LTQuODY4LTczLjQ5LTE2Ljc1NC0xMDYuMzg3LTE2LjcxOHptMTIxLjI4NyAyNi44MDZjLTMuNDc1IDUuMzc2LTQuMjUzIDEyLjY1NS0yLjI0OCAyMS42MzNzNi44NjIgMTkuMTU1IDEzLjMgMjguNDVjNi40NCA5LjI5MyAxNC40NDYgMTcuNzMgMjIuMjE2IDIzLjU3NyAyMy4xNCAxMi45MTYgNDEuNzYyIDcuNzYzIDM5LjA4NC0xNi45NjgtMS44OS0xNi4xMzctMTcuNTQtMjkuNjcyLTIzLjQ2LTM1Ljc1My0xMi42NTUtMTIuOTk0LTM4LjA5Ny0zNC44My00OC44OTItMjAuOTR6bS0zNi4yMDcgNC4yNjZsLTkuNDcgMjEuMjgyLTI1LjEwNCA5LjI5LTE4LjM0LTEwLjM2ek0yMzMuMzkzIDk2LjI4MmwzMC4zMTYgMTEuMDcyIDI3Ljg3NCA0Ni4yNjQgMzIuMDUgMTQuMTQ2LTcuMjcgMTYuNDY4LTM3LjI2LTE2LjQ1em0tNDMuODkgMzAuNjZjOS42MjUtLjAxIDE5Ljg5IDIuODIyIDI1LjgxNyAxMS44MTUgNi4xMTYgNS4wOTQgMTYuMzY0IDguNTAyIDI3Ljg0NiAxMi44MTZsLTYuMzMyIDE2Ljg1MmMtNS44LTIuMTgtMTIuNDcyLTQuMTQ1LTE4Ljk2My02Ljk5Ni0xLjA0OCAzLjUyLTIuNTg4IDYuODktNC4zNTggOS45MzVhNjQuNzMgNjQuNzMgMCAwIDEtMi45NyA0LjYyNWMxMi42MSA2LjczNyAyNC4wMjIgMTEuOTgzIDMwLjEyIDEyLjUwNmwtMS41NCAxNy45MzRjLTEzLjM3NC0xLjE0OC0yNy4xOS04LjU1Ni00MS4yMzUtMTYuNjQ1YTY5Ljg3NCA2OS44NzQgMCAwIDEtNS4yMiA0LjAzNWMtNS42MTggMy45MDMtMTIuNTQzIDcuNjIzLTIwLjA0NCAxMC41IDIuOTI1IDE0LjkyIDMuMTQ4IDMwLjEwOCAyLjk0IDQxLjIwM2wtMTcuOTk3LS4zMzdjLjE5LTEwLjA0NS0uMjM0LTIzLjY3NS0yLjQ1LTM2LjExMi01Ljk5LjkyNS0xMi4wNDYgMS4wNi0xNy45NDQtLjM4My0uMDktLjAyLS4xNzctLjA0Ni0uMjY2LS4wNy4wODMgMTMuNTU0LTEuOTgyIDI4LjA1OC0xMS45NSA0Mi4zNzRsLTE0Ljc3LTEwLjI4NWMxMC44Ny0xNS42MTIgOC45OC0zMC44MTggNy44MDQtNDkuMjI0LTEuNTY2LTUuMDA1LTEuNDc1LTEwLjMwNC0uMjMtMTQuOTg4IDEuNjgyLTYuMzMgNS4xLTExLjg4NiA5LjE4Ny0xNi45NDUgOC4xNzYtMTAuMTE4IDE5LjIyOC0xOC4zNjIgMjguODA3LTIzLjQ5IDExLjc5NS01LjA2IDIyLjM4OC05LjA5IDMzLjc1LTkuMTJ6bS0uNjY1IDE4LjAxMmMtLjY0LjAxMi0xLjMwOC4wNDctMi4wMDQuMTAyLTcuNTAyLjYxMy0xNi42NCAzLjY5NS0yMi41ODggNi44OC03LjM3NSAzLjk0Ni0xNy4yNSAxMS40NDQtMjMuMyAxOC45My0zLjAyMyAzLjc0My01LjA0NSA3LjQ1My01Ljc5IDEwLjI1NC0xLjE1IDUuMDggMi4wODQgOS4wMjQgNi4yOSAxMC4wODcgMy4wMi43MzggNy40Ni43MzcgMTIuMzk2LS4xNjQgOS44Ny0xLjgwMiAyMS41NDUtNy4xMzUgMjguNTUzLTEyLjAwNCA1LjI3NC0zLjY2NiAxMS44NjMtMTAuMzcgMTUuNTU2LTE2LjcyMiAzLjg1LTEyLjc0OC40OTItMTcuNTQtOS4xMTItMTcuMzYzem0yNTkuOTUzIDM3LjY1bDEyLjY0MiA2Mi41MDgtNTQuNzgyIDQwLjczNyAzMy4wMS01Ni44OXptLTYxLjMxIDIwLjc1bDMuMTgyIDE3LjcxNy02Ni4xMyAxMS44ODMtOS42NSAyNS4xODYtMjUuMjUgMTEuOTM0IDIxLjcyNS01My4wNHptLTExLjYzIDY0LjgzbDE2LjMgNy42M2MtNy4yMzYgMTUuNDYtOS44MzQgMjMuOTgyLTguOTc0IDMzLjM2IDYuMDE4LjI4OCAxMi4xMzQuOTc2IDE4LjIyMiAxLjkzNGwtMi43OTYgMTcuNzhjLTIwLjY2OC0zLjI1LTQwLjE2Ny0xLjYzLTQ5LjkxMyA1LjE5Mi00Ljg3MyAzLjQxLTcuODY2IDcuNjMzLTkuMDg4IDE0Ljg5LTEuMjIzIDcuMjU0LS4yMSAxNy43OTYgNC44NzMgMzEuOTk3LTE0Ljc2MyA1LjMxLTI4LjQ4NSA5LjM0NC00My42ODQgMTQuNDM2bC01LjcxNi0xNy4wNjggMjcuNDU1LTkuMTk3Yy0xLjYyNS04LjUzNC0xLjg1LTE2LjIxLS42NzgtMjMuMTYgMS44NDQtMTAuOTQ3IDcuNTUtMTkuODc0IDE1LjMzNC0yNS43NzMtMi41NjgtNS4zODMtNS4yLTExLjA5LTcuMDkyLTE3LjM4My0yLjc5Mi05LjI4Ny0uMzctMjcuNjQtLjU2LTI3LjY1OCAwIDAgMTUuNzI2IDE1LjU4NiAxNy43OTggMjIuNDc3IDEuMzczIDQuNTY3IDMuNTkyIDkuNDE3IDYuMDEgMTQuNTQ4IDMuODMtMS4xNTggNy44MzYtMS45NjMgMTEuOTY1LTIuNDctLjY5LTEyLjgzIDMuMDMyLTI1LjQ5MiAxMC41NDMtNDEuNTM2em0tMTQ1LjQxNiAzLjk0NmwtMjEuODUyIDQ2LjY4NC0xLjQ5IDY1LjA1Ny0xNy4zOC02OC4wMzZzMzYuNzUtNDMuNzAzIDQwLjcyMi00My43MDN6bTM4LjU3NCAxMzkuODVhODQuOTcgODQuOTcgMCAwIDEgNy42OS4zMmMxMy42MjggMS4xNzIgMjcuMjkgNS4xMyA0MC43MyA5LjEzMmwtNS4xMzcgMTcuMjUyYy0xMy4yOTctMy45Ni0yNi4wMS03LjQ5NC0zNy4xMzQtOC40NS01LjQ4LS40Ny0xMC40NzctLjM2LTE1LjEuNTA4bC0xNC44NzgtMTQuMTQ4YzYuODI3LTIuOTE3IDE0LjAyLTQuMjc4IDIxLjI2My00LjU2YTc1LjcyIDc1LjcyIDAgMCAxIDIuNTY4LS4wNTR6bS0zOC45NSAxNS4wNzVsMTMuOTgzIDEzLjNjLTEwLjg5MiAxNy4wMzctMTQuNTE4IDI2Ljc1NS0zMS4xOCAzNy4zMiAxLjY0LTUuNTc2IDMuMDAyLTE2LjI1MiA1Ljg4LTI2Ljk4NCAyLjE3Ni04LjExIDUuMjk4LTE2Ljc5MyAxMS4zMi0yMy42MzV6IiBmaWxsPSIjZmZmIiBmaWxsLW9wYWNpdHk9IjEiPjwvcGF0aD48L2c+PC9zdmc+
data:image/svg+xml;base64,PHN2ZyBzdHlsZT0iaGVpZ2h0OiA1MTJweDsgd2lkdGg6IDUxMnB4OyIgeG1sbnM9Imh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnIiB2aWV3Qm94PSIwIDAgNTEyIDUxMiI+PGcgY2xhc3M9IiIgc3R5bGU9IiIgdHJhbnNmb3JtPSJ0cmFuc2xhdGUoMCwwKSI+PHBhdGggZD0iTTI1NiAyM2MtMTYuMDc2IDAtMzIuMzc1IDMuNzMtNDguMTc4IDEwLjI0LTIuMTI2IDYuNTI1LTMuODc3IDE0Ljc2LTQuODc3IDIzLjc1NC0xLjMxIDExLjc5LTEuNzMgMjQuNzA2LTEuODcgMzYuODE5IDMzLjg2NC0zLjcwNCA3NS45ODYtMy43MDQgMTA5Ljg1IDAtLjE0LTEyLjExMy0uNTYtMjUuMDMtMS44Ny0zNi44Mi0xLTguOTkyLTIuNzUtMTcuMjI4LTQuODc3LTIzLjc1M0MyODguMzc1IDI2LjczIDI3Mi4wNzYgMjMgMjU2IDIzem0xMDAuNTY0IDE5LjMzMmM5LjMxNSA3LjA1NCAxOC4xMDcgMTQuODc4IDI2LjI4MiAyMy4yMzQgMS41My02LjY1IDQuNjktMTIuNjk2IDkuMDMtMTcuNjk1em0tMTcwLjAzIDEuNDljLTM0LjY3NSAyMC4yMi02NS4wNDcgNTIuNzE0LTgyLjU1MiA4Ni4zMzQtMzMuMDggNjMuNTM2LTM5LjY5IDE1Ni45NTYtLjUzIDIxNC44QzEzMi43ODYgMzg4LjI3OCAyMDAuMjc2IDQwNSAyNTYgNDA1YzU1LjcyNSAwIDEyMy4yMTUtMTYuNzIgMTUyLjU0Ny02MC4wNDUgMzkuMTYyLTU3Ljg0MyAzMi41NS0xNTEuMjYzLS41My0yMTQuOC0xNy41MDQtMzMuNjItNDcuODc2LTY2LjExMi04Mi41NS04Ni4zMzMuNTc4IDMuNjUgMS4wNTcgNy4zODggMS40NzggMTEuMTg0IDEuNTIyIDEzLjY5NCAxLjkxMiAyOC4xOTcgMi4wMTQgNDEuMjY3QzM0Ny42NjQgOTkuNDI3IDM2MiAxMDQgMzY4IDExMGMzMiAzMiA3NS41MzcgMTM0LjY5NSAxNiAyMjQtMzcuNjU0IDU2LjQ4LTIxOC4zNDYgNTYuNDgtMjU2IDAtNTkuNTM3LTg5LjMwNS0xNi0xOTIgMTYtMjI0IDYtNiAyMC4zMzUtMTAuNTczIDM5LjA0LTEzLjcyNy4xMDMtMTMuMDcuNDkzLTI3LjU3MyAyLjAxNS00MS4yNjcuNDItMy43OTYuOS03LjUzNCAxLjQ3OC0xMS4xODR6TTY0IDQ4Yy04LjgzNyAwLTE2IDcuMTYzLTE2IDE2YTE2IDE2IDAgMCAwIDcgMTMuMjI3VjE0NS41TDczIDEzMlY3Ny4yMUExNiAxNiAwIDAgMCA4MCA2NGMwLTguODM3LTcuMTYzLTE2LTE2LTE2em0zNTguODEgMy42OGMtMTIuODEgMC0yMyAxMC4xOS0yMyAyM3MxMC4xOSAyMyAyMyAyMyAyMy0xMC4xOSAyMy0yMy0xMC4xOS0yMy0yMy0yM3ptMjUuMjcyIDU1LjIwNWMtNi45OCA1LjQ5Ny0xNS43NTggOC43OTUtMjUuMjcgOC43OTUtLjc0NSAwLTEuNDgtLjAyNy0yLjIxNC0uMDY3YTIxNi41NyAyMTYuNTcgMCAwIDEgMi4zOCA0LjM3bDI5Ljg1MiAyMi4zOXptLTIzOC44MjIgMi41Yy0xNy4yNTcuMDktMzcuMjU2IDMuNzU3LTUzLjIzMyAxNi4xMi0yNi42MzQgMjAuNjA4LTQzLjAzNCAxMTQuNzYzLTMzLjQ5IDE0Ni43NjMgMTYuNTg0LTYxLjc2NyAzMS45OTMtMTI0LjAyIDEwNy45Mi0xNjEuMjc0YTEzMy40NDUgMTMzLjQ0NSAwIDAgMC0yMS4xOTctMS42MXptLTEzNS4wNTUgNDQuMjFMNDAuMTUgMTc5LjEzOGwtMTQuNDggNzIuNDA4IDM4LjE4IDQ1LjgxNGMtMTAuOTQ3LTQ2LjUyMy01Ljc3Ni05OC43MjMgMTAuMzU1LTE0My43NjR6bTM2My41OSAwYzE2LjEzIDQ1LjA0MiAyMS4zMDIgOTcuMjQyIDEwLjM1NSAxNDMuNzY0bDM4LjE4LTQ1LjgxNS0xNC40OC03Mi40MDh6TTEwNi42NDUgMzc1LjkzYy0zLjU4MyAxLjE3LTcuMjUyIDMuNDA2LTEwLjI4MiA2LjQzNS00LjEzNiA0LjEzNi02LjY4IDkuNDMtNy4xNjQgMTQuMTA0LjIxLjM2NC42MDMgMS4xNTcgMS43MyAyLjE2MiAyLjQ1MyAyLjE4OCA2LjY5MyA1LjE3IDEyLjEyNyA4LjM1OCAxMC44NjcgNi4zOCAyNi41NSAxMy43NTcgNDQuMjA1IDIwLjYyMyAyMS4xNzcgOC4yMzcgNDUuMzUgMTUuNzA0IDY3LjczOCAyMC4zOHYtMjcuNjFjLTM5LjQ3LTUuMTItNzkuODk3LTE4LjMyNS0xMDguMzU1LTQ0LjQ1MnptMjk4LjcxIDBDMzc2Ljg5NyA0MDIuMDU1IDMzNi40NyA0MTUuMjYgMjk3IDQyMC4zOHYyNy42MWMyMi4zODctNC42NzYgNDYuNTYtMTIuMTQzIDY3LjczOC0yMC4zOCAxNy42NTUtNi44NjUgMzMuMzM4LTE0LjI0MyA0NC4yMDUtMjAuNjIyIDUuNDM0LTMuMTkgOS42NzQtNi4xNyAxMi4xMjctOC4zNiAxLjEyNy0xLjAwNCAxLjUyLTEuNzk3IDEuNzMtMi4xNi0uNDgyLTQuNjc1LTMuMDI3LTkuOTctNy4xNjMtMTQuMTA1LTMuMDMtMy4wMy02LjctNS4yNjQtMTAuMjgyLTYuNDM1ek03Ny4zMjIgNDEwLjYwMkwxOCA0NTAuMTVWNDk0aDM3di0xOGgxOHYxOGgzNjZ2LTE4aDE4djE4aDM3di00My44NWwtNTkuMzIyLTM5LjU0OGMtLjUzNy40ODgtMS4wOC45Ny0xLjYyMyAxLjQ1Ny0zLjkyMiAzLjQ5Ny04LjkzMiA2Ljg5LTE0Ljk5OCAxMC40NTItMTIuMTMzIDcuMTItMjguNDUgMTQuNzQzLTQ2Ljc5NSAyMS44NzdDMzM0LjU3MiA0NTguNjU2IDI5MC4yNSA0NzEgMjU2IDQ3MXMtNzguNTcyLTEyLjM0My0xMTUuMjYyLTI2LjYxYy0xOC4zNDUtNy4xMzUtMzQuNjYyLTE0Ljc1Ny00Ni43OTUtMjEuODc4LTYuMDY2LTMuNTYtMTEuMDc2LTYuOTU1LTE0Ljk5OC0xMC40NTMtLjU0My0uNDg3LTEuMDg2LS45Ny0xLjYyMy0xLjQ1OHpNMjMzIDQyMi4xODR2MjguOTkyYzguMjM2IDEuMTYyIDE2LjAxMiAxLjgyNCAyMyAxLjgyNCA2Ljk4OCAwIDE0Ljc2NC0uNjYyIDIzLTEuODI0di0yOC45OTJjLTcuODIuNTU1LTE1LjUyMy44MTYtMjMgLjgxNnMtMTUuMTgtLjI2LTIzLS44MTZ6IiBmaWxsPSIjZmZmIiBmaWxsLW9wYWNpdHk9IjEiPjwvcGF0aD48L2c+PC9zdmc+
data:image/svg+xml;base64,PD94bWwgdmVyc2lvbj0iMS4wIiBlbmNvZGluZz0iVVRGLTgiIHN0YW5kYWxvbmU9Im5vIj8+CjxzdmcKICAgeG1sbnM6ZGM9Imh0dHA6Ly9wdXJsLm9yZy9kYy9lbGVtZW50cy8xLjEvIgogICB4bWxuczpjYz0iaHR0cDovL2NyZWF0aXZlY29tbW9ucy5vcmcvbnMjIgogICB4bWxuczpyZGY9Imh0dHA6Ly93d3cudzMub3JnLzE5OTkvMDIvMjItcmRmLXN5bnRheC1ucyMiCiAgIHhtbG5zOnN2Zz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciCiAgIHhtbG5zPSJodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2ZyIKICAgeG1sbnM6c29kaXBvZGk9Imh0dHA6Ly9zb2RpcG9kaS5zb3VyY2Vmb3JnZS5uZXQvRFREL3NvZGlwb2RpLTAuZHRkIgogICB4bWxuczppbmtzY2FwZT0iaHR0cDovL3d3dy5pbmtzY2FwZS5vcmcvbmFtZXNwYWNlcy9pbmtzY2FwZSIKICAgc3R5bGU9ImhlaWdodDogNTEycHg7IHdpZHRoOiA1MTJweDsiCiAgIHZpZXdCb3g9IjAgMCA1MTIgNTEyIgogICB2ZXJzaW9uPSIxLjEiCiAgIGlkPSJzdmczMzY4IgogICBzb2RpcG9kaTpkb2NuYW1lPSJhdG1vcy1jaDRuaDMuc3ZnIgogICBpbmtzY2FwZTp2ZXJzaW9uPSIxLjAgKDQwMzVhNGZiNDksIDIwMjAtMDUtMDEpIj4KICA8bWV0YWRhdGEKICAgICBpZD0ibWV0YWRhdGEzMzc0Ij4KICAgIDxyZGY6UkRGPgogICAgICA8Y2M6V29yawogICAgICAgICByZGY6YWJvdXQ9IiI+CiAgICAgICAgPGRjOmZvcm1hdD5pbWFnZS9zdmcreG1sPC9kYzpmb3JtYXQ+CiAgICAgICAgPGRjOnR5cGUKICAgICAgICAgICByZGY6cmVzb3VyY2U9Imh0dHA6Ly9wdXJsLm9yZy9kYy9kY21pdHlwZS9TdGlsbEltYWdlIiAvPgogICAgICAgIDxkYzp0aXRsZT48L2RjOnRpdGxlPgogICAgICA8L2NjOldvcms+CiAgICA8L3JkZjpSREY+CiAgPC9tZXRhZGF0YT4KICA8ZGVmcwogICAgIGlkPSJkZWZzMzM3MiIgLz4KICA8c29kaXBvZGk6bmFtZWR2aWV3CiAgICAgaW5rc2NhcGU6ZG9jdW1lbnQtcm90YXRpb249IjAiCiAgICAgcGFnZWNvbG9yPSIjMDAwMDAwIgogICAgIGJvcmRlcmNvbG9yPSIjNjY2NjY2IgogICAgIGJvcmRlcm9wYWNpdHk9IjEiCiAgICAgb2JqZWN0dG9sZXJhbmNlPSIxMCIKICAgICBncmlkdG9sZXJhbmNlPSIxMCIKICAgICBndWlkZXRvbGVyYW5jZT0iMTAiCiAgICAgaW5rc2NhcGU6cGFnZW9wYWNpdHk9IjAiCiAgICAgaW5rc2NhcGU6cGFnZXNoYWRvdz0iMiIKICAgICBpbmtzY2FwZTp3aW5kb3ctd2lkdGg9IjE5MjAiCiAgICAgaW5rc2NhcGU6d2luZG93LWhlaWdodD0iMTAxNyIKICAgICBpZD0ibmFtZWR2aWV3MzM3MCIKICAgICBzaG93Z3JpZD0iZmFsc2UiCiAgICAgaW5rc2NhcGU6em9vbT0iMC43ODY3NjkwNiIKICAgICBpbmtzY2FwZTpjeD0iNzcuNjc3Mzg0IgogICAgIGlua3NjYXBlOmN5PSIzMTEuNjcyNiIKICAgICBpbmtzY2FwZTp3aW5kb3cteD0iLTgiCiAgICAgaW5rc2NhcGU6d2luZG93LXk9Ii04IgogICAgIGlua3NjYXBlOndpbmRvdy1tYXhpbWl6ZWQ9IjEiCiAgICAgaW5rc2NhcGU6Y3VycmVudC1sYXllcj0idGV4dDUxMTAiIC8+CiAgPHRleHQKICAgICBpZD0idGV4dDUxMDYiCiAgICAgeT0iMTAzLjYwNDcxIgogICAgIHg9IjE0NS43Njk0MiIKICAgICBzdHlsZT0iZm9udC1zdHlsZTpub3JtYWw7Zm9udC13ZWlnaHQ6bm9ybWFsO2ZvbnQtc2l6ZTo0MHB4O2xpbmUtaGVpZ2h0OjEuMjU7Zm9udC1mYW1pbHk6c2Fucy1zZXJpZjtmaWxsOiNmZmZmZmY7ZmlsbC1vcGFjaXR5OjE7c3Ryb2tlOm5vbmU7IgogICAgIHhtbDpzcGFjZT0icHJlc2VydmUiPjx0c3BhbgogICAgICAgeT0iMTAzLjYwNDcxIgogICAgICAgeD0iMTQ1Ljc2OTQyIgogICAgICAgaWQ9InRzcGFuNTEwNCIKICAgICAgIHNvZGlwb2RpOnJvbGU9ImxpbmUiIC8+PC90ZXh0PgogIDxnCiAgICAgc3R5bGU9ImZvbnQtc3R5bGU6bm9ybWFsO2ZvbnQtd2VpZ2h0Om5vcm1hbDtmb250LXNpemU6MjUwLjcwNHB4O2xpbmUtaGVpZ2h0OjEuMDU7Zm9udC1mYW1pbHk6c2Fucy1zZXJpZjtmaWxsOiMwMDAwMDA7ZmlsbC1vcGFjaXR5OjE7c3Ryb2tlOm5vbmU7c3Ryb2tlLXdpZHRoOjEuMzA1NzQiCiAgICAgaWQ9InRleHQ1MTEwIgogICAgIGFyaWEtbGFiZWw9IkNINApOSDMKIj4KICAgIDxwYXRoCiAgICAgICBpZD0icGF0aDE0MDkiCiAgICAgICBzdHlsZT0iZm9udC1zdHlsZTpub3JtYWw7Zm9udC12YXJpYW50Om5vcm1hbDtmb250LXdlaWdodDpib2xkO2ZvbnQtc3RyZXRjaDpub3JtYWw7Zm9udC1zaXplOjI1MC43MDRweDtmb250LWZhbWlseTpzYW5zLXNlcmlmOy1pbmtzY2FwZS1mb250LXNwZWNpZmljYXRpb246J3NhbnMtc2VyaWYgQm9sZCc7dGV4dC1hbGlnbjpjZW50ZXI7dGV4dC1hbmNob3I6bWlkZGxlO2ZpbGw6I2ZmZmZmZjtzdHJva2Utd2lkdGg6MS4zMDU3NCIKICAgICAgIGQ9Im0gMTY3Ljk2NjEzLDE4MC40MDkzMyBxIC0xMi45NzU4OSw2LjczMjc3IC0yNy4wNTM1MSwxMC4xNjAzNiAtMTQuMDc3NjIsMy40Mjc2IC0yOS4zNzkzOCwzLjQyNzYgLTQ1LjY2MDQzOSwwIC03Mi4zNDY3MDQsLTI1LjQ2MjEzIFEgMTIuNTAwMjcsMTQyLjk1MDYzIDEyLjUwMDI3LDk5LjI0ODgwNiBxIDAsLTQzLjgyNDIzMyAyNi42ODYyNjYsLTY5LjI4NjM1OCAyNi42ODYyNjUsLTI1LjU4NDUzODIgNzIuMzQ2NzA0LC0yNS41ODQ1MzgyIDE1LjMwMTc2LDAgMjkuMzc5MzgsMy40Mjc1OTM3IDE0LjA3NzYyLDMuNDI3NTkzNSAyNy4wNTM1MSwxMC4xNjAzNjY1IHYgMzcuODI1OTQ1IHEgLTEzLjA5ODMxLC04LjkzNjIyNiAtMjUuODI5MzcsLTEzLjA5ODMwNCAtMTIuNzMxMDYsLTQuMTYyMDc4IC0yNi44MDg2OCwtNC4xNjIwNzggLTI1LjIxNzI5NiwwIC0zOS42NjIxNTUsMTYuMTU4NjU1IC0xNC40NDQ4NTksMTYuMTU4NjU2IC0xNC40NDQ4NTksNDQuNTU4NzE4IDAsMjguMjc3NjQ0IDE0LjQ0NDg1OSw0NC40MzYzMDQgMTQuNDQ0ODU5LDE2LjE1ODY2IDM5LjY2MjE1NSwxNi4xNTg2NiAxNC4wNzc2MiwwIDI2LjgwODY4LC00LjE2MjA4IDEyLjczMTA2LC00LjE2MjA4IDI1LjgyOTM3LC0xMy4wOTgzMSB6IiAvPgogICAgPHBhdGgKICAgICAgIGlkPSJwYXRoMTQxMSIKICAgICAgIHN0eWxlPSJmb250LXN0eWxlOm5vcm1hbDtmb250LXZhcmlhbnQ6bm9ybWFsO2ZvbnQtd2VpZ2h0OmJvbGQ7Zm9udC1zdHJldGNoOm5vcm1hbDtmb250LXNpemU6MjUwLjcwNHB4O2ZvbnQtZmFtaWx5OnNhbnMtc2VyaWY7LWlua3NjYXBlLWZvbnQtc3BlY2lmaWNhdGlvbjonc2Fucy1zZXJpZiBCb2xkJzt0ZXh0LWFsaWduOmNlbnRlcjt0ZXh0LWFuY2hvcjptaWRkbGU7ZmlsbDojZmZmZmZmO3N0cm9rZS13aWR0aDoxLjMwNTc0IgogICAgICAgZD0ibSAyMDcuMTM4NjMsNy42ODMwODk0IGggNDcuMTI5NDEgViA3Ny4zMzY2OSBoIDY5LjUzMTE5IFYgNy42ODMwODk0IGggNDcuMTI5NDEgViAxOTAuNDQ3MjggaCAtNDcuMTI5NDEgdiAtNzcuNDg4MSBoIC02OS41MzExOSB2IDc3LjQ4ODEgaCAtNDcuMTI5NDEgeiIgLz4KICAgIDxwYXRoCiAgICAgICBpZD0icGF0aDE0MTMiCiAgICAgICBzdHlsZT0iZm9udC1zaXplOjE2Mi45NTdweDtiYXNlbGluZS1zaGlmdDpzdWI7c3Ryb2tlLXdpZHRoOjEuMzA1NzQ7ZmlsbDojZmZmZmZmIgogICAgICAgZD0ibSA0NTQuMTgyMjMsMTQ3LjAxNTEyIC0zMy41NzgwNiw0OS43MzA1MyBoIDMzLjU3ODA2IHogbSAtNS4wOTI0MSwtMjUuMjIzMzMgaCAzNC4wNTU0NyB2IDc0Ljk1Mzg2IGggMTYuOTQ4MTYgdiAyMi4xOTk3IGggLTE2Ljk0ODE2IHYgMjEuNjQyNzMgaCAtMjguOTYzMDYgdiAtMjEuNjQyNzMgaCAtNTIuNjc0NTggdiAtMjYuMjU3NzIgeiIgLz4KICAgIDxwYXRoCiAgICAgICBpZD0icGF0aDE0MTUiCiAgICAgICBzdHlsZT0iZm9udC1zdHlsZTpub3JtYWw7Zm9udC12YXJpYW50Om5vcm1hbDtmb250LXdlaWdodDpib2xkO2ZvbnQtc3RyZXRjaDpub3JtYWw7Zm9udC1zaXplOjI1MC43MDRweDtmb250LWZhbWlseTpzYW5zLXNlcmlmOy1pbmtzY2FwZS1mb250LXNwZWNpZmljYXRpb246J3NhbnMtc2VyaWYgQm9sZCc7dGV4dC1hbGlnbjpjZW50ZXI7dGV4dC1hbmNob3I6bWlkZGxlO2ZpbGw6I2ZmZmZmZjtzdHJva2Utd2lkdGg6MS4zMDU3NCIKICAgICAgIGQ9Im0gMTAuMDUxOTg5LDI3MC45MjIyNyBoIDUyLjYzODA0NiBsIDY2LjQ3MDgzNSwxMjUuMzUyIHYgLTEyNS4zNTIgSCAxNzMuODQyIFYgNDUzLjY4NjQ2IEggMTIxLjIwMzk2IEwgNTQuNzMzMTIxLDMyOC4zMzQ0NyBWIDQ1My42ODY0NiBIIDEwLjA1MTk4OSBaIiAvPgogICAgPHBhdGgKICAgICAgIGlkPSJwYXRoMTQxNyIKICAgICAgIHN0eWxlPSJmb250LXN0eWxlOm5vcm1hbDtmb250LXZhcmlhbnQ6bm9ybWFsO2ZvbnQtd2VpZ2h0OmJvbGQ7Zm9udC1zdHJldGNoOm5vcm1hbDtmb250LXNpemU6MjUwLjcwNHB4O2ZvbnQtZmFtaWx5OnNhbnMtc2VyaWY7LWlua3NjYXBlLWZvbnQtc3BlY2lmaWNhdGlvbjonc2Fucy1zZXJpZiBCb2xkJzt0ZXh0LWFsaWduOmNlbnRlcjt0ZXh0LWFuY2hvcjptaWRkbGU7ZmlsbDojZmZmZmZmO3N0cm9rZS13aWR0aDoxLjMwNTc0IgogICAgICAgZD0ibSAyMjAuMTE0NTIsMjcwLjkyMjI3IGggNDcuMTI5NDEgdiA2OS42NTM2IGggNjkuNTMxMTkgdiAtNjkuNjUzNiBoIDQ3LjEyOTQxIHYgMTgyLjc2NDE5IGggLTQ3LjEyOTQxIHYgLTc3LjQ4ODEgaCAtNjkuNTMxMTkgdiA3Ny40ODgxIGggLTQ3LjEyOTQxIHoiIC8+CiAgICA8cGF0aAogICAgICAgaWQ9InBhdGgxNDE5IgogICAgICAgc3R5bGU9ImZvbnQtc2l6ZToxNjIuOTU3cHg7YmFzZWxpbmUtc2hpZnQ6c3ViO3N0cm9rZS13aWR0aDoxLjMwNTc0O2ZpbGw6I2ZmZmZmZiIKICAgICAgIGQ9Im0gNDgzLjA3MTg5LDQzOS43NzQzNCBxIDEyLjAxNDg5LDMuMTAzMTkgMTguMjIxMjYsMTAuODIxMzYgNi4yODU5NCw3LjYzODYxIDYuMjg1OTQsMTkuNDk0MzcgMCwxNy42NjQyOSAtMTMuNTI2NywyNi44OTQyNyAtMTMuNTI2NzEsOS4xNTA0MiAtMzkuNDY2MTUsOS4xNTA0MiAtOS4xNTA0MiwwIC0xOC4zODA0LC0xLjUxMTgxIC05LjE1MDQyLC0xLjQzMjI0IC0xOC4xNDE3LC00LjM3NjI4IHYgLTIzLjYzMTk1IHEgOC41OTM0Myw0LjI5NjcyIDE3LjAyNzczLDYuNTI0NjQgOC41MTM4NywyLjE0ODM2IDE2LjcwOTQ2LDIuMTQ4MzYgMTIuMTc0MDMsMCAxOC42MTkxMSwtNC4yMTcxNSA2LjUyNDY1LC00LjIxNzE1IDYuNTI0NjUsLTEyLjA5NDQ2IDAsLTguMTE2MDIgLTYuNjgzNzksLTEyLjI1MzYgLTYuNjA0MjEsLTQuMjE3MTUgLTE5LjU3MzkzLC00LjIxNzE1IGggLTEyLjI1MzYxIHYgLTE5LjczMzA4IGggMTIuODkwMTYgcSAxMS41Mzc0OCwwIDE3LjE4Njg3LC0zLjU4MDYgNS42NDkzOSwtMy42NjAxNiA1LjY0OTM5LC0xMS4wNjAwNyAwLC02Ljg0MjkyIC01LjQ5MDI1LC0xMC41ODI2NSAtNS40OTAyNSwtMy43Mzk3NCAtMTUuNTE1OTMsLTMuNzM5NzQgLTcuMzk5OSwwIC0xNC45NTg5NCwxLjY3MDk1IC03LjU1OTA0LDEuNjcwOTQgLTE1LjAzODUxLDQuOTMzMjcgdiAtMjIuNDM4NDIgcSA5LjA3MDg0LC0yLjU0NjIgMTcuOTgyNTYsLTMuODE5MyA4LjkxMTcxLC0xLjI3MzExIDE3LjUwNTE0LC0xLjI3MzExIDIzLjE1NDU0LDAgMzQuNjEyNDUsNy42Mzg2MSAxMS41Mzc0OCw3LjU1OTA0IDExLjUzNzQ4LDIyLjgzNjI2IDAsMTAuNDIzNTIgLTUuNDkwMjUsMTcuMTA3MzEgLTUuNDkwMjUsNi42MDQyMSAtMTYuMjMyMDQsOS4zMDk1NSB6IiAvPgogIDwvZz4KPC9zdmc+Cg==
data:image/svg+xml;base64,PD94bWwgdmVyc2lvbj0iMS4wIiBlbmNvZGluZz0iVVRGLTgiIHN0YW5kYWxvbmU9Im5vIj8+CjxzdmcKICAgeG1sbnM6ZGM9Imh0dHA6Ly9wdXJsLm9yZy9kYy9lbGVtZW50cy8xLjEvIgogICB4bWxuczpjYz0iaHR0cDovL2NyZWF0aXZlY29tbW9ucy5vcmcvbnMjIgogICB4bWxuczpyZGY9Imh0dHA6Ly93d3cudzMub3JnLzE5OTkvMDIvMjItcmRmLXN5bnRheC1ucyMiCiAgIHhtbG5zOnN2Zz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciCiAgIHhtbG5zPSJodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2ZyIKICAgeG1sbnM6c29kaXBvZGk9Imh0dHA6Ly9zb2RpcG9kaS5zb3VyY2Vmb3JnZS5uZXQvRFREL3NvZGlwb2RpLTAuZHRkIgogICB4bWxuczppbmtzY2FwZT0iaHR0cDovL3d3dy5pbmtzY2FwZS5vcmcvbmFtZXNwYWNlcy9pbmtzY2FwZSIKICAgaW5rc2NhcGU6dmVyc2lvbj0iMS4wICg0MDM1YTRmYjQ5LCAyMDIwLTA1LTAxKSIKICAgc29kaXBvZGk6ZG9jbmFtZT0iYXRtb3MtY28yLnN2ZyIKICAgaWQ9InN2ZzMzNjgiCiAgIHZlcnNpb249IjEuMSIKICAgdmlld0JveD0iMCAwIDUxMiA1MTIiCiAgIHN0eWxlPSJoZWlnaHQ6IDUxMnB4OyB3aWR0aDogNTEycHg7Ij4KICA8bWV0YWRhdGEKICAgICBpZD0ibWV0YWRhdGEzMzc0Ij4KICAgIDxyZGY6UkRGPgogICAgICA8Y2M6V29yawogICAgICAgICByZGY6YWJvdXQ9IiI+CiAgICAgICAgPGRjOmZvcm1hdD5pbWFnZS9zdmcreG1sPC9kYzpmb3JtYXQ+CiAgICAgICAgPGRjOnR5cGUKICAgICAgICAgICByZGY6cmVzb3VyY2U9Imh0dHA6Ly9wdXJsLm9yZy9kYy9kY21pdHlwZS9TdGlsbEltYWdlIiAvPgogICAgICAgIDxkYzp0aXRsZT48L2RjOnRpdGxlPgogICAgICA8L2NjOldvcms+CiAgICA8L3JkZjpSREY+CiAgPC9tZXRhZGF0YT4KICA8ZGVmcwogICAgIGlkPSJkZWZzMzM3MiIgLz4KICA8c29kaXBvZGk6bmFtZWR2aWV3CiAgICAgaW5rc2NhcGU6Y3VycmVudC1sYXllcj0ic3ZnMzM2OCIKICAgICBpbmtzY2FwZTp3aW5kb3ctbWF4aW1pemVkPSIxIgogICAgIGlua3NjYXBlOndpbmRvdy15PSItOCIKICAgICBpbmtzY2FwZTp3aW5kb3cteD0iLTgiCiAgICAgaW5rc2NhcGU6Y3k9IjMyNy40NTkzNSIKICAgICBpbmtzY2FwZTpjeD0iMTM1LjUwODg0IgogICAgIGlua3NjYXBlOnpvb209IjAuODMwMDc4MSIKICAgICBzaG93Z3JpZD0iZmFsc2UiCiAgICAgaWQ9Im5hbWVkdmlldzMzNzAiCiAgICAgaW5rc2NhcGU6d2luZG93LWhlaWdodD0iMTAxNyIKICAgICBpbmtzY2FwZTp3aW5kb3ctd2lkdGg9IjE5MjAiCiAgICAgaW5rc2NhcGU6cGFnZXNoYWRvdz0iMiIKICAgICBpbmtzY2FwZTpwYWdlb3BhY2l0eT0iMCIKICAgICBndWlkZXRvbGVyYW5jZT0iMTAiCiAgICAgZ3JpZHRvbGVyYW5jZT0iMTAiCiAgICAgb2JqZWN0dG9sZXJhbmNlPSIxMCIKICAgICBib3JkZXJvcGFjaXR5PSIxIgogICAgIGJvcmRlcmNvbG9yPSIjNjY2NjY2IgogICAgIHBhZ2Vjb2xvcj0iIzAwMDAwMCIKICAgICBpbmtzY2FwZTpkb2N1bWVudC1yb3RhdGlvbj0iMCIgLz4KICA8dGV4dAogICAgIHhtbDpzcGFjZT0icHJlc2VydmUiCiAgICAgc3R5bGU9ImZvbnQtc3R5bGU6bm9ybWFsO2ZvbnQtd2VpZ2h0Om5vcm1hbDtmb250LXNpemU6NDBweDtsaW5lLWhlaWdodDoxLjI1O2ZvbnQtZmFtaWx5OnNhbnMtc2VyaWY7ZmlsbDojZmZmZmZmO2ZpbGwtb3BhY2l0eToxO3N0cm9rZTpub25lOyIKICAgICB4PSIxNDUuNzY5NDIiCiAgICAgeT0iMTAzLjYwNDcxIgogICAgIGlkPSJ0ZXh0NTEwNiI+PHRzcGFuCiAgICAgICBzb2RpcG9kaTpyb2xlPSJsaW5lIgogICAgICAgaWQ9InRzcGFuNTEwNCIKICAgICAgIHg9IjE0NS43Njk0MiIKICAgICAgIHk9IjEwMy42MDQ3MSIgLz48L3RleHQ+CiAgPGcKICAgICBzdHlsZT0iZm9udC1zdHlsZTpub3JtYWw7Zm9udC13ZWlnaHQ6bm9ybWFsO2ZvbnQtc2l6ZToyNjguODQ2cHg7bGluZS1oZWlnaHQ6MS4yNTtmb250LWZhbWlseTpzYW5zLXNlcmlmO2xldHRlci1zcGFjaW5nOi0xNy4xNDU5cHg7ZmlsbDojMDAwMDAwO2ZpbGwtb3BhY2l0eToxO3N0cm9rZTpub25lO3N0cm9rZS13aWR0aDoxLjQwMDI0IgogICAgIGlkPSJ0ZXh0NTExMCIKICAgICBhcmlhLWxhYmVsPSJDTzIiPgogICAgPHBhdGgKICAgICAgIGlkPSJwYXRoODM2IgogICAgICAgc3R5bGU9ImZvbnQtc3R5bGU6bm9ybWFsO2ZvbnQtdmFyaWFudDpub3JtYWw7Zm9udC13ZWlnaHQ6Ym9sZDtmb250LXN0cmV0Y2g6bm9ybWFsO2ZvbnQtc2l6ZToyNjguODQ2cHg7Zm9udC1mYW1pbHk6c2Fucy1zZXJpZjstaW5rc2NhcGUtZm9udC1zcGVjaWZpY2F0aW9uOidzYW5zLXNlcmlmIEJvbGQnO3RleHQtYWxpZ246Y2VudGVyO3RleHQtYW5jaG9yOm1pZGRsZTtmaWxsOiNmZmZmZmY7c3Ryb2tlLXdpZHRoOjEuNDAwMjQiCiAgICAgICBkPSJtIDExMC4yOTYxNCwzMzIuNjg5MzggcSAtMjEuNzkxMjI3LDAgLTQwLjMwMDY0NSwtNi40MzIzNSBRIDUxLjYxNzM1LDMxOS44MjQ2OCAzOC4zNTg4MzEsMzA3LjA5MTI1IDI1LjEwMDMxMiwyOTQuMzU3ODIgMTcuNzQ5MDU0LDI3NS4zMjMzMSAxMC41MjkwNjksMjU2LjI4ODggMTAuNTI5MDY5LDIzMS4zNDcwNCBxIDAsLTIzLjIzNTIzIDYuOTU3NDQsLTQyLjEzODQ3IDYuOTU3NDQxLC0xOC45MDMyMyAyMC4yMTU5NiwtMzIuNDI0MjkgMTIuNzMzNDI5LC0xMi45OTU5OCAzMS41MDUzOTEsLTIwLjA4NDY5IDE4LjkwMzIzNSwtNy4wODg3MiA0MS4yMTk1NSwtNy4wODg3MiAxMi4zMzk2MiwwIDIyLjE4NTA1LDEuNDQ0IDkuOTc2NzEsMS4zMTI3MyAxOC4zNzgxNSwzLjU0NDM2IDguNzk1MjUsMi40OTQxOCAxNS44ODM5Niw1LjY0NDcxIDcuMjE5OTksMy4wMTkyNyAxMi42MDIxNiw1LjY0NDcyIHYgNDcuMzg5MzYgaCAtNS43NzU5OSBxIC0zLjY3NTYzLC0zLjE1MDU0IC05LjMyMDM0LC03LjQ4MjUzIC01LjUxMzQ1LC00LjMzMTk5IC0xMi42MDIxNiwtOC41MzI3MSAtNy4yMTk5OCwtNC4yMDA3MiAtMTUuNjIxNDIsLTcuMDg4NzEgLTguNDAxNDQsLTIuODg4IC0xNy45ODQzMywtMi44ODggLTEwLjYzMzA3LDAgLTIwLjIxNTk2LDMuNDEzMDkgLTkuNTgyODksMy4yODE4MSAtMTcuNzIxNzgzLDExLjAyNjg4IC03Ljc0NTA3NSw3LjQ4MjUzIC0xMi42MDIxNTYsMTkuODIyMTUgLTQuNzI1ODA5LDEyLjMzOTYxIC00LjcyNTgwOSwyOS45MzAxMiAwLDE4LjM3ODE0IDUuMTE5NjI2LDMwLjcxNzc1IDUuMjUwODk5LDEyLjMzOTYyIDEzLjEyNzI0NywxOS40MjgzMyA4LjAwNzYyLDcuMjE5OTggMTcuODUzMDU1LDEwLjM3MDUyIDkuODQ1NDMsMy4wMTkyNyAxOS40MjgzMiwzLjAxOTI3IDkuMTg5MDgsMCAxOC4xMTU2LC0yLjc1NjcyIDkuMDU3ODEsLTIuNzU2NzIgMTYuNjcxNjEsLTcuNDgyNTMgNi40MzIzNSwtMy44MDY5IDExLjk0NTc5LC04LjEzODg5IDUuNTEzNDUsLTQuMzMyIDkuMDU3OCwtNy40ODI1MyBoIDUuMjUwOSB2IDQ2LjczMjk5IHEgLTcuMzUxMjYsMy4yODE4MSAtMTQuMDQ2MTUsNi4xNjk4MSAtNi42OTQ5LDIuODg3OTkgLTE0LjA0NjE2LDQuOTg4MzUgLTkuNTgyODksMi43NTY3MiAtMTcuOTg0MzIsNC4yMDA3MiAtOC40MDE0NCwxLjQ0NCAtMjMuMTAzOTYsMS40NDQgeiIgLz4KICAgIDxwYXRoCiAgICAgICBpZD0icGF0aDgzOCIKICAgICAgIHN0eWxlPSJmb250LXN0eWxlOm5vcm1hbDtmb250LXZhcmlhbnQ6bm9ybWFsO2ZvbnQtd2VpZ2h0OmJvbGQ7Zm9udC1zdHJldGNoOm5vcm1hbDtmb250LXNpemU6MjY4Ljg0NnB4O2ZvbnQtZmFtaWx5OnNhbnMtc2VyaWY7LWlua3NjYXBlLWZvbnQtc3BlY2lmaWNhdGlvbjonc2Fucy1zZXJpZiBCb2xkJzt0ZXh0LWFsaWduOmNlbnRlcjt0ZXh0LWFuY2hvcjptaWRkbGU7ZmlsbDojZmZmZmZmO3N0cm9rZS13aWR0aDoxLjQwMDI0IgogICAgICAgZD0ibSAzODkuNjk0NzMsMjMxLjIxNTc2IHEgMCw0Ni43MzMgLTI2Ljc3OTU4LDc0LjMwMDIyIC0yNi43Nzk1OCwyNy40MzU5NCAtNzQuMDM3NjcsMjcuNDM1OTQgLTQ3LjEyNjgyLDAgLTczLjkwNjQsLTI3LjQzNTk0IC0yNi43Nzk1OCwtMjcuNTY3MjIgLTI2Ljc3OTU4LC03NC4zMDAyMiAwLC00Ny4xMjY4MSAyNi43Nzk1OCwtNzQuNDMxNDggMjYuNzc5NTgsLTI3LjQzNTk1IDczLjkwNjQsLTI3LjQzNTk1IDQ2Ljk5NTU0LDAgNzMuOTA2NCwyNy40MzU5NSAyNi45MTA4NSwyNy4zMDQ2NyAyNi45MTA4NSw3NC40MzE0OCB6IG0gLTY2LjgxNzY4LDQ5LjQ4OTcyIHEgNy4zNTEyNiwtOC45MjY1MyAxMC44OTU2MSwtMjEuMDAzNTkgMy41NDQzNiwtMTIuMjA4MzQgMy41NDQzNiwtMjguNjE3NCAwLC0xNy41OTA1MSAtNC4wNjk0NSwtMjkuOTMwMTIgLTQuMDY5NDQsLTEyLjMzOTYxIC0xMC42MzMwNywtMTkuOTUzNDIgLTYuNjk0ODksLTcuODc2MzQgLTE1LjQ5MDE1LC0xMS40MjA3IC04LjY2Mzk4LC0zLjU0NDM2IC0xOC4xMTU2LC0zLjU0NDM2IC05LjU4Mjg5LDAgLTE4LjExNTYsMy40MTMwOSAtOC40MDE0NCwzLjQxMzA4IC0xNS40OTAxNSwxMS4yODk0MyAtNi41NjM2Miw3LjM1MTI2IC0xMC43NjQzNCwyMC4zNDcyMyAtNC4wNjk0NSwxMi44NjQ3IC00LjA2OTQ1LDI5LjkzMDEyIDAsMTcuNDU5MjQgMy45MzgxOCwyOS43OTg4NSA0LjA2OTQ0LDEyLjIwODM0IDEwLjYzMzA3LDE5Ljk1MzQyIDYuNTYzNjIsNy43NDUwNyAxNS4zNTg4NywxMS40MjA3IDguNzk1MjYsMy42NzU2MyAxOC41MDk0MiwzLjY3NTYzIDkuNzE0MTYsMCAxOC41MDk0MiwtMy42NzU2MyA4Ljc5NTI1LC0zLjgwNjkgMTUuMzU4ODgsLTExLjY4MzI1IHoiIC8+CiAgICA8cGF0aAogICAgICAgaWQ9InBhdGg4NDAiCiAgICAgICBzdHlsZT0iZm9udC1zaXplOjE3NC43NDlweDtiYXNlbGluZS1zaGlmdDpzdWI7c3Ryb2tlLXdpZHRoOjEuNDAwMjQ7ZmlsbDojZmZmZmZmO2ZpbGwtb3BhY2l0eToxIgogICAgICAgZD0ibSA1MDEuNDcwOTMsMzgyLjY1MTY4IGggLTk5Ljc0Njg2IHYgLTIwLjk5MDM2IHEgMTEuNDMzNzcsLTguMjc2NjggMjIuODY3NTQsLTE3LjU3NzI5IDExLjUxOTEsLTkuMzAwNiAxOC40MzA1NiwtMTYuMDQxNDEgMTAuMzI0NTMsLTkuOTgzMjIgMTQuNjc2MTksLTE3LjQwNjY0IDQuMzUxNjYsLTcuNDIzNDIgNC4zNTE2NiwtMTQuNjc2MTggMCwtOC43MDMzMiAtNS42MzE1NiwtMTMuMzk2MjkgLTUuNTQ2MjQsLTQuNzc4MjkgLTE2LjA0MTQxLC00Ljc3ODI5IC03Ljg1MDA2LDAgLTE2LjU1MzM4LDMuMjQyNDEgLTguNjE3OTksMy4yNDI0MSAtMTYuMDQxNDEsOC4yNzY2OSBoIC0yLjczMDQ1IHYgLTI4LjI0MzEzIHEgNi4wNTgxOSwtMi42NDUxMiAxNy44MzMyNywtNS4yOTAyNSAxMS44NjA0MSwtMi42NDUxMiAyMy43MjA4MSwtMi42NDUxMiAyMy44OTE0NiwwIDM2LjQzNDQ4LDEwLjA2ODU0IDEyLjU0MzAyLDkuOTgzMjIgMTIuNTQzMDIsMjguMzI4NDUgMCwxMi4wMzEwNiAtNi4wNTgxOSwyMi44Njc1NCAtNS45NzI4NywxMC44MzY0OSAtMTguMzQ1MjMsMjIuMzU1NTkgLTcuNzY0NzMsNy4xNjc0NCAtMTUuNjE0NzgsMTMuMjI1NjMgLTcuODUwMDUsNS45NzI4NyAtMTEuMTc3NzksOC4zNjIwMSBoIDU3LjA4MzUzIHoiIC8+CiAgPC9nPgo8L3N2Zz4K
data:image/svg+xml;base64,PD94bWwgdmVyc2lvbj0iMS4wIiBlbmNvZGluZz0iVVRGLTgiIHN0YW5kYWxvbmU9Im5vIj8+CjxzdmcKICAgeG1sbnM6ZGM9Imh0dHA6Ly9wdXJsLm9yZy9kYy9lbGVtZW50cy8xLjEvIgogICB4bWxuczpjYz0iaHR0cDovL2NyZWF0aXZlY29tbW9ucy5vcmcvbnMjIgogICB4bWxuczpyZGY9Imh0dHA6Ly93d3cudzMub3JnLzE5OTkvMDIvMjItcmRmLXN5bnRheC1ucyMiCiAgIHhtbG5zOnN2Zz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciCiAgIHhtbG5zPSJodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2ZyIKICAgeG1sbnM6c29kaXBvZGk9Imh0dHA6Ly9zb2RpcG9kaS5zb3VyY2Vmb3JnZS5uZXQvRFREL3NvZGlwb2RpLTAuZHRkIgogICB4bWxuczppbmtzY2FwZT0iaHR0cDovL3d3dy5pbmtzY2FwZS5vcmcvbmFtZXNwYWNlcy9pbmtzY2FwZSIKICAgc3R5bGU9ImhlaWdodDogNTEycHg7IHdpZHRoOiA1MTJweDsiCiAgIHZpZXdCb3g9IjAgMCA1MTIgNTEyIgogICB2ZXJzaW9uPSIxLjEiCiAgIGlkPSJzdmczMzY4IgogICBzb2RpcG9kaTpkb2NuYW1lPSJhdG1vcy1oMi5zdmciCiAgIGlua3NjYXBlOnZlcnNpb249IjEuMCAoNDAzNWE0ZmI0OSwgMjAyMC0wNS0wMSkiPgogIDxtZXRhZGF0YQogICAgIGlkPSJtZXRhZGF0YTMzNzQiPgogICAgPHJkZjpSREY+CiAgICAgIDxjYzpXb3JrCiAgICAgICAgIHJkZjphYm91dD0iIj4KICAgICAgICA8ZGM6Zm9ybWF0PmltYWdlL3N2Zyt4bWw8L2RjOmZvcm1hdD4KICAgICAgICA8ZGM6dHlwZQogICAgICAgICAgIHJkZjpyZXNvdXJjZT0iaHR0cDovL3B1cmwub3JnL2RjL2RjbWl0eXBlL1N0aWxsSW1hZ2UiIC8+CiAgICAgICAgPGRjOnRpdGxlIC8+CiAgICAgIDwvY2M6V29yaz4KICAgIDwvcmRmOlJERj4KICA8L21ldGFkYXRhPgogIDxkZWZzCiAgICAgaWQ9ImRlZnMzMzcyIiAvPgogIDxzb2RpcG9kaTpuYW1lZHZpZXcKICAgICBpbmtzY2FwZTpkb2N1bWVudC1yb3RhdGlvbj0iMCIKICAgICBwYWdlY29sb3I9IiMwMDAwMDAiCiAgICAgYm9yZGVyY29sb3I9IiM2NjY2NjYiCiAgICAgYm9yZGVyb3BhY2l0eT0iMSIKICAgICBvYmplY3R0b2xlcmFuY2U9IjEwIgogICAgIGdyaWR0b2xlcmFuY2U9IjEwIgogICAgIGd1aWRldG9sZXJhbmNlPSIxMCIKICAgICBpbmtzY2FwZTpwYWdlb3BhY2l0eT0iMCIKICAgICBpbmtzY2FwZTpwYWdlc2hhZG93PSIyIgogICAgIGlua3NjYXBlOndpbmRvdy13aWR0aD0iMTkyMCIKICAgICBpbmtzY2FwZTp3aW5kb3ctaGVpZ2h0PSIxMDE3IgogICAgIGlkPSJuYW1lZHZpZXczMzcwIgogICAgIHNob3dncmlkPSJmYWxzZSIKICAgICBpbmtzY2FwZTp6b29tPSIwLjgzMDA3ODEiCiAgICAgaW5rc2NhcGU6Y3g9IjEzNS41MDg4NCIKICAgICBpbmtzY2FwZTpjeT0iMzI3LjQ1OTM1IgogICAgIGlua3NjYXBlOndpbmRvdy14PSItOCIKICAgICBpbmtzY2FwZTp3aW5kb3cteT0iLTgiCiAgICAgaW5rc2NhcGU6d2luZG93LW1heGltaXplZD0iMSIKICAgICBpbmtzY2FwZTpjdXJyZW50LWxheWVyPSJzdmczMzY4IiAvPgogIDx0ZXh0CiAgICAgaWQ9InRleHQ1MTA2IgogICAgIHk9IjEwMy42MDQ3MSIKICAgICB4PSIxNDUuNzY5NDIiCiAgICAgc3R5bGU9ImZvbnQtc3R5bGU6bm9ybWFsO2ZvbnQtd2VpZ2h0Om5vcm1hbDtmb250LXNpemU6NDBweDtsaW5lLWhlaWdodDoxLjI1O2ZvbnQtZmFtaWx5OnNhbnMtc2VyaWY7ZmlsbDojZmZmZmZmO2ZpbGwtb3BhY2l0eToxO3N0cm9rZTpub25lOyIKICAgICB4bWw6c3BhY2U9InByZXNlcnZlIj48dHNwYW4KICAgICAgIHk9IjEwMy42MDQ3MSIKICAgICAgIHg9IjE0NS43Njk0MiIKICAgICAgIGlkPSJ0c3BhbjUxMDQiCiAgICAgICBzb2RpcG9kaTpyb2xlPSJsaW5lIiAvPjwvdGV4dD4KICA8ZwogICAgIHN0eWxlPSJmb250LXN0eWxlOm5vcm1hbDtmb250LXdlaWdodDpub3JtYWw7Zm9udC1zaXplOjQwOS40OTVweDtsaW5lLWhlaWdodDoxLjI1O2ZvbnQtZmFtaWx5OnNhbnMtc2VyaWY7ZmlsbDojMDAwMDAwO2ZpbGwtb3BhY2l0eToxO3N0cm9rZTpub25lO3N0cm9rZS13aWR0aDoyLjEzMjc4IgogICAgIGlkPSJ0ZXh0NTExMCIKICAgICBhcmlhLWxhYmVsPSJIMiI+CiAgICA8cGF0aAogICAgICAgaWQ9InBhdGgxOTk3IgogICAgICAgc3R5bGU9ImZvbnQtc3R5bGU6bm9ybWFsO2ZvbnQtdmFyaWFudDpub3JtYWw7Zm9udC13ZWlnaHQ6Ym9sZDtmb250LXN0cmV0Y2g6bm9ybWFsO2ZvbnQtc2l6ZTo0MDkuNDk1cHg7Zm9udC1mYW1pbHk6c2Fucy1zZXJpZjstaW5rc2NhcGUtZm9udC1zcGVjaWZpY2F0aW9uOidzYW5zLXNlcmlmIEJvbGQnO3RleHQtYWxpZ246Y2VudGVyO3RleHQtYW5jaG9yOm1pZGRsZTtmaWxsOiNmZmZmZmY7c3Ryb2tlLXdpZHRoOjIuMTMyNzgiCiAgICAgICBkPSJNIDI4Mi4zODM0OCwzNjMuOTEyMzIgSCAyMDUuNjAzMTcgViAyMzIuNzQ1OTYgSCA5Mi4yMzIyNCBWIDM2My45MTIzMiBIIDE1LjQ1MTkyOSBWIDY2LjE4ODY2NyBIIDkyLjIzMjI0IFYgMTc1LjE2MDcyIEggMjA1LjYwMzE3IFYgNjYuMTg4NjY3IGggNzYuNzgwMzEgeiIgLz4KICAgIDxwYXRoCiAgICAgICBpZD0icGF0aDE5OTkiCiAgICAgICBzdHlsZT0iZm9udC1zaXplOjI2Ni4xNzFweDtiYXNlbGluZS1zaGlmdDpzdWI7c3Ryb2tlLXdpZHRoOjIuMTMyNzg7ZmlsbDojZmZmZmZmIgogICAgICAgZD0iTSA0OTYuNTQ4MDgsNDQ1LjgxMTMzIEggMzQ0LjYxNzQ3IHYgLTMxLjk3MTcyIHEgMTcuNDE1NDgsLTEyLjYwNjczIDM0LjgzMDk3LC0yNi43NzMwNSAxNy41NDU0NSwtMTQuMTY2MzMgMjguMDcyNzIsLTI0LjQzMzY3IDE1LjcyNTkyLC0xNS4yMDYwNiAyMi4zNTQyLC0yNi41MTMxMyA2LjYyODI4LC0xMS4zMDcwNiA2LjYyODI4LC0yMi4zNTQyIDAsLTEzLjI1NjU2IC04LjU3Nzc3LC0yMC40MDQ3MSAtOC40NDc4MSwtNy4yNzgxMSAtMjQuNDMzNjcsLTcuMjc4MTEgLTExLjk1NjksMCAtMjUuMjEzNDYsNC45Mzg3MiAtMTMuMTI2Niw0LjkzODcyIC0yNC40MzM2NywxMi42MDY3MyBoIC00LjE1ODkyIHYgLTQzLjAxODg1IHEgOS4yMjc2MSwtNC4wMjg5NSAyNy4xNjI5NiwtOC4wNTc5MSAxOC4wNjUzMiwtNC4wMjg5NSAzNi4xMzA2MywtNC4wMjg5NSAzNi4zOTA1NywwIDU1LjQ5NTYxLDE1LjMzNjAyIDE5LjEwNTA1LDE1LjIwNjA2IDE5LjEwNTA1LDQzLjE0ODgxIDAsMTguMzI1MjUgLTkuMjI3NjEsMzQuODMwOTcgLTkuMDk3NjQsMTYuNTA1NzIgLTI3Ljk0Mjc1LDM0LjA1MTE3IC0xMS44MjY5NCwxMC45MTcxNyAtMjMuNzgzODQsMjAuMTQ0NzggLTExLjk1NjksOS4wOTc2NCAtMTcuMDI1NTgsMTIuNzM2NyBoIDg2Ljk0NzQ2IHoiIC8+CiAgPC9nPgo8L3N2Zz4K
data:image/svg+xml;base64,PD94bWwgdmVyc2lvbj0iMS4wIiBlbmNvZGluZz0iVVRGLTgiIHN0YW5kYWxvbmU9Im5vIj8+CjxzdmcKICAgeG1sbnM6ZGM9Imh0dHA6Ly9wdXJsLm9yZy9kYy9lbGVtZW50cy8xLjEvIgogICB4bWxuczpjYz0iaHR0cDovL2NyZWF0aXZlY29tbW9ucy5vcmcvbnMjIgogICB4bWxuczpyZGY9Imh0dHA6Ly93d3cudzMub3JnLzE5OTkvMDIvMjItcmRmLXN5bnRheC1ucyMiCiAgIHhtbG5zOnN2Zz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciCiAgIHhtbG5zPSJodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2ZyIKICAgeG1sbnM6c29kaXBvZGk9Imh0dHA6Ly9zb2RpcG9kaS5zb3VyY2Vmb3JnZS5uZXQvRFREL3NvZGlwb2RpLTAuZHRkIgogICB4bWxuczppbmtzY2FwZT0iaHR0cDovL3d3dy5pbmtzY2FwZS5vcmcvbmFtZXNwYWNlcy9pbmtzY2FwZSIKICAgaW5rc2NhcGU6dmVyc2lvbj0iMS4wICg0MDM1YTRmYjQ5LCAyMDIwLTA1LTAxKSIKICAgc29kaXBvZGk6ZG9jbmFtZT0iYXRtb3MtaDJoZS5zdmciCiAgIGlkPSJzdmczMzY4IgogICB2ZXJzaW9uPSIxLjEiCiAgIHZpZXdCb3g9IjAgMCA1MTIgNTEyIgogICBzdHlsZT0iaGVpZ2h0OiA1MTJweDsgd2lkdGg6IDUxMnB4OyI+CiAgPG1ldGFkYXRhCiAgICAgaWQ9Im1ldGFkYXRhMzM3NCI+CiAgICA8cmRmOlJERj4KICAgICAgPGNjOldvcmsKICAgICAgICAgcmRmOmFib3V0PSIiPgogICAgICAgIDxkYzpmb3JtYXQ+aW1hZ2Uvc3ZnK3htbDwvZGM6Zm9ybWF0PgogICAgICAgIDxkYzp0eXBlCiAgICAgICAgICAgcmRmOnJlc291cmNlPSJodHRwOi8vcHVybC5vcmcvZGMvZGNtaXR5cGUvU3RpbGxJbWFnZSIgLz4KICAgICAgICA8ZGM6dGl0bGU+PC9kYzp0aXRsZT4KICAgICAgPC9jYzpXb3JrPgogICAgPC9yZGY6UkRGPgogIDwvbWV0YWRhdGE+CiAgPGRlZnMKICAgICBpZD0iZGVmczMzNzIiIC8+CiAgPHNvZGlwb2RpOm5hbWVkdmlldwogICAgIGlua3NjYXBlOmN1cnJlbnQtbGF5ZXI9InN2ZzMzNjgiCiAgICAgaW5rc2NhcGU6d2luZG93LW1heGltaXplZD0iMSIKICAgICBpbmtzY2FwZTp3aW5kb3cteT0iLTgiCiAgICAgaW5rc2NhcGU6d2luZG93LXg9Ii04IgogICAgIGlua3NjYXBlOmN5PSIzMTEuNjcyNiIKICAgICBpbmtzY2FwZTpjeD0iMTM1LjUwODg0IgogICAgIGlua3NjYXBlOnpvb209IjAuODMwMDc4MSIKICAgICBzaG93Z3JpZD0iZmFsc2UiCiAgICAgaWQ9Im5hbWVkdmlldzMzNzAiCiAgICAgaW5rc2NhcGU6d2luZG93LWhlaWdodD0iMTAxNyIKICAgICBpbmtzY2FwZTp3aW5kb3ctd2lkdGg9IjE5MjAiCiAgICAgaW5rc2NhcGU6cGFnZXNoYWRvdz0iMiIKICAgICBpbmtzY2FwZTpwYWdlb3BhY2l0eT0iMCIKICAgICBndWlkZXRvbGVyYW5jZT0iMTAiCiAgICAgZ3JpZHRvbGVyYW5jZT0iMTAiCiAgICAgb2JqZWN0dG9sZXJhbmNlPSIxMCIKICAgICBib3JkZXJvcGFjaXR5PSIxIgogICAgIGJvcmRlcmNvbG9yPSIjNjY2NjY2IgogICAgIHBhZ2Vjb2xvcj0iIzAwMDAwMCIKICAgICBpbmtzY2FwZTpkb2N1bWVudC1yb3RhdGlvbj0iMCIgLz4KICA8dGV4dAogICAgIHhtbDpzcGFjZT0icHJlc2VydmUiCiAgICAgc3R5bGU9ImZvbnQtc3R5bGU6bm9ybWFsO2ZvbnQtd2VpZ2h0Om5vcm1hbDtmb250LXNpemU6NDBweDtsaW5lLWhlaWdodDoxLjI1O2ZvbnQtZmFtaWx5OnNhbnMtc2VyaWY7ZmlsbDojZmZmZmZmO2ZpbGwtb3BhY2l0eToxO3N0cm9rZTpub25lOyIKICAgICB4PSIxNDUuNzY5NDIiCiAgICAgeT0iMTAzLjYwNDcxIgogICAgIGlkPSJ0ZXh0NTEwNiI+PHRzcGFuCiAgICAgICBzb2RpcG9kaTpyb2xlPSJsaW5lIgogICAgICAgaWQ9InRzcGFuNTEwNCIKICAgICAgIHg9IjE0NS43Njk0MiIKICAgICAgIHk9IjEwMy42MDQ3MSIgLz48L3RleHQ+CiAgPGcKICAgICB0cmFuc2Zvcm09InRyYW5zbGF0ZSgtNC4yNDE2NCwyMy4yMzQxODIpIgogICAgIHN0eWxlPSJmb250LXN0eWxlOm5vcm1hbDtmb250LXdlaWdodDpub3JtYWw7Zm9udC1zaXplOjI1MC43MDRweDtsaW5lLWhlaWdodDoxLjA1O2ZvbnQtZmFtaWx5OnNhbnMtc2VyaWY7ZmlsbDojMDAwMDAwO2ZpbGwtb3BhY2l0eToxO3N0cm9rZTpub25lO3N0cm9rZS13aWR0aDoxLjMwNTc0IgogICAgIGlkPSJ0ZXh0NTExMCIKICAgICBhcmlhLWxhYmVsPSJIMgpIZQoiPgogICAgPHBhdGgKICAgICAgIGlkPSJwYXRoMzE1MiIKICAgICAgIHN0eWxlPSJmb250LXN0eWxlOm5vcm1hbDtmb250LXZhcmlhbnQ6bm9ybWFsO2ZvbnQtd2VpZ2h0OmJvbGQ7Zm9udC1zdHJldGNoOm5vcm1hbDtmb250LXNpemU6MjUwLjcwNHB4O2ZvbnQtZmFtaWx5OnNhbnMtc2VyaWY7LWlua3NjYXBlLWZvbnQtc3BlY2lmaWNhdGlvbjonc2Fucy1zZXJpZiBCb2xkJzt0ZXh0LWFsaWduOmNlbnRlcjt0ZXh0LWFuY2hvcjptaWRkbGU7ZmlsbDojZmZmZmZmO3N0cm9rZS13aWR0aDoxLjMwNTc0IgogICAgICAgZD0ibSAyNzcuNDc3NzUsMTkwLjQ0NzI4IGggLTQ3LjAwNyB2IC04MC4zMDM2MiBoIC02OS40MDg3NyB2IDgwLjMwMzYyIGggLTQ3LjAwNyBWIDguMTcyNzQ1NiBoIDQ3LjAwNyBWIDc0Ljg4ODQwOCBoIDY5LjQwODc3IFYgOC4xNzI3NDU2IGggNDcuMDA3IHoiIC8+CiAgICA8cGF0aAogICAgICAgaWQ9InBhdGgzMTU0IgogICAgICAgc3R5bGU9ImZvbnQtc2l6ZToxNjIuOTU3cHg7YmFzZWxpbmUtc2hpZnQ6c3ViO2ZpbGw6I2ZmZmZmZjtzdHJva2Utd2lkdGg6MS4zMDU3NCIKICAgICAgIGQ9Im0gNDA4LjU5NTA2LDI0MC41ODgwOCBoIC05My4wMTU5OCB2IC0xOS41NzM5NCBxIDEwLjY2MjIyLC03LjcxODE3IDIxLjMyNDQ1LC0xNi4zOTExOCAxMC43NDE3OSwtOC42NzMgMTcuMTg2ODcsLTE0Ljk1ODk0IDkuNjI3ODMsLTkuMzA5NTYgMTMuNjg1ODQsLTE2LjIzMjA1IDQuMDU4MDEsLTYuOTIyNDkgNC4wNTgwMSwtMTMuNjg1ODQgMCwtOC4xMTYwMiAtNS4yNTE1NCwtMTIuNDkyMzEgLTUuMTcxOTgsLTQuNDU1ODUgLTE0Ljk1ODk1LC00LjQ1NTg1IC03LjMyMDMzLDAgLTE1LjQzNjM1LDMuMDIzNjEgLTguMDM2NDYsMy4wMjM2MiAtMTQuOTU4OTUsNy43MTgxOCBoIC0yLjU0NjIgdiAtMjYuMzM3MjkgcSA1LjY0OTM5LC0yLjQ2NjYzIDE2LjYyOTg5LC00LjkzMzI3IDExLjA2MDA3LC0yLjQ2NjYzIDIyLjEyMDE0LC0yLjQ2NjYzIDIyLjI3OTI4LDAgMzMuOTc1OSw5LjM4OTEyIDExLjY5NjYyLDkuMzA5NTYgMTEuNjk2NjIsMjYuNDE2ODYgMCwxMS4yMTkyMSAtNS42NDkzOSwyMS4zMjQ0NSAtNS41Njk4MiwxMC4xMDUyNSAtMTcuMTA3MywyMC44NDcwNCAtNy4yNDA3Nyw2LjY4Mzc4IC0xNC41NjExLDEyLjMzMzE3IC03LjMyMDM0LDUuNTY5ODIgLTEwLjQyMzUyLDcuNzk3NzUgaCA1My4yMzE1NiB6IiAvPgogICAgPHBhdGgKICAgICAgIGlkPSJwYXRoMzE1NiIKICAgICAgIHN0eWxlPSJmb250LXN0eWxlOm5vcm1hbDtmb250LXZhcmlhbnQ6bm9ybWFsO2ZvbnQtd2VpZ2h0OmJvbGQ7Zm9udC1zdHJldGNoOm5vcm1hbDtmb250LXNpemU6MjUwLjcwNHB4O2ZvbnQtZmFtaWx5OnNhbnMtc2VyaWY7LWlua3NjYXBlLWZvbnQtc3BlY2lmaWNhdGlvbjonc2Fucy1zZXJpZiBCb2xkJzt0ZXh0LWFsaWduOmNlbnRlcjt0ZXh0LWFuY2hvcjptaWRkbGU7ZmlsbDojZmZmZmZmO3N0cm9rZS13aWR0aDoxLjMwNTc0IgogICAgICAgZD0ibSAyNTIuMTYyMzEsNDUzLjY4NjQ2IGggLTQ3LjAwNyB2IC04MC4zMDM2MiBoIC02OS40MDg3NyB2IDgwLjMwMzYyIGggLTQ3LjAwNyBWIDI3MS40MTE5MyBoIDQ3LjAwNyB2IDY2LjcxNTY2IGggNjkuNDA4NzcgdiAtNjYuNzE1NjYgaCA0Ny4wMDcgeiIgLz4KICAgIDxwYXRoCiAgICAgICBpZD0icGF0aDMxNTgiCiAgICAgICBzdHlsZT0iZm9udC1zdHlsZTpub3JtYWw7Zm9udC12YXJpYW50Om5vcm1hbDtmb250LXdlaWdodDpib2xkO2ZvbnQtc3RyZXRjaDpub3JtYWw7Zm9udC1zaXplOjI1MC43MDRweDtmb250LWZhbWlseTpzYW5zLXNlcmlmOy1pbmtzY2FwZS1mb250LXNwZWNpZmljYXRpb246J3NhbnMtc2VyaWYgQm9sZCc7dGV4dC1hbGlnbjpjZW50ZXI7dGV4dC1hbmNob3I6bWlkZGxlO2ZpbGw6I2ZmZmZmZjtzdHJva2Utd2lkdGg6MS4zMDU3NCIKICAgICAgIGQ9Ik0gNDMxLjc0Mzc0LDM5My4wOTE1IEggMzMwLjg3NDU1IHEgMC45NzkzMiwxNi4xNTg2NiAxMi4yNDE0MSwyNC43Mjc2NCAxMS4zODQ1MSw4LjU2ODk5IDMzLjQxOTA0LDguNTY4OTkgMTMuOTU1MiwwIDI3LjA1MzUxLC01LjAxODk4IDEzLjA5ODMsLTUuMDE4OTcgMjAuNjg3OTcsLTEwLjc3MjQ0IGggNC44OTY1NiB2IDM1LjM3NzY3IHEgLTE0LjkzNDUxLDUuOTk4MjkgLTI4LjE1NTIzLDguNjkxNCAtMTMuMjIwNzIsMi42OTMxMSAtMjkuMjU2OTYsMi42OTMxMSAtNDEuMzc1OTUsMCAtNjMuNDEwNDgsLTE4LjYwNjk0IC0yMi4wMzQ1MywtMTguNjA2OTQgLTIyLjAzNDUzLC01My4wMDUyOSAwLC0zNC4wMzExMSAyMC44MTAzOSwtNTMuODYyMTkgMjAuOTMyOCwtMTkuOTUzNDkgNTcuMjg5NzgsLTE5Ljk1MzQ5IDMzLjU0MTQ1LDAgNTAuNDM0NTksMTcuMDE1NTYgMTYuODkzMTQsMTYuODkzMTQgMTYuODkzMTQsNDguNzIwNzkgeiBtIC00My44MjQyMywtMjUuODI5MzYgcSAtMC4zNjcyNSwtMTMuODMyNzkgLTYuODU1MTksLTIwLjgxMDM5IC02LjQ4Nzk1LC02Ljk3NzYgLTIwLjE5ODMyLC02Ljk3NzYgLTEyLjczMTA2LDAgLTIwLjkzMjgxLDYuNjEwMzUgLTguMjAxNzQsNi42MTAzNiAtOS4xODEwNSwyMS4xNzc2NCB6IiAvPgogIDwvZz4KPC9zdmc+Cg==
data:image/svg+xml;base64,PD94bWwgdmVyc2lvbj0iMS4wIiBlbmNvZGluZz0iVVRGLTgiIHN0YW5kYWxvbmU9Im5vIj8+CjxzdmcKICAgeG1sbnM6ZGM9Imh0dHA6Ly9wdXJsLm9yZy9kYy9lbGVtZW50cy8xLjEvIgogICB4bWxuczpjYz0iaHR0cDovL2NyZWF0aXZlY29tbW9ucy5vcmcvbnMjIgogICB4bWxuczpyZGY9Imh0dHA6Ly93d3cudzMub3JnLzE5OTkvMDIvMjItcmRmLXN5bnRheC1ucyMiCiAgIHhtbG5zOnN2Zz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciCiAgIHhtbG5zPSJodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2ZyIKICAgeG1sbnM6c29kaXBvZGk9Imh0dHA6Ly9zb2RpcG9kaS5zb3VyY2Vmb3JnZS5uZXQvRFREL3NvZGlwb2RpLTAuZHRkIgogICB4bWxuczppbmtzY2FwZT0iaHR0cDovL3d3dy5pbmtzY2FwZS5vcmcvbmFtZXNwYWNlcy9pbmtzY2FwZSIKICAgc3R5bGU9ImhlaWdodDogNTEycHg7IHdpZHRoOiA1MTJweDsiCiAgIHZpZXdCb3g9IjAgMCA1MTIgNTEyIgogICB2ZXJzaW9uPSIxLjEiCiAgIGlkPSJzdmczMzY4IgogICBzb2RpcG9kaTpkb2NuYW1lPSJhdG1vcy1oZS5zdmciCiAgIGlua3NjYXBlOnZlcnNpb249IjEuMCAoNDAzNWE0ZmI0OSwgMjAyMC0wNS0wMSkiPgogIDxtZXRhZGF0YQogICAgIGlkPSJtZXRhZGF0YTMzNzQiPgogICAgPHJkZjpSREY+CiAgICAgIDxjYzpXb3JrCiAgICAgICAgIHJkZjphYm91dD0iIj4KICAgICAgICA8ZGM6Zm9ybWF0PmltYWdlL3N2Zyt4bWw8L2RjOmZvcm1hdD4KICAgICAgICA8ZGM6dHlwZQogICAgICAgICAgIHJkZjpyZXNvdXJjZT0iaHR0cDovL3B1cmwub3JnL2RjL2RjbWl0eXBlL1N0aWxsSW1hZ2UiIC8+CiAgICAgICAgPGRjOnRpdGxlPjwvZGM6dGl0bGU+CiAgICAgIDwvY2M6V29yaz4KICAgIDwvcmRmOlJERj4KICA8L21ldGFkYXRhPgogIDxkZWZzCiAgICAgaWQ9ImRlZnMzMzcyIiAvPgogIDxzb2RpcG9kaTpuYW1lZHZpZXcKICAgICBpbmtzY2FwZTpkb2N1bWVudC1yb3RhdGlvbj0iMCIKICAgICBwYWdlY29sb3I9IiMwMDAwMDAiCiAgICAgYm9yZGVyY29sb3I9IiM2NjY2NjYiCiAgICAgYm9yZGVyb3BhY2l0eT0iMSIKICAgICBvYmplY3R0b2xlcmFuY2U9IjEwIgogICAgIGdyaWR0b2xlcmFuY2U9IjEwIgogICAgIGd1aWRldG9sZXJhbmNlPSIxMCIKICAgICBpbmtzY2FwZTpwYWdlb3BhY2l0eT0iMCIKICAgICBpbmtzY2FwZTpwYWdlc2hhZG93PSIyIgogICAgIGlua3NjYXBlOndpbmRvdy13aWR0aD0iMTkyMCIKICAgICBpbmtzY2FwZTp3aW5kb3ctaGVpZ2h0PSIxMDE3IgogICAgIGlkPSJuYW1lZHZpZXczMzcwIgogICAgIHNob3dncmlkPSJmYWxzZSIKICAgICBpbmtzY2FwZTp6b29tPSIwLjgwODEzMzUxIgogICAgIGlua3NjYXBlOmN4PSIxMzUuNTA4ODQiCiAgICAgaW5rc2NhcGU6Y3k9IjMyNy40NTkzNSIKICAgICBpbmtzY2FwZTp3aW5kb3cteD0iLTgiCiAgICAgaW5rc2NhcGU6d2luZG93LXk9Ii04IgogICAgIGlua3NjYXBlOndpbmRvdy1tYXhpbWl6ZWQ9IjEiCiAgICAgaW5rc2NhcGU6Y3VycmVudC1sYXllcj0idGV4dDUxMTAiIC8+CiAgPHRleHQKICAgICBpZD0idGV4dDUxMDYiCiAgICAgeT0iMTAzLjYwNDcxIgogICAgIHg9IjE0NS43Njk0MiIKICAgICBzdHlsZT0iZm9udC1zdHlsZTpub3JtYWw7Zm9udC13ZWlnaHQ6bm9ybWFsO2ZvbnQtc2l6ZTo0MHB4O2xpbmUtaGVpZ2h0OjEuMjU7Zm9udC1mYW1pbHk6c2Fucy1zZXJpZjtmaWxsOiNmZmZmZmY7ZmlsbC1vcGFjaXR5OjE7c3Ryb2tlOm5vbmU7IgogICAgIHhtbDpzcGFjZT0icHJlc2VydmUiPjx0c3BhbgogICAgICAgeT0iMTAzLjYwNDcxIgogICAgICAgeD0iMTQ1Ljc2OTQyIgogICAgICAgaWQ9InRzcGFuNTEwNCIKICAgICAgIHNvZGlwb2RpOnJvbGU9ImxpbmUiIC8+PC90ZXh0PgogIDxnCiAgICAgc3R5bGU9ImZvbnQtc3R5bGU6bm9ybWFsO2ZvbnQtd2VpZ2h0Om5vcm1hbDtmb250LXNpemU6MzQ4LjM0MnB4O2xpbmUtaGVpZ2h0OjEuMjU7Zm9udC1mYW1pbHk6c2Fucy1zZXJpZjtmaWxsOiMwMDAwMDA7ZmlsbC1vcGFjaXR5OjE7c3Ryb2tlOm5vbmU7c3Ryb2tlLXdpZHRoOjEuODE0MjgiCiAgICAgaWQ9InRleHQ1MTEwIgogICAgIGFyaWEtbGFiZWw9IkhlIj4KICAgIDxwYXRoCiAgICAgICBpZD0icGF0aDgzOSIKICAgICAgIHN0eWxlPSJmb250LXN0eWxlOm5vcm1hbDtmb250LXZhcmlhbnQ6bm9ybWFsO2ZvbnQtd2VpZ2h0OmJvbGQ7Zm9udC1zdHJldGNoOm5vcm1hbDtmb250LXNpemU6MzQ4LjM0MnB4O2ZvbnQtZmFtaWx5OnNhbnMtc2VyaWY7LWlua3NjYXBlLWZvbnQtc3BlY2lmaWNhdGlvbjonc2Fucy1zZXJpZiBCb2xkJzt0ZXh0LWFsaWduOmNlbnRlcjt0ZXh0LWFuY2hvcjptaWRkbGU7ZmlsbDojZmZmZmZmO3N0cm9rZS13aWR0aDoxLjgxNDI4IgogICAgICAgZD0ibSAxNi4zNDQ3ODYsMTI2LjU2MjM4IGggNjUuNDg0MjE2IHYgOTYuNzgwNTcgSCAxNzguNDM5NDggViAxMjYuNTYyMzggSCAyNDMuOTIzNyBWIDM4MC41MDUwNyBIIDE3OC40Mzk0OCBWIDI3Mi44Mzg4MSBIIDgxLjgyOTAwMiBWIDM4MC41MDUwNyBIIDE2LjM0NDc4NiBaIiAvPgogICAgPHBhdGgKICAgICAgIGlkPSJwYXRoODQxIgogICAgICAgc3R5bGU9ImZvbnQtc3R5bGU6bm9ybWFsO2ZvbnQtdmFyaWFudDpub3JtYWw7Zm9udC13ZWlnaHQ6Ym9sZDtmb250LXN0cmV0Y2g6bm9ybWFsO2ZvbnQtc2l6ZTozNDguMzQycHg7Zm9udC1mYW1pbHk6c2Fucy1zZXJpZjstaW5rc2NhcGUtZm9udC1zcGVjaWZpY2F0aW9uOidzYW5zLXNlcmlmIEJvbGQnO3RleHQtYWxpZ246Y2VudGVyO3RleHQtYW5jaG9yOm1pZGRsZTtmaWxsOiNmZmZmZmY7c3Ryb2tlLXdpZHRoOjEuODE0MjgiCiAgICAgICBkPSJNIDQ5NS42NTUyMiwyODQuNzQ1MDMgViAzMDIuMDk0MSBIIDM1My4yOTA4NCBxIDIuMjExMTUsMjEuNDMxMTkgMTUuNDc4MDgsMzIuMTQ2NzkgMTMuMjY2OTMsMTAuNzE1NiAzNy4wNzkzOCwxMC43MTU2IDE5LjIyMDA0LDAgMzkuMjkwNTMsLTUuNjEyOTMgMjAuMjQwNTcsLTUuNzgzMDIgNDEuNTAxNjgsLTE3LjM0OTA3IHYgNDYuOTQ0NTMgcSAtMjEuNjAxMjksOC4xNjQyNyAtNDMuMjAyNTcsMTIuMjQ2NCAtMjEuNjAxMjksNC4yNTIyMiAtNDMuMjAyNTgsNC4yNTIyMiAtNTEuNzA3MDEsMCAtODAuNDUyMDMsLTI2LjE5MzY4IC0yOC41NzQ5MywtMjYuMzYzNzggLTI4LjU3NDkzLC03My44MTg1NyAwLC00Ni42MDQzNSAyOC4wNjQ2NiwtNzMuMzA4MzEgMjguMjM0NzUsLTI2LjcwMzk1IDc3LjU2MDUzLC0yNi43MDM5NSA0NC45MDM0NiwwIDcxLjc3NzUsMjcuMDQ0MTMgMjcuMDQ0MTMsMjcuMDQ0MTMgMjcuMDQ0MTMsNzIuMjg3NzcgeiBtIC02Mi41OTI3LC0yMC4yNDA1NyBxIDAsLTE3LjM0OTA3IC0xMC4yMDUzNCwtMjcuODk0NTggLTEwLjAzNTI0LC0xMC43MTU2IC0yNi4zNjM3NywtMTAuNzE1NiAtMTcuNjg5MjQsMCAtMjguNzQ1MDIsMTAuMDM1MjQgLTExLjA1NTc4LDkuODY1MTYgLTEzLjc3NzIsMjguNTc0OTQgeiIgLz4KICA8L2c+Cjwvc3ZnPgo=
data:image/svg+xml;base64,PD94bWwgdmVyc2lvbj0iMS4wIiBlbmNvZGluZz0iVVRGLTgiIHN0YW5kYWxvbmU9Im5vIj8+CjxzdmcKICAgeG1sbnM6ZGM9Imh0dHA6Ly9wdXJsLm9yZy9kYy9lbGVtZW50cy8xLjEvIgogICB4bWxuczpjYz0iaHR0cDovL2NyZWF0aXZlY29tbW9ucy5vcmcvbnMjIgogICB4bWxuczpyZGY9Imh0dHA6Ly93d3cudzMub3JnLzE5OTkvMDIvMjItcmRmLXN5bnRheC1ucyMiCiAgIHhtbG5zOnN2Zz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciCiAgIHhtbG5zPSJodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2ZyIKICAgeG1sbnM6c29kaXBvZGk9Imh0dHA6Ly9zb2RpcG9kaS5zb3VyY2Vmb3JnZS5uZXQvRFREL3NvZGlwb2RpLTAuZHRkIgogICB4bWxuczppbmtzY2FwZT0iaHR0cDovL3d3dy5pbmtzY2FwZS5vcmcvbmFtZXNwYWNlcy9pbmtzY2FwZSIKICAgc3R5bGU9ImhlaWdodDogNTEycHg7IHdpZHRoOiA1MTJweDsiCiAgIHZpZXdCb3g9IjAgMCA1MTIgNTEyIgogICB2ZXJzaW9uPSIxLjEiCiAgIGlkPSJzdmczMzY4IgogICBzb2RpcG9kaTpkb2NuYW1lPSJhdG1vcy1uMi5zdmciCiAgIGlua3NjYXBlOnZlcnNpb249IjEuMCAoNDAzNWE0ZmI0OSwgMjAyMC0wNS0wMSkiPgogIDxtZXRhZGF0YQogICAgIGlkPSJtZXRhZGF0YTMzNzQiPgogICAgPHJkZjpSREY+CiAgICAgIDxjYzpXb3JrCiAgICAgICAgIHJkZjphYm91dD0iIj4KICAgICAgICA8ZGM6Zm9ybWF0PmltYWdlL3N2Zyt4bWw8L2RjOmZvcm1hdD4KICAgICAgICA8ZGM6dHlwZQogICAgICAgICAgIHJkZjpyZXNvdXJjZT0iaHR0cDovL3B1cmwub3JnL2RjL2RjbWl0eXBlL1N0aWxsSW1hZ2UiIC8+CiAgICAgICAgPGRjOnRpdGxlPjwvZGM6dGl0bGU+CiAgICAgIDwvY2M6V29yaz4KICAgIDwvcmRmOlJERj4KICA8L21ldGFkYXRhPgogIDxkZWZzCiAgICAgaWQ9ImRlZnMzMzcyIiAvPgogIDxzb2RpcG9kaTpuYW1lZHZpZXcKICAgICBpbmtzY2FwZTpkb2N1bWVudC1yb3RhdGlvbj0iMCIKICAgICBwYWdlY29sb3I9IiMwMDAwMDAiCiAgICAgYm9yZGVyY29sb3I9IiM2NjY2NjYiCiAgICAgYm9yZGVyb3BhY2l0eT0iMSIKICAgICBvYmplY3R0b2xlcmFuY2U9IjEwIgogICAgIGdyaWR0b2xlcmFuY2U9IjEwIgogICAgIGd1aWRldG9sZXJhbmNlPSIxMCIKICAgICBpbmtzY2FwZTpwYWdlb3BhY2l0eT0iMCIKICAgICBpbmtzY2FwZTpwYWdlc2hhZG93PSIyIgogICAgIGlua3NjYXBlOndpbmRvdy13aWR0aD0iMTkyMCIKICAgICBpbmtzY2FwZTp3aW5kb3ctaGVpZ2h0PSIxMDE3IgogICAgIGlkPSJuYW1lZHZpZXczMzcwIgogICAgIHNob3dncmlkPSJmYWxzZSIKICAgICBpbmtzY2FwZTp6b29tPSIwLjgzMDA3ODEiCiAgICAgaW5rc2NhcGU6Y3g9IjEzNS41MDg4NCIKICAgICBpbmtzY2FwZTpjeT0iMzI3LjQ1OTM1IgogICAgIGlua3NjYXBlOndpbmRvdy14PSItOCIKICAgICBpbmtzY2FwZTp3aW5kb3cteT0iLTgiCiAgICAgaW5rc2NhcGU6d2luZG93LW1heGltaXplZD0iMSIKICAgICBpbmtzY2FwZTpjdXJyZW50LWxheWVyPSJzdmczMzY4IiAvPgogIDx0ZXh0CiAgICAgaWQ9InRleHQ1MTA2IgogICAgIHk9IjEwMy42MDQ3MSIKICAgICB4PSIxNDUuNzY5NDIiCiAgICAgc3R5bGU9ImZvbnQtc3R5bGU6bm9ybWFsO2ZvbnQtd2VpZ2h0Om5vcm1hbDtmb250LXNpemU6NDBweDtsaW5lLWhlaWdodDoxLjI1O2ZvbnQtZmFtaWx5OnNhbnMtc2VyaWY7ZmlsbDojZmZmZmZmO2ZpbGwtb3BhY2l0eToxO3N0cm9rZTpub25lOyIKICAgICB4bWw6c3BhY2U9InByZXNlcnZlIj48dHNwYW4KICAgICAgIHk9IjEwMy42MDQ3MSIKICAgICAgIHg9IjE0NS43Njk0MiIKICAgICAgIGlkPSJ0c3BhbjUxMDQiCiAgICAgICBzb2RpcG9kaTpyb2xlPSJsaW5lIiAvPjwvdGV4dD4KICA8ZwogICAgIHN0eWxlPSJmb250LXN0eWxlOm5vcm1hbDtmb250LXdlaWdodDpub3JtYWw7Zm9udC1zaXplOjQwOS40OTVweDtsaW5lLWhlaWdodDoxLjI1O2ZvbnQtZmFtaWx5OnNhbnMtc2VyaWY7ZmlsbDojMDAwMDAwO2ZpbGwtb3BhY2l0eToxO3N0cm9rZTpub25lO3N0cm9rZS13aWR0aDoyLjEzMjc4IgogICAgIGlkPSJ0ZXh0NTExMCIKICAgICBhcmlhLWxhYmVsPSJOMiI+CiAgICA8cGF0aAogICAgICAgaWQ9InBhdGgyNTc0IgogICAgICAgc3R5bGU9ImZvbnQtc3R5bGU6bm9ybWFsO2ZvbnQtdmFyaWFudDpub3JtYWw7Zm9udC13ZWlnaHQ6Ym9sZDtmb250LXN0cmV0Y2g6bm9ybWFsO2ZvbnQtc2l6ZTo0MDkuNDk1cHg7Zm9udC1mYW1pbHk6c2Fucy1zZXJpZjstaW5rc2NhcGUtZm9udC1zcGVjaWZpY2F0aW9uOidzYW5zLXNlcmlmIEJvbGQnO3RleHQtYWxpZ246Y2VudGVyO3RleHQtYW5jaG9yOm1pZGRsZTtmaWxsOiNmZmZmZmY7c3Ryb2tlLXdpZHRoOjIuMTMyNzgiCiAgICAgICBkPSJNIDI4NC4xODMwMiwzNjMuOTEyMzIgSCAyMTAuMjAxOTkgTCA4My44MzQzOTQsMTU5LjU2NDcyIHYgMjA0LjM0NzYgSCAxMy40NTI0NDEgViA2Ni4xODg2NjcgSCAxMDUuMjI4OTEgTCAyMTMuODAxMDcsMjM2Ljc0NDkzIFYgNjYuMTg4NjY3IGggNzAuMzgxOTUgeiIgLz4KICAgIDxwYXRoCiAgICAgICBpZD0icGF0aDI1NzYiCiAgICAgICBzdHlsZT0iZm9udC1zaXplOjI2Ni4xNzFweDtiYXNlbGluZS1zaGlmdDpzdWI7c3Ryb2tlLXdpZHRoOjIuMTMyNzg7ZmlsbDojZmZmZmZmIgogICAgICAgZD0iTSA0OTguNTQ3NTUsNDQ1LjgxMTMzIEggMzQ2LjYxNjk0IHYgLTMxLjk3MTcyIHEgMTcuNDE1NDksLTEyLjYwNjczIDM0LjgzMDk3LC0yNi43NzMwNSAxNy41NDU0NSwtMTQuMTY2MzMgMjguMDcyNzIsLTI0LjQzMzY3IDE1LjcyNTkzLC0xNS4yMDYwNiAyMi4zNTQyMSwtMjYuNTEzMTMgNi42MjgyOCwtMTEuMzA3MDYgNi42MjgyOCwtMjIuMzU0MiAwLC0xMy4yNTY1NiAtOC41Nzc3OCwtMjAuNDA0NzEgLTguNDQ3ODEsLTcuMjc4MTEgLTI0LjQzMzY2LC03LjI3ODExIC0xMS45NTY5LDAgLTI1LjIxMzQ3LDQuOTM4NzIgLTEzLjEyNjU5LDQuOTM4NzIgLTI0LjQzMzY2LDEyLjYwNjczIGggLTQuMTU4OTIgdiAtNDMuMDE4ODUgcSA5LjIyNzYxLC00LjAyODk1IDI3LjE2Mjk2LC04LjA1NzkxIDE4LjA2NTMxLC00LjAyODk1IDM2LjEzMDYzLC00LjAyODk1IDM2LjM5MDU2LDAgNTUuNDk1NjEsMTUuMzM2MDIgMTkuMTA1MDUsMTUuMjA2MDYgMTkuMTA1MDUsNDMuMTQ4ODEgMCwxOC4zMjUyNSAtOS4yMjc2MSwzNC44MzA5NyAtOS4wOTc2NCwxNi41MDU3MiAtMjcuOTQyNzYsMzQuMDUxMTcgLTExLjgyNjkzLDEwLjkxNzE3IC0yMy43ODM4MywyMC4xNDQ3OCAtMTEuOTU2OSw5LjA5NzY0IC0xNy4wMjU1OSwxMi43MzY3IGggODYuOTQ3NDYgeiIgLz4KICA8L2c+Cjwvc3ZnPgo=
data:image/svg+xml;base64,PD94bWwgdmVyc2lvbj0iMS4wIiBlbmNvZGluZz0iVVRGLTgiIHN0YW5kYWxvbmU9Im5vIj8+CjxzdmcKICAgeG1sbnM6ZGM9Imh0dHA6Ly9wdXJsLm9yZy9kYy9lbGVtZW50cy8xLjEvIgogICB4bWxuczpjYz0iaHR0cDovL2NyZWF0aXZlY29tbW9ucy5vcmcvbnMjIgogICB4bWxuczpyZGY9Imh0dHA6Ly93d3cudzMub3JnLzE5OTkvMDIvMjItcmRmLXN5bnRheC1ucyMiCiAgIHhtbG5zOnN2Zz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciCiAgIHhtbG5zPSJodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2ZyIKICAgeG1sbnM6c29kaXBvZGk9Imh0dHA6Ly9zb2RpcG9kaS5zb3VyY2Vmb3JnZS5uZXQvRFREL3NvZGlwb2RpLTAuZHRkIgogICB4bWxuczppbmtzY2FwZT0iaHR0cDovL3d3dy5pbmtzY2FwZS5vcmcvbmFtZXNwYWNlcy9pbmtzY2FwZSIKICAgc3R5bGU9ImhlaWdodDogNTEycHg7IHdpZHRoOiA1MTJweDsiCiAgIHZpZXdCb3g9IjAgMCA1MTIgNTEyIgogICB2ZXJzaW9uPSIxLjEiCiAgIGlkPSJzdmczMzY4IgogICBzb2RpcG9kaTpkb2NuYW1lPSJhdG1vcy1uMm8yLnN2ZyIKICAgaW5rc2NhcGU6dmVyc2lvbj0iMS4wICg0MDM1YTRmYjQ5LCAyMDIwLTA1LTAxKSI+CiAgPG1ldGFkYXRhCiAgICAgaWQ9Im1ldGFkYXRhMzM3NCI+CiAgICA8cmRmOlJERj4KICAgICAgPGNjOldvcmsKICAgICAgICAgcmRmOmFib3V0PSIiPgogICAgICAgIDxkYzpmb3JtYXQ+aW1hZ2Uvc3ZnK3htbDwvZGM6Zm9ybWF0PgogICAgICAgIDxkYzp0eXBlCiAgICAgICAgICAgcmRmOnJlc291cmNlPSJodHRwOi8vcHVybC5vcmcvZGMvZGNtaXR5cGUvU3RpbGxJbWFnZSIgLz4KICAgICAgICA8ZGM6dGl0bGU+PC9kYzp0aXRsZT4KICAgICAgPC9jYzpXb3JrPgogICAgPC9yZGY6UkRGPgogIDwvbWV0YWRhdGE+CiAgPGRlZnMKICAgICBpZD0iZGVmczMzNzIiIC8+CiAgPHNvZGlwb2RpOm5hbWVkdmlldwogICAgIGlua3NjYXBlOmRvY3VtZW50LXJvdGF0aW9uPSIwIgogICAgIHBhZ2Vjb2xvcj0iIzAwMDAwMCIKICAgICBib3JkZXJjb2xvcj0iIzY2NjY2NiIKICAgICBib3JkZXJvcGFjaXR5PSIxIgogICAgIG9iamVjdHRvbGVyYW5jZT0iMTAiCiAgICAgZ3JpZHRvbGVyYW5jZT0iMTAiCiAgICAgZ3VpZGV0b2xlcmFuY2U9IjEwIgogICAgIGlua3NjYXBlOnBhZ2VvcGFjaXR5PSIwIgogICAgIGlua3NjYXBlOnBhZ2VzaGFkb3c9IjIiCiAgICAgaW5rc2NhcGU6d2luZG93LXdpZHRoPSIxOTIwIgogICAgIGlua3NjYXBlOndpbmRvdy1oZWlnaHQ9IjEwMTciCiAgICAgaWQ9Im5hbWVkdmlldzMzNzAiCiAgICAgc2hvd2dyaWQ9ImZhbHNlIgogICAgIGlua3NjYXBlOnpvb209IjAuODMwMDc4MSIKICAgICBpbmtzY2FwZTpjeD0iMTM1LjUwODg0IgogICAgIGlua3NjYXBlOmN5PSIzMTEuNjcyNiIKICAgICBpbmtzY2FwZTp3aW5kb3cteD0iLTgiCiAgICAgaW5rc2NhcGU6d2luZG93LXk9Ii04IgogICAgIGlua3NjYXBlOndpbmRvdy1tYXhpbWl6ZWQ9IjEiCiAgICAgaW5rc2NhcGU6Y3VycmVudC1sYXllcj0ic3ZnMzM2OCIgLz4KICA8dGV4dAogICAgIGlkPSJ0ZXh0NTEwNiIKICAgICB5PSIxMDMuNjA0NzEiCiAgICAgeD0iMTQ1Ljc2OTQyIgogICAgIHN0eWxlPSJmb250LXN0eWxlOm5vcm1hbDtmb250LXdlaWdodDpub3JtYWw7Zm9udC1zaXplOjQwcHg7bGluZS1oZWlnaHQ6MS4yNTtmb250LWZhbWlseTpzYW5zLXNlcmlmO2ZpbGw6I2ZmZmZmZjtmaWxsLW9wYWNpdHk6MTtzdHJva2U6bm9uZTsiCiAgICAgeG1sOnNwYWNlPSJwcmVzZXJ2ZSI+PHRzcGFuCiAgICAgICB5PSIxMDMuNjA0NzEiCiAgICAgICB4PSIxNDUuNzY5NDIiCiAgICAgICBpZD0idHNwYW41MTA0IgogICAgICAgc29kaXBvZGk6cm9sZT0ibGluZSIgLz48L3RleHQ+CiAgPGcKICAgICBzdHlsZT0iZm9udC1zdHlsZTpub3JtYWw7Zm9udC13ZWlnaHQ6bm9ybWFsO2ZvbnQtc2l6ZToyNTAuNzA0cHg7bGluZS1oZWlnaHQ6MS4wNTtmb250LWZhbWlseTpzYW5zLXNlcmlmO2ZpbGw6IzAwMDAwMDtmaWxsLW9wYWNpdHk6MTtzdHJva2U6bm9uZTtzdHJva2Utd2lkdGg6MS4zMDU3NCIKICAgICBpZD0idGV4dDUxMTAiCiAgICAgYXJpYS1sYWJlbD0iTjIKTzIKIj4KICAgIDxwYXRoCiAgICAgICBpZD0icGF0aDE0MTYiCiAgICAgICBzdHlsZT0iZm9udC1zdHlsZTpub3JtYWw7Zm9udC12YXJpYW50Om5vcm1hbDtmb250LXdlaWdodDpib2xkO2ZvbnQtc3RyZXRjaDpub3JtYWw7Zm9udC1zaXplOjI1MC43MDRweDtmb250LWZhbWlseTpzYW5zLXNlcmlmOy1pbmtzY2FwZS1mb250LXNwZWNpZmljYXRpb246J3NhbnMtc2VyaWYgQm9sZCc7dGV4dC1hbGlnbjpjZW50ZXI7dGV4dC1hbmNob3I6bWlkZGxlO2ZpbGw6I2ZmZmZmZjtzdHJva2Utd2lkdGg6MS4zMDU3NCIKICAgICAgIGQ9Ik0gMjc4LjU3OTQ4LDE5MC40NDcyOCBIIDIzMy4yODYyNyBMIDE1NS45MjA1OSw2NS4zNDAxMTIgViAxOTAuNDQ3MjggSCAxMTIuODMwODQgViA4LjE3Mjc0NTYgaCA1Ni4xODgwNSBMIDIzNS40ODk3MywxMTIuNTkxOTQgViA4LjE3Mjc0NTYgaCA0My4wODk3NSB6IiAvPgogICAgPHBhdGgKICAgICAgIGlkPSJwYXRoMTQxOCIKICAgICAgIHN0eWxlPSJmb250LXNpemU6MTYyLjk1N3B4O2Jhc2VsaW5lLXNoaWZ0OnN1YjtzdHJva2Utd2lkdGg6MS4zMDU3NDtmaWxsOiNmZmZmZmY7ZmlsbC1vcGFjaXR5OjEiCiAgICAgICBkPSJtIDQwOS44MTkxOSwyNDAuNTg4MDggaCAtOTMuMDE1OTggdiAtMTkuNTczOTQgcSAxMC42NjIyMiwtNy43MTgxNyAyMS4zMjQ0NSwtMTYuMzkxMTggMTAuNzQxNzksLTguNjczIDE3LjE4Njg3LC0xNC45NTg5NCA5LjYyNzgzLC05LjMwOTU2IDEzLjY4NTg0LC0xNi4yMzIwNSA0LjA1ODAxLC02LjkyMjQ5IDQuMDU4MDEsLTEzLjY4NTg0IDAsLTguMTE2MDIgLTUuMjUxNTQsLTEyLjQ5MjMxIC01LjE3MTk4LC00LjQ1NTg1IC0xNC45NTg5NCwtNC40NTU4NSAtNy4zMjAzNCwwIC0xNS40MzYzNiwzLjAyMzYxIC04LjAzNjQ1LDMuMDIzNjIgLTE0Ljk1ODk0LDcuNzE4MTggaCAtMi41NDYyMSB2IC0yNi4zMzcyOSBxIDUuNjQ5MzksLTIuNDY2NjMgMTYuNjI5ODksLTQuOTMzMjcgMTEuMDYwMDcsLTIuNDY2NjMgMjIuMTIwMTQsLTIuNDY2NjMgMjIuMjc5MjgsMCAzMy45NzU5LDkuMzg5MTIgMTEuNjk2NjIsOS4zMDk1NiAxMS42OTY2MiwyNi40MTY4NiAwLDExLjIxOTIxIC01LjY0OTM5LDIxLjMyNDQ1IC01LjU2OTgyLDEwLjEwNTI1IC0xNy4xMDczLDIwLjg0NzA0IC03LjI0MDc3LDYuNjgzNzggLTE0LjU2MTEsMTIuMzMzMTcgLTcuMzIwMzMsNS41Njk4MiAtMTAuNDIzNTIsNy43OTc3NSBoIDUzLjIzMTU2IHoiIC8+CiAgICA8cGF0aAogICAgICAgaWQ9InBhdGgxNDIwIgogICAgICAgc3R5bGU9ImZvbnQtc3R5bGU6bm9ybWFsO2ZvbnQtdmFyaWFudDpub3JtYWw7Zm9udC13ZWlnaHQ6Ym9sZDtmb250LXN0cmV0Y2g6bm9ybWFsO2ZvbnQtc2l6ZToyNTAuNzA0cHg7Zm9udC1mYW1pbHk6c2Fucy1zZXJpZjstaW5rc2NhcGUtZm9udC1zcGVjaWZpY2F0aW9uOidzYW5zLXNlcmlmIEJvbGQnO3RleHQtYWxpZ246Y2VudGVyO3RleHQtYW5jaG9yOm1pZGRsZTtmaWxsOiNmZmZmZmY7c3Ryb2tlLXdpZHRoOjEuMzA1NzQiCiAgICAgICBkPSJtIDI4OS44NDE1NywzNjIuNjEwNCBxIDAsNDMuNTc5NDEgLTI0Ljk3MjQ3LDY5LjI4NjM2IC0yNC45NzI0NywyNS41ODQ1NCAtNjkuMDQxNTMsMjUuNTg0NTQgLTQzLjk0NjY1LDAgLTY4LjkxOTExLC0yNS41ODQ1NCAtMjQuOTcyNDcsLTI1LjcwNjk1IC0yNC45NzI0NywtNjkuMjg2MzYgMCwtNDMuOTQ2NjQgMjQuOTcyNDcsLTY5LjQwODc3IDI0Ljk3MjQ2LC0yNS41ODQ1NCA2OC45MTkxMSwtMjUuNTg0NTQgNDMuODI0MjMsMCA2OC45MTkxMiwyNS41ODQ1NCAyNS4wOTQ4OCwyNS40NjIxMyAyNS4wOTQ4OCw2OS40MDg3NyB6IG0gLTYyLjMwODc2LDQ2LjE1MDEgcSA2Ljg1NTE5LC04LjMyNDE1IDEwLjE2MDM3LC0xOS41ODYyNSAzLjMwNTE4LC0xMS4zODQ1IDMuMzA1MTgsLTI2LjY4NjI2IDAsLTE2LjQwMzQ5IC0zLjc5NDg0LC0yNy45MTA0MSAtMy43OTQ4MywtMTEuNTA2OTIgLTkuOTE1NTQsLTE4LjYwNjkzIC02LjI0MzExLC03LjM0NDg1IC0xNC40NDQ4NSwtMTAuNjUwMDMgLTguMDc5MzMsLTMuMzA1MTggLTE2Ljg5MzE0LC0zLjMwNTE4IC04LjkzNjIzLDAgLTE2Ljg5MzE0LDMuMTgyNzcgLTcuODM0NSwzLjE4Mjc2IC0xNC40NDQ4NiwxMC41Mjc2MSAtNi4xMjA3MSw2Ljg1NTE5IC0xMC4wMzc5NiwxOC45NzQxOCAtMy43OTQ4MywxMS45OTY1OCAtMy43OTQ4MywyNy45MTA0IDAsMTYuMjgxMDcgMy42NzI0MiwyNy43ODc5OSAzLjc5NDgzLDExLjM4NDUxIDkuOTE1NTQsMTguNjA2OTQgNi4xMjA3LDcuMjIyNDMgMTQuMzIyNDQsMTAuNjUwMDIgOC4yMDE3NCwzLjQyNzYgMTcuMjYwMzksMy40Mjc2IDkuMDU4NjQsMCAxNy4yNjAzOCwtMy40Mjc2IDguMjAxNzQsLTMuNTUgMTQuMzIyNDQsLTEwLjg5NDg1IHoiIC8+CiAgICA8cGF0aAogICAgICAgaWQ9InBhdGgxNDIyIgogICAgICAgc3R5bGU9ImZvbnQtc2l6ZToxNjIuOTU3cHg7YmFzZWxpbmUtc2hpZnQ6c3ViO3N0cm9rZS13aWR0aDoxLjMwNTc0O2ZpbGw6I2ZmZmZmZiIKICAgICAgIGQ9Im0gNDEwLjA2NDAyLDUwMy44MjcyNiBoIC05My4wMTU5OSB2IC0xOS41NzM5MyBxIDEwLjY2MjIzLC03LjcxODE4IDIxLjMyNDQ2LC0xNi4zOTExOSAxMC43NDE3OSwtOC42NzMgMTcuMTg2ODcsLTE0Ljk1ODk0IDkuNjI3ODMsLTkuMzA5NTUgMTMuNjg1ODQsLTE2LjIzMjA0IDQuMDU4MDEsLTYuOTIyNDkgNC4wNTgwMSwtMTMuNjg1ODUgMCwtOC4xMTYwMiAtNS4yNTE1NCwtMTIuNDkyMyAtNS4xNzE5OCwtNC40NTU4NiAtMTQuOTU4OTUsLTQuNDU1ODYgLTcuMzIwMzMsMCAtMTUuNDM2MzUsMy4wMjM2MiAtOC4wMzY0NiwzLjAyMzYxIC0xNC45NTg5NSw3LjcxODE3IGggLTIuNTQ2MiB2IC0yNi4zMzcyOCBxIDUuNjQ5MzksLTIuNDY2NjQgMTYuNjI5ODksLTQuOTMzMjcgMTEuMDYwMDcsLTIuNDY2NjQgMjIuMTIwMTQsLTIuNDY2NjQgMjIuMjc5MjgsMCAzMy45NzU5LDkuMzg5MTMgMTEuNjk2NjIsOS4zMDk1NSAxMS42OTY2MiwyNi40MTY4NSAwLDExLjIxOTIxIC01LjY0OTM5LDIxLjMyNDQ2IC01LjU2OTgyLDEwLjEwNTI0IC0xNy4xMDczLDIwLjg0NzAzIC03LjI0MDc3LDYuNjgzNzkgLTE0LjU2MTEsMTIuMzMzMTggLTcuMzIwMzQsNS41Njk4MSAtMTAuNDIzNTIsNy43OTc3NCBoIDUzLjIzMTU2IHoiIC8+CiAgPC9nPgo8L3N2Zz4K
data:image/svg+xml;base64,PHN2ZyBzdHlsZT0iaGVpZ2h0OiA1MTJweDsgd2lkdGg6IDUxMnB4OyIgeG1sbnM9Imh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnIiB2aWV3Qm94PSIwIDAgNTEyIDUxMiI+PGcgY2xhc3M9IiIgc3R5bGU9IiIgdHJhbnNmb3JtPSJ0cmFuc2xhdGUoMCwwKSI+PHBhdGggZD0iTTM4Ny4xNzYgMjU1Ljk0OWM1MS4zNDMtNDMuMDQ2IDgzLjg4Ny04Ny41MTIgNjguMDIyLTExNC45MzktMTUuODY1LTI3LjQyNy03MC42NjgtMjEuNDg2LTEzMy42NTUgMS40ODNDMzA5Ljk0IDc2LjQ1OCAyODcuNzMzIDI2IDI1Ni4wNDMgMjZjLTMxLjY5IDAtNTMuOTE3IDUwLjQ0OC02NS41MyAxMTYuMzM4YTQwMy4zNzUgNDAzLjM3NSAwIDAgMC00NC44MjctMTMuNjFjLTQ3LjA5LTExLjEwOS03Ny44MTItNi44NjctODguODUgMTIuMjQxLTE1LjkxNiAyNy41NCAxNi42OCA3MS45ODYgNjguMDY0IDExNS4wNTItNTEuMzg1IDQzLjA2NS04My45OCA4Ny41MS02OC4xMDQgMTE1LjAxIDcuMDIxIDEyLjE1OSAyMi4wMDEgMTguMjk1IDQ0LjA5NSAxOC4yOTUgMTIuNjQzIDAgMjcuNjEyLTIuMDYgNDQuNzU0LTYuMDU0YTQwMy40MDYgNDAzLjQwNiAwIDAgMCA0NC44MjctMTMuNjFDMjAyLjA3NCA0MzUuNjQ1IDIyNC4yNzIgNDg2IDI1Ni4wMDIgNDg2YzMxLjczIDAgNTMuOTE3LTUwLjQ0OCA2NS41My0xMTYuMzM4YTQwMy40MDYgNDAzLjQwNiAwIDAgMCA0NC44MjcgMTMuNjFjMTcuMTQyIDQuMDQ2IDMyLjExMSA2LjA1NCA0NC43NTQgNi4wNTQgMjIuMDk0IDAgMzcuMDY0LTYuMTc3IDQ0LjA5NS0xOC4yOTUgMTEuMDM3LTE5LjExOS0uNjU5LTQ3Ljg0My0zMy44Mi04My4wNjRhNDAzLjMzNCA0MDMuMzM0IDAgMCAwLTM0LjIxMi0zMi4wMTh6bS0xNy4wNS0xMTEuMTJjMzcuMDY0LTguNzQgNjQuMTcyLTcuMDMgNzAuODAzIDQuNDQ5IDYuNjMgMTEuNDc5LTUuNDU3IDM1LjgyOC0zMS41NDYgNjMuNTQzYTM5Mi42NzggMzkyLjY3OCAwIDAgMS0zNS4xMzggMzIuNjU3Yy0xMy43NDQtMTAuODMtMjguNzE0LTIxLjU2OS00NC42MS0zMS45OTgtMS4xMDItMTguNjE0LTIuOTM0LTM2Ljk3MS01LjQ1Ny01NC40OTRhMzkyLjkxNSAzOTIuOTE1IDAgMCAxIDQ1Ljk0OS0xNC4xNTZ6TTI4NS4yMSAzMDYuNjI0cS0xNC42MyA4LjQ0Mi0yOS4yMTggMTUuOTk5LTE0LjU1OC03LjU0Ny0yOS4yMTktMTYtMTQuNjYtOC40NTItMjguNDY3LTE3LjI5NmE3MzcuNDEgNzM3LjQxIDAgMCAxIDAtNjYuNnExMy44MTctOC44MzQgMjguNDY3LTE3LjI5NyAxNC42NS04LjQ2MyAyOS4yNy0xNi4wMSAxNC41NTggNy41NDcgMjkuMjE5IDE2IDE0LjY2IDguNDUyIDI4LjQzNiAxNy4zMDZhNzM3LjI5NCA3MzcuMjk0IDAgMCAxIDAgNjYuNjAxcS0xMy44MzcgOC44MzQtMjguNDg4IDE3LjI5N3ptMjcuMjUyIDIuOTM0Yy0uOTY4IDEyLjkxLTIuMjg1IDI1LjQ1LTMuOTQzIDM3LjQ4Ni0xMS4yNDMtNC41ODItMjIuNzUzLTkuNzEtMzQuNDE4LTE1LjMycTkuNjY4LTUuMjEgMTkuMzM1LTEwLjc5IDkuNjY4LTUuNTggMTkuMDI2LTExLjM3NnptLTc0LjU4IDIyLjE3NmMtMTEuNjU0IDUuNjExLTIzLjE2NSAxMC43MjgtMzQuNDE4IDE1LjMyLTEuNjU3LTEyLjA0Ni0yLjk3NS0yNC41NzUtMy45NDMtMzcuNDg2cTkuNDMgNS44MzggMTkuMDE2IDExLjM3NyA5LjU4NSA1LjUzOSAxOS4zNDUgMTAuNzM4em0tNTYuNDQtNTMuNTM2Yy0xMC42OTctNy4yOS0yMC44ODktMTQuNzAyLTMwLjQ5NS0yMi4xNTYgOS42MDYtNy40NTQgMTkuNzk4LTE0Ljg2NiAzMC40OTUtMjIuMTU2cS0uMzQgMTEuMDg5LS4zNSAyMi4xNTYtLjAxIDExLjA2OC4zNSAyMi4xMzV6bTE4LjA4LTc1LjcxM2MuOTY3LTEyLjkxIDIuMjg1LTI1LjQ1IDMuOTQyLTM3LjQ4NWE2MTIuNjc1IDYxMi42NzUgMCAwIDEgMzQuNDM5IDE1LjMzcS05Ljc3IDUuMjUtMTkuMzY2IDEwLjc3OS05LjU5NSA1LjUyOS0xOS4wMTYgMTEuMzc2em03NC41OC0yMi4xNzZjMTEuNjU0LTUuNjExIDIzLjE2NC0xMC43MjggMzQuNDE3LTE1LjMyYTYxNy4zMzEgNjE3LjMzMSAwIDAgMSAzLjk0MyAzNy40NjVxLTkuMzM4LTUuNzY1LTE5LjAxNi0xMS4zMjUtOS42NzctNS41Ni0xOS4zNDUtMTAuNzY5em01Ni40NSA1My41MzZjMTAuNjk2IDcuMjkgMjAuODg5IDE0LjcwMiAzMC40OTQgMjIuMTU2LTkuNjA1IDcuNDU0LTE5Ljc5OCAxNC44NjctMzAuNDk1IDIyLjE1NnEuMzQtMTEuMDg4LjM1LTIyLjE1Ni4wMS0xMS4wNjgtLjM1LTIyLjEzNXpNMjE2Ljc0NCAxMDEuNTljMTAuOTU1LTM2LjQ0NiAyNS45OTYtNTkuMDk2IDM5LjI1Ny01OS4wOTYgMTMuMjYgMCAyOC4yOTIgMjIuNjUgMzkuMjU2IDU5LjA5NmEzOTIuODYzIDM5Mi44NjMgMCAwIDEgMTAuNzI4IDQ2Ljg3NWMtMTYuNDcyIDYuNTY5LTMzLjI1NCAxNC4xNjctNDkuOTIyIDIyLjUxNi0xNi45ODgtOC41NDUtMzMuNzctMTYuMTQzLTUwLjAyNi0yMi42NWEzOTIuNjY4IDM5Mi42NjggMCAwIDEgMTAuNzA3LTQ2Ljc0ek0xMDIuNjQxIDIxMi43OGMtMjYuMDg4LTI3LjcxNS0zOC4xNzUtNTIuMDYzLTMxLjU1NS02My41NDMgNi42Mi0xMS40OCAzMy43NTgtMTMuMTc4IDcwLjgwMS00LjQ0N2EzOTIuODk0IDM5Mi44OTQgMCAwIDEgNDUuOTYgMTQuMTQ2Yy0yLjUzMyAxNy41MDItNC4zNjYgMzUuOTMtNS40NjggNTQuNTY1LTE1LjU4NyAxMC4yOTYtMzAuNTg3IDIxLjA0NC00NC41MTcgMzIuMDA5YTM5Mi44NjMgMzkyLjg2MyAwIDAgMS0zNS4yMi0zMi43M3ptMzkuMjU3IDE1NC40MzJjLTM3LjA2NCA4Ljc0MS02NC4xNzIgNy4wMzItNzAuODAyLTQuNDQ3LTYuNjMtMTEuNDggNS40MjYtMzUuNzk4IDMxLjU0NS02My41MDNhMzkyLjg3NCAzOTIuODc0IDAgMCAxIDM1LjIzMS0zMi43MjljMTMuOTMgMTAuOTY1IDI4LjkzIDIxLjc0NCA0NC41MTggMzIuMDE5IDEuMTAxIDE4LjYzNSAyLjkzNCAzNy4wNjQgNS40NjYgNTQuNTY2YTM5Mi44OTQgMzkyLjg5NCAwIDAgMS00NiAxNC4wOTR6TTI5NS4zIDQxMC40NTJjLTEwLjk1NSAzNi40NDYtMjUuOTk2IDU5LjA5Ni0zOS4yNTcgNTkuMDk2LTEzLjI2IDAtMjguMjkyLTIyLjY1LTM5LjI1Ni01OS4wOTZhMzkyLjY2OCAzOTIuNjY4IDAgMCAxLTEwLjcwOC00Ni43NTFjMTYuMjM2LTYuNDg3IDMyLjk5Ny0xNC4wNzQgNDkuOTY0LTIyLjY1IDE2Ljk2NyA4LjUzNCAzMy43MjggMTYuMTIyIDQ5Ljk2NCAyMi42NWEzOTIuNjY4IDM5Mi42NjggMCAwIDEtMTAuNzU5IDQ2Ljc1MXptMTQ1LjY4LTQ3LjY3OGMtNi42MyAxMS40OC0zMy43NTkgMTMuMTg4LTcwLjgwMiA0LjQ0OGEzOTIuOTA1IDM5Mi45MDUgMCAwIDEtNDUuOTU4LTE0LjE0NmMyLjUzMi0xNy41MDMgNC4zNjUtMzUuOTMxIDUuNDY2LTU0LjU2NiAxNS41ODgtMTAuMjk2IDMwLjU4OC0yMS4wNDQgNDQuNTE4LTMyLjAxOWEzOTIuODk0IDM5Mi44OTQgMCAwIDEgMzUuMTggMzIuNzdjMjYuMDg4IDI3LjcwNSAzOC4xNTQgNTIuMDU0IDMxLjU0NSA2My41MzR6bS0yMDguMDgxLTEwNS4yNWEyMi44NzYgMjIuODc2IDAgMSAxIDIyLjg3NiAyMi44NzYgMjIuODc2IDIyLjg3NiAwIDAgMS0yMi44NzYtMjIuODc2eiIgZmlsbD0iI2ZmZiIgZmlsbC1vcGFjaXR5PSIxIj48L3BhdGg+PC9nPjwvc3ZnPg==
data:image/svg+xml;base64,PHN2ZyBzdHlsZT0iaGVpZ2h0OiA1MTJweDsgd2lkdGg6IDUxMnB4OyIgeG1sbnM9Imh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnIiB2aWV3Qm94PSIwIDAgNTEyIDUxMiI+PGRlZnM+PGNsaXBQYXRoIGlkPSJpY29uLWJnIj48cGF0aCBkPSJNMCAwaDUxMnY1MTJIMHoiIGZpbGw9IiMwMDAiIGZpbGwtb3BhY2l0eT0iMCI+PC9wYXRoPjwvY2xpcFBhdGg+PC9kZWZzPjxwYXRoIGQ9Ik0wIDBoNTEydjUxMkgweiIgZmlsbD0iIzAwMCIgZmlsbC1vcGFjaXR5PSIwIj48L3BhdGg+PGcgY2xhc3M9IiIgc3R5bGU9InRvdWNoLWFjdGlvbjogbm9uZTsiIHRyYW5zZm9ybT0idHJhbnNsYXRlKDAsMCkiPjxwYXRoIGQ9Ik0zMjAuOTM4IDEzLjI4Yy0xNi42NDYgMzQuNTg0LTM4LjQ2NiA2MC4xNTctNjMuMDk0IDYwLjE1Ny0yNC41MjIgMC00Ny4wMzUtMjUuMjc1LTYzLjY1Ni01OS41OTMuMzY2IDM5LjM1OC05LjcxIDkwLjg4NC0zMC45MzggMTA1LjEyNS0yMS4yMjggMTQuMjQtNDkuNjQtMTIuMDAyLTc4Ljg0NC0zMi4xMjYgMTcuNDU1IDM0LjA0IDQyLjA5NSA2Ny41IDI5Ljc4IDkyLjI4LTEyLjIxIDI0LjU3Ni01OS4xNzIgMzUuOTYtOTIuODc0IDM1LjYyNiAyOS4zMzggMTkuMjkgNzguODQyIDQ1LjgwMyA3OC44NDQgNzQuMTg4LjAwMiAyOC4zODQtNDkuNTA0IDUzLjcxLTc4Ljg0NCA3MyAzMy43MDItLjMzMyA4MC42NjMgMTEuNjEyIDkyLjg3NiAzNi4xODcgMTIuMjI3IDI0LjYxLTkuMDMgNTYuMzEtMzMuNzUgODUuNTYzIDQ0LjgyNi0xNS40MTMgNjUuMTQyLTUuNzM1IDg1LjM3NCAxMC44MTJoMzEuNzVjLTQyLjc0LTM1LjQxMy03Mi4wNjItMTA3LjgyOC03Mi4wNjItMTkxLjU2My0uMDAyLTExOC42MiA1OC45Mi0yMTQuOTA2IDEzMS40MDYtMjE0LjkwNiA3Mi40ODggMCAxMzEuNDA2IDk2LjI5IDEzMS40MDYgMjE0LjkwNyAwIDgzLjc0LTI5LjMxNyAxNTYuMTUzLTcyLjA2MiAxOTEuNTYzaDI3LjMxM2MxOS44NDctMTQuNjIgMzkuNzk2LTI1LjY1IDg5LjY4Ny05LjI4LTI2LjIzMy0zMC4yNjQtNDIuMi02Mi40ODQtMjkuOTctODcuMDk1IDEyLjI1Ny0yNC42NjUgNTYuNjU4LTM2LjYxMiA5MC41MzMtMzYuMTg4LTI5LjQtMTkuMjk3LTc1LjM0NC00NC41ODQtNzUuMzQ0LTczIDAtMjguNDE1IDQ1Ljk0My01NC44OSA3NS4zNDItNzQuMTg3LTMzLjg3NC40MjQtNzguMjczLTEwLjk2Mi05MC41My0zNS42MjUtMTIuMzE1LTI0Ljc4IDkuOTgyLTU4LjI0IDI3LjQzNy05Mi4yOC0yOS4yMDIgMjAuMTItNTcuNTgzIDQ2LjM4NS03OC44NDUgMzIuMTI0LTIxLjI2Mi0xNC4yNjMtMzEuMzgyLTY2LjEzLTMwLjkzOC0xMDUuNjl6bS02OC45NyA5My43NWMtMTkuNTYgMi41NDMtMzcuMzQzIDI1LjU2NC0zNy4zNDMgNTUuNDA3IDAgMTYuNDQ3IDUuNjcgMzAuOTg2IDE0IDQxLjAzMmwxMC4xNTYgMTIuMjE4LTE1LjU5MyAyLjkzN2MtMTAuODE1IDIuMDM1LTE4Ljc0MyA3LjczNy0yNS41MyAxNy4wNjMtNi43OSA5LjMyNS0xMS45ODQgMjIuMzQ0LTE1LjYyNiAzNy4zNDMtNi41ODUgMjcuMTI4LTguMDc4IDYwLjI0LTguMzEgODkuNDdoMzYuMDkzbC42NTYgOC42NTYgOS4xMjQgMTIyLjU2M2g3Ni4xODdsOC4wOTUtMTIyLjUuNTYzLTguNzJoMzQuMzc1Yy0uMDI2LTI5LjU5Mi0uNDQtNjMuMTY2LTYuNDA3LTkwLjUtMy4yOTUtMTUuMDk1LTguMjg3LTI4LjA5Ni0xNS4xNTYtMzcuMzEzLTYuODctOS4yMTYtMTUuMTMzLTE0Ljg5Ny0yNy4yOC0xNi43OGwtMTUuOTQtMi40NyAxMC4wNjQtMTIuNTkzYzcuOTctOS45OTYgMTMuMzc1LTI0LjM2IDEzLjM3NS00MC40MDYtLjAwMi0zMS44MTctMTkuODg0LTU1LjMxMy00MS40NC01NS4zMTMtMi41NCAwLTMuOTYtLjEwMy00LjAzLS4wOTRoLS4wM3oiIGZpbGw9IiNmZmZmZmYiIGZpbGwtb3BhY2l0eT0iMSIgY2xpcC1wYXRoPSJ1cmwoI2ljb24tYmcpIj48L3BhdGg+PC9nPjwvc3ZnPg==
data:image/svg+xml;base64,PHN2ZyB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIHZpZXdCb3g9IjAgMCA1MTIgNTEyIiBzdHlsZT0iaGVpZ2h0OiA1MTJweDsgd2lkdGg6IDUxMnB4OyI+PGcgY2xhc3M9IiIgdHJhbnNmb3JtPSJ0cmFuc2xhdGUoMCwwKSIgc3R5bGU9InRvdWNoLWFjdGlvbjogbm9uZTsiPjxwYXRoIGQ9Ik0yNDEuNDA2IDIxbC0xNS4yMiAzNC43NWMtNy44NjQuNDc4LTE1LjcwMyAxLjQ3Mi0yMy40NjcgMi45N2wtMjMuMjgyLTMwLjA2NC0yNS4wOTQgOC41MzItLjEyNSAzOC4yNWMtMTAuNjMgNS40NjQtMjAuODE3IDEyLjA3LTMwLjQ0IDE5Ljc4TDg4LjMxMyA3OS4yNSA3MC4xNTYgOTguNTYzIDg4LjMxMiAxMzNjLTUuODUyIDguMzQ2LTEwLjkyNSAxNy4wNzItMTUuMjE4IDI2LjA5NGwtMzguOTM4IDEuMDYyLTcuOTA2IDI1LjI4IDMxLjQzOCAyMy4xNThjLTEuNTA1IDkuMzgtMi4yNCAxOC44NTgtMi4yODIgMjguMzQ0TDIwLjUgMjU0LjYyNWwzLjY1NiAyNi4yNSAzOC4zMTMgNy41YzIuMjg0IDcuOTgyIDUuMTA3IDE1LjgyNiA4LjUgMjMuNUw0NS43MiAzNDMuMjJsMTQuMDkzIDIyLjQzNiAzOS4yNS05LjE4N2MyLjQ3IDIuODk1IDUuMDM3IDUuNzU3IDcuNzE4IDguNTMgNS42NDMgNS44MzUgMTEuNTY1IDExLjIwNiAxNy43MiAxNi4xMjVsLTcuNjI1IDM5LjMxMyAyMi45MzggMTMuMjUgMjkuOTY4LTI2LjA5NGM4LjYwNiAzLjQ2MiAxNy40MzUgNi4yMyAyNi40MDcgOC4zMTJsOS43ODIgMzguNDA2IDI2LjQwNSAyLjE1NyAxNS44NzUtMzYuMjJjMTAuOTctLjY2IDIxLjkwNC0yLjMgMzIuNjU2LTQuOTM4bDI1LjIyIDI5LjIyIDI0LjU5My05Ljg0NC0uNzItMTQuODEzLTU3LjQwNi00My41M2MtMTYuNzEyIDQuMjI1LTM0LjA0MiA1LjM1Ni01MS4wNjMgMy40MzYtMzEuNzU0LTMuNTgtNjIuMjctMTcuOTItODYuMjE4LTQyLjY4Ni01NC43MzgtNTYuNjE0LTUzLjE3My0xNDYuNjcgMy40MzgtMjAxLjQwNiAyNy40Mi0yNi41MTMgNjIuNjktMzkuOTYzIDk4LTQwLjM0NCAzNy41OS0uNDA2IDc1LjIxNCAxMy45OTYgMTAzLjQzOCA0My4xODcgNDUuOTM1IDQ3LjUxMiA1Mi4xOTYgMTE4Ljk4NSAxOS41NjIgMTczLjA5NWwzMS45NyAyNC4yNWMzLjk5Ny02LjI4IDcuNTk0LTEyLjc1IDEwLjc1LTE5LjM3NWwzOC42NTUtMS4wNjMgNy45MDYtMjUuMjgtMzEuMjE3LTIzYzEuNTEzLTkuNDU3IDIuMjYyLTE5LjAzNSAyLjI4LTI4LjU5NGwzNC42ODgtMTcuNjI1LTMuNjU1LTI2LjI1LTM4LjI4LTcuNWMtMy4xOTYtMTAuOTkzLTcuNDQ0LTIxLjc2Mi0xMi43NS0zMi4xMjVsMjIuODEtMzEuNTk0LTE1LjI1LTIxLjY1Ny0zNy41NiAxMC45MDZjLS40NzItLjUtLjkzLTEuMDA3LTEuNDA4LTEuNS01Ljk5OC02LjIwNS0xMi4zMy0xMS44OS0xOC45MzctMTcuMDY0bDcuMTg4LTM3LjEyNUwzMzQgNDMuNzhsLTI4LjUgMjQuODE0Yy05LjIyNi0zLjcxMy0xOC43MDItNi42MDMtMjguMzEzLTguNzVsLTkuMzQzLTM2LjY4OEwyNDEuNDA2IDIxek0xODMuMjUgMTc0LjVjLTEwLjM0NC4xMTgtMjAuNTk3IDIuNjU4LTMwIDcuMjhsNDUuMjIgMzQuMzE0YzEzLjY3NiAxMC4zNzYgMTcuNTU1IDMwLjA5NSA3LjA2IDQzLjkzNy0xMC40OTggMTMuODUtMzAuNjU2IDE1LjkzMi00NC41MyA1LjQwOGwtNDUuMTg4LTM0LjI4MmMtNC42MjcgMjQuNzkzIDQuMTM1IDUxLjA2MyAyNS41OTQgNjcuMzQ0IDE5LjI0NSAxNC41OTcgNDMuOTQ0IDE3LjMzIDY1LjIyIDkuNjg4bDQuNzgtMS43MiA0LjAzIDMuMDYzIDEzNS4xOSAxMDIuNTY0IDQuMDMgMy4wNjItLjM0NCA1LjA2M2MtMS42MzcgMjIuNTUgNy41OSA0NS42MSAyNi44NDQgNjAuMjE3IDIxLjQ2IDE2LjI4IDQ5LjE0NSAxNy42MyA3MS43OCA2LjVsLTQ1LjE4Ni0zNC4yOGMtMTMuODc0LTEwLjUyNi0xNy4yODItMzAuNTA2LTYuNzgtNDQuMzQ0IDEwLjUtMTMuODQgMzAuNTM3LTE1LjQwNSA0NC4yMTctNS4wMzJsNDUuMTg4IDM0LjI4M2M0LjYxNi0yNC43ODQtNC4xMS01MS4wNjctMjUuNTYzLTY3LjM0NC0xOS4zMTMtMTQuNjU4LTQzLjgxNy0xNy41NjItNjQuOTY4LTEwLjAzM2wtNC43NSAxLjY4OC00LjAzLTMuMDYzLTEzNS4xOS0xMDIuNTYyLTQuMDMtMy4wNjMuMzQ0LTUuMDNjMS41NS0yMi4zODctNy44NS00NS4xOTQtMjcuMTU3LTU5Ljg0NS0xMi41NDQtOS41MTYtMjcuMjIyLTEzLjk3OC00MS43OC0xMy44MTJ6bTQzLjU2MyA5MC4yNWwxNjMuODc1IDEyNC4zNDRMMzc5LjQwNiA0MDQgMjE1LjUgMjc5LjYyNWwxMS4zMTMtMTQuODc1eiIgZmlsbD0iI2ZmZiIgZmlsbC1vcGFjaXR5PSIxIj48L3BhdGg+PC9nPjwvc3ZnPg==
data:image/svg+xml;base64,PHN2ZyBzdHlsZT0iaGVpZ2h0OiA1MTJweDsgd2lkdGg6IDUxMnB4OyIgeG1sbnM9Imh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnIiB2aWV3Qm94PSIwIDAgNTEyIDUxMiI+PGcgY2xhc3M9IiIgc3R5bGU9IiIgdHJhbnNmb3JtPSJ0cmFuc2xhdGUoMCwwKSI+PHBhdGggZD0iTTI2My41OTQgMjAuNjI1Yy0xMy4zOTQgMC0yNS44MjQgNy4yMTctMzUuNDcgMjAuMTg4LTkuNjQ0IDEyLjk3LTE1Ljk2OCAzMS41NDctMTUuOTY4IDUyLjI1IDAgMjAuNzAyIDYuMzI0IDM5LjI0OCAxNS45NyA1Mi4yMTggOS42NDQgMTIuOTcyIDIyLjA3NCAyMC4xOSAzNS40NjggMjAuMTkgMTMuMzkzIDAgMjUuODU1LTcuMjE4IDM1LjUtMjAuMTkgOS42NDUtMTIuOTcgMTUuOTctMzEuNTE2IDE1Ljk3LTUyLjIxOC0uMDAyLTIwLjcwMi02LjMyNS0zOS4yOC0xNS45Ny01Mi4yNS05LjY0NS0xMi45Ny0yMi4xMDctMjAuMTg3LTM1LjUtMjAuMTg3ek0xNTMuMTg4IDI1bC0xNi41NjMgOC42MjUgNjAuNSAxMTYuMDYzYzIuNzc4LTEuNTEgNS42NzMtMi44NyA4LjcyLTQuMDMyLTcuNzE1LTEzLjMxNC0xMi41NzgtMjkuNTQyLTEzLjg0NS00Ni4xODdMMTUzLjE4NyAyNXpNMzc0IDI1bC0zOS4zMTMgNzUuNDM4Yy0xLjMxNiAxNS42NjgtNS44MDIgMzEuMDAzLTEyLjg0MyA0My43OCAzLjIgMS4wNTIgNi4yNiAyLjI2NCA5LjE4NyAzLjY1N2w1OS41NjQtMTE0LjI1TDM3NCAyNXpNMTAyLjY4NyA2NC44NDRsLTEzLjg3NCAxMi41MyA4NC4xMjQgOTMuMTljMy44OC00Ljk5NiA4LjIxNy05LjUxIDEzLjA2My0xMy40NGwtODMuMzEzLTkyLjI4em0zMjEuODQ0IDBsLTgxLjQ2NyA5MC4yMmM0LjM1NyAzLjIwMiA4LjI4MyA2Ljg1MyAxMS43OCAxMC44NzQuNTkuNjc3IDEuMTg1IDEuMzY2IDEuNzUgMi4wNjJsODEuODEzLTkwLjYyNS0xMy44NzUtMTIuNTN6TTYzLjA2NCAxMTcuNjg4TDUzIDEzMy40MzhsMTAzLjg3NSA2Ni40MDZjMi4yODMtNS45NjcgNC45MzgtMTEuNjk3IDcuOTctMTcuMDYzTDYzLjA2MiAxMTcuNjg4em00MDEuMDkzIDBsLTk4Ljg3NSA2My4yNWMzLjAxIDUuNDE2IDUuNTYgMTEuMjA4IDcuNzIgMTcuMjVsMTAxLjIyLTY0Ljc1LTEwLjA2NC0xNS43NXptLTE1My4yOCA0Mi43OGMtMTIuMTY1IDE0LjM2LTI4Ljc4IDIzLjY4OC00Ny4yODIgMjMuNjg4LTE4LjA1NiAwLTM0LjMtOC44ODUtNDYuMzc1LTIyLjY1Ni0yNS4xMjQgNi44OTQtMzguNiAyNy41MzMtNDYuOTQgNTcuMzQ0LTguMTkgMjkuMjg3LTkuOTE0IDY2LjI1My0xMC4xNTUgMTAxLjU2MmgyNmwtMy41LTY3LjcyIDE4LjY4OC0uOTM2IDQuMTI1IDgwIDExLjIxOCAxNjMuNzhoMzhWMzYyLjk3aDE4LjY4OHYxMzIuNTZoNDAuODEybDkuOTctMTY0LjQ2NyA0LjA5My03OS4zMTMgMTguNjU1LjkzOC0zLjUgNjcuNzE4aDIzLjgxM2MtLjAyLTM1LjcxNC0uNDI1LTczLjI3Ni03Ljg0NC0xMDIuODEyLTQuMDMyLTE2LjA1LTEwLjA3Mi0yOS41NDQtMTguNjI1LTM5LjM3NS03LjUyOC04LjY1Mi0xNi44ODctMTQuNzU1LTI5Ljg0NS0xNy43NXpNMzYuOTY4IDE4MC4wMzJsLTUuMzE0IDE3LjkwNyAxMTYuMjggMzQuNTMyYzEuMTg3LTYuMjQgMi42MTMtMTIuMzQ1IDQuMjUtMTguMjVMMzYuOTcgMTgwLjAzem00NTMuMjggMGwtMTEyLjY4OCAzMy40NGMxLjQ4NSA1Ljk2NCAyLjcxNSAxMi4xMTMgMy43MiAxOC40MDVsMTE0LjI4LTMzLjkzOC01LjMxMi0xNy45MDZ6TTI2LjIyIDI0Ny42ODh2MTguNjg4aDExNy4yMThjLjU0LTYuMjk4IDEuMjI0LTEyLjUzMiAyLjA2Mi0xOC42ODhIMjYuMjJ6bTM1Ny4xMjQgMGMuNjQ1IDYuMTYgMS4xMDYgMTIuNDAyIDEuNDcgMTguNjg4aDExNi4xNTV2LTE4LjY4OEgzODMuMzQzem0tMjQxLjAzIDM1LjU5NEwzMS42NTQgMzE2LjEyNmw1LjMxMyAxNy45MzggMTA0LjU5My0zMS4wMzJjLjE0OC02LjU2Mi40MS0xMy4xNi43NS0xOS43NXptMjQzLjIxNy4xOWMuMTg1IDYuNTY4LjI3IDEzLjEwNC4zMTQgMTkuNjI0bDEwNC40MDYgMzAuOTcgNS4zMTMtMTcuOTRMMzg1LjUzIDI4My40N3ptLTI0NC4xODYgNDAuNjg2TDUzIDM4MC42NTZsMTAuMDYzIDE1LjcyIDg5LjU2Mi01Ny4yODJoLTExLjMxM3YtOS4zNDRjMC0xLjg0NC4wMjYtMy43MzMuMDMyLTUuNTk0em0yNDQuNTYyLjAzdjE0LjkwOGgtMTEuMzEybDg5LjU2MiA1Ny4yOCAxMC4wNjMtMTUuNzE4LTg4LjMxNC01Ni40N3ptLTIwOC45NyAxNC45MDhMODguODE0IDQzNi43MmwxMy44NzYgMTIuNTMgODUuNTYyLTk0Ljc4LTEuMDYzLTE1LjM3NmgtMTAuMjV6bTE2NS40NCAwbC0xLjA5NSAxNy45MzcgODMuMjUgOTIuMjIgMTMuODc2LTEyLjUzLTg4LjEyNS05Ny42MjZoLTcuOTA1em0tMTUyLjUgMzkuMTU2bC01My4yNSAxMDIuMTg4IDE2LjU2IDguNjU2IDM5LjE1OC03NS4xMjUtMi40Ny0zNS43MnptMTQ5Ljg0MyA0LjU5NGwtMi4xOSAzNi4yNSAzNi40NyA3MCAxNi41OTQtOC42NTYtNTAuODc1LTk3LjU5NHoiIGZpbGw9IiNmZmYiIGZpbGwtb3BhY2l0eT0iMSI+PC9wYXRoPjwvZz48L3N2Zz4=
data:image/svg+xml;base64,PHN2ZyBzdHlsZT0iaGVpZ2h0OiA1MTJweDsgd2lkdGg6IDUxMnB4OyIgeG1sbnM9Imh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnIiB2aWV3Qm94PSIwIDAgNTEyIDUxMiI+PGRlZnM+PGNsaXBQYXRoIGlkPSJpY29uLWJnIj48cGF0aCBkPSJNMCAwaDUxMnY1MTJIMHoiIGZpbGw9IiMwMDAiIGZpbGwtb3BhY2l0eT0iMCI+PC9wYXRoPjwvY2xpcFBhdGg+PC9kZWZzPjxwYXRoIGQ9Ik0wIDBoNTEydjUxMkgweiIgZmlsbD0iIzAwMCIgZmlsbC1vcGFjaXR5PSIwIj48L3BhdGg+PGcgY2xhc3M9IiIgc3R5bGU9InRvdWNoLWFjdGlvbjogbm9uZTsiIHRyYW5zZm9ybT0idHJhbnNsYXRlKDAsMCkiPjxwYXRoIGQ9Ik0xNTguMDMgNDEuNjU2Yy0xOS43NTUgMjIuOTM0LTMxLjc4IDUyLjc2LTMxLjc4IDg1LjQwNiAwIDIzLjU0NCA2LjIyOCA0NS42NjcgMTcuMTI1IDY0Ljc4Mi0yMi4wMi4xMDgtNDQuMzEyIDUuNzgtNjQuNzIgMTcuNTYyLTI4LjI2NiAxNi4zMi00OC4xMTMgNDEuNjQtNTguMDkzIDcwLjIyIDkuNDg0LTE1LjQ5MiAyMy4wMTItMjguNTYyIDM5Ljg0NC0zOC4yODIgMjMuMjM4LTEzLjQxNyA0OS4yNDYtMTcuNjA0IDczLjgxMy0xMy43Mi0yLjU0NyA5Ljk4OC0zLjkwNyAyMC40NS0zLjkwNyAzMS4yMiAwIDU3LjQzNiAzOC41MTYgMTA2LjAzIDkxLjA2MiAxMjEuMzc1LTkuMDA1IDIyLjgyMi0yNS40OSA0Mi44OTItNDguNDA2IDU2LjEyNC0xNi44MzggOS43MjItMzUuMjUzIDE0LjMxMy01My40MDcgMTQuNzggMjkuNzYzIDUuNjc0IDYxLjg5IDEuNzIzIDkwLjE4Ny0xNC42MjQgMjAuMzE3LTExLjczMiAzNi4zMDctMjguMTE3IDQ3LjQwNi00Ny4wMyAxMS4xIDE4LjkyMiAyNy4wOCAzNS4zMjUgNDcuNDA2IDQ3LjA2IDI4LjI5NiAxNi4zNSA2MC40MjIgMjAuMjY4IDkwLjE4OCAxNC41OTUtMTguMTYzLS40NjYtMzYuNTc0LTUuMDMtNTMuNDA2LTE0Ljc1LTIyLjk5LTEzLjI3NS0zOS41MTQtMzMuNDMtNDguNS01Ni4zNDQgNTIuMTc1LTE1LjU3MiA5MC4zMTItNjQuMDEgOTAuMzEyLTEyMS4xODYgMC0xMC43MTQtMS4zNTYtMjEuMTIyLTMuODc1LTMxLjA2MyAyNC44MTItNC4xMTMgNTEuMTI3LjAyNSA3NC42MjYgMTMuNTk1IDE2LjgzMiA5LjcyNSAzMC4zNjIgMjIuNzg4IDM5Ljg0NCAzOC4yOC05Ljk3OC0yOC41OC0yOS44MjYtNTMuODk2LTU4LjA5NC03MC4yMTctMjAuMjktMTEuNzE4LTQyLjQ0NC0xNy4zOTMtNjQuMzQ0LTE3LjU2MyAxMC45MDYtMTkuMTIgMTcuMTU3LTQxLjI1OCAxNy4xNTctNjQuODEzIDAtMzIuNjgtMTIuNjc4LTYyLjQ2Mi0zMi40Ny04NS40MDYgOC42NjggMTUuOTYyIDEzLjkwNiAzNC4xODQgMTMuOTA2IDUzLjYyNSAwIDI3LjQxMi05Ljc3NSA1Mi41MTYtMjYuMDMgNzIuMDMyLTIyLjY5LTIxLjYxLTUzLjM5LTM0LjkwNi04Ny4xMjYtMzQuOTA2LTMzLjQxMiAwLTYzLjg0IDEzLjAzNi04Ni40NyAzNC4yOC0xNS45NC0xOS40MjQtMjUuNS00NC4yOS0yNS41LTcxLjQwNSAwLTE5LjQ0IDQuNTgtMzcuNjYyIDEzLjI1LTUzLjYyNHptOTguNzIgMTA5LjQzOGMyOC43NDggMCA1NC44MzMgMTEuMTkgNzQuMTI1IDI5LjQ3LTE3LjM3MyAxNC45OTQtMzkuMzc1IDI0Ljc2LTYzLjU5NCAyNi44NzR2MTkuODEyYzEyLjkxMiAzLjYgMjIuMjgzIDE1LjM1IDIyLjI4MyAyOS40NyAwIDIuMzktLjI3MiA0LjcwOC0uNzgyIDYuOTM2bDE3LjQ0IDkuNWMxNC4wMTgtMTkuNTc3IDMzLjQxNS0zMy40NzcgNTQuOTY3LTQwLjg0NCAyLjE0IDguNDg1IDMuMjgyIDE3LjM3MiAzLjI4MiAyNi41MzIgMCA0OC45MTgtMzIuNDEgOTAuMDc1LTc2Ljk3IDEwMy4yOC01LjA1OC0yMy45MjMtMi4zNy00OS41NjMgOS4xMjUtNzIuOTA1bC0xNy40MzgtOS41Yy01LjM4NSA0LjcyNi0xMi40NSA3LjU5Mi0yMC4yNSA3LjU5Mi04LjA1NiAwLTE1LjM0Mi0zLjA1LTIwLjc4LTguMDYybC0yMC4wMzIgMTAuNzhjMTEuMiAyMy4yMDcgMTMuNzI4IDQ4LjYyOCA4LjY1NiA3Mi4zNDUtNDQuOTczLTEyLjk1LTc3Ljc4LTU0LjMyNC03Ny43OC0xMDMuNTMgMC05LjI1IDEuMTYzLTE4LjIyMyAzLjM0NC0yNi43ODMgMjIuMTQgNy4zOSA0Mi4wNTUgMjEuNjYzIDU2LjI4IDQxLjg3NWwyMC4zNDUtMTAuOTY4Yy0uNDE0LTIuMDItLjYyNi00LjEwMy0uNjI2LTYuMjUgMC0xMy4zOCA4LjM5Ni0yNC42MzUgMjAuMjUtMjguODQ1VjIwNy41M2MtMjQuOTYyLTEuOTE3LTQ3LjYzLTExLjk1OC02NS4zNzUtMjcuNSAxOS4yMzgtMTcuOTUgNDUuMDc0LTI4LjkzNiA3My41My0yOC45MzZ6IiBmaWxsPSIjZmZmZmZmIiBmaWxsLW9wYWNpdHk9IjEiIGNsaXAtcGF0aD0idXJsKCNpY29uLWJnKSI+PC9wYXRoPjwvZz48L3N2Zz4=
data:image/svg+xml;base64,PD94bWwgdmVyc2lvbj0iMS4wIiBlbmNvZGluZz0iVVRGLTgiIHN0YW5kYWxvbmU9Im5vIj8+CjxzdmcKICAgeG1sbnM6ZGM9Imh0dHA6Ly9wdXJsLm9yZy9kYy9lbGVtZW50cy8xLjEvIgogICB4bWxuczpjYz0iaHR0cDovL2NyZWF0aXZlY29tbW9ucy5vcmcvbnMjIgogICB4bWxuczpyZGY9Imh0dHA6Ly93d3cudzMub3JnLzE5OTkvMDIvMjItcmRmLXN5bnRheC1ucyMiCiAgIHhtbG5zOnN2Zz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciCiAgIHhtbG5zPSJodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2ZyIKICAgeG1sbnM6c29kaXBvZGk9Imh0dHA6Ly9zb2RpcG9kaS5zb3VyY2Vmb3JnZS5uZXQvRFREL3NvZGlwb2RpLTAuZHRkIgogICB4bWxuczppbmtzY2FwZT0iaHR0cDovL3d3dy5pbmtzY2FwZS5vcmcvbmFtZXNwYWNlcy9pbmtzY2FwZSIKICAgc3R5bGU9ImhlaWdodDogNTEycHg7IHdpZHRoOiA1MTJweDsiCiAgIHZpZXdCb3g9IjAgMCA1MTIgNTEyIgogICB2ZXJzaW9uPSIxLjEiCiAgIGlkPSJzdmc2IgogICBzb2RpcG9kaTpkb2NuYW1lPSJidWJibGUtZmllbGQtZWRpdC5zdmciCiAgIGlua3NjYXBlOnZlcnNpb249IjEuMC4xICgzYmMyZTgxM2Y1LCAyMDIwLTA5LTA3KSI+CiAgPG1ldGFkYXRhCiAgICAgaWQ9Im1ldGFkYXRhMTIiPgogICAgPHJkZjpSREY+CiAgICAgIDxjYzpXb3JrCiAgICAgICAgIHJkZjphYm91dD0iIj4KICAgICAgICA8ZGM6Zm9ybWF0PmltYWdlL3N2Zyt4bWw8L2RjOmZvcm1hdD4KICAgICAgICA8ZGM6dHlwZQogICAgICAgICAgIHJkZjpyZXNvdXJjZT0iaHR0cDovL3B1cmwub3JnL2RjL2RjbWl0eXBlL1N0aWxsSW1hZ2UiIC8+CiAgICAgICAgPGRjOnRpdGxlPjwvZGM6dGl0bGU+CiAgICAgIDwvY2M6V29yaz4KICAgIDwvcmRmOlJERj4KICA8L21ldGFkYXRhPgogIDxkZWZzCiAgICAgaWQ9ImRlZnMxMCIgLz4KICA8c29kaXBvZGk6bmFtZWR2aWV3CiAgICAgcGFnZWNvbG9yPSIjMDAwMDAwIgogICAgIGJvcmRlcmNvbG9yPSIjNjY2NjY2IgogICAgIGJvcmRlcm9wYWNpdHk9IjEiCiAgICAgb2JqZWN0dG9sZXJhbmNlPSIxMCIKICAgICBncmlkdG9sZXJhbmNlPSIxMCIKICAgICBndWlkZXRvbGVyYW5jZT0iMTAiCiAgICAgaW5rc2NhcGU6cGFnZW9wYWNpdHk9IjEiCiAgICAgaW5rc2NhcGU6cGFnZXNoYWRvdz0iMiIKICAgICBpbmtzY2FwZTp3aW5kb3ctd2lkdGg9IjEzNjYiCiAgICAgaW5rc2NhcGU6d2luZG93LWhlaWdodD0iNzQ1IgogICAgIGlkPSJuYW1lZHZpZXc4IgogICAgIHNob3dncmlkPSJmYWxzZSIKICAgICBpbmtzY2FwZTpwYWdlY2hlY2tlcmJvYXJkPSJ0cnVlIgogICAgIHNob3dndWlkZXM9ImZhbHNlIgogICAgIGlua3NjYXBlOnpvb209IjAuODIzMTE2NDkiCiAgICAgaW5rc2NhcGU6Y3g9IjIxMi4xNDc2NCIKICAgICBpbmtzY2FwZTpjeT0iMjM2LjM3OTUzIgogICAgIGlua3NjYXBlOndpbmRvdy14PSItOCIKICAgICBpbmtzY2FwZTp3aW5kb3cteT0iLTgiCiAgICAgaW5rc2NhcGU6d2luZG93LW1heGltaXplZD0iMSIKICAgICBpbmtzY2FwZTpjdXJyZW50LWxheWVyPSJzdmc2IiAvPgogIDxwYXRoCiAgICAgZD0ibSAyNTMuOTA2LDEzLjQ3IGMgLTEzMi40MiwwIC0yNDAuMDMsMTA3LjU3OCAtMjQwLjAzLDI0MCAwLDEzMi40MiAxMDcuNjEsMjQwLjAzIDI0MC4wMywyNDAuMDMgMTMyLjQyLDAgMjQwLC0xMDcuNjEgMjQwLC0yNDAuMDMgMCwtMTMyLjQyMiAtMTA3LjU4LC0yNDAgLTI0MCwtMjQwIHogbSAtOS4zNzUsMjMuMjUgdiAxOC4wOTMgYyAzLjExLC0wLjE0NiA2LjIzMywtMC4yMiA5LjM3NiwtMC4yMiAzLjEyMywwIDYuMjI2LDAuMDc2IDkuMzEzLDAuMjIgViAzNi43MTggYyAxMy4wNjYsMC41NSAyNS44MiwyLjI0MyAzOC4xODYsNSBsIC00LjY4NywxNy41MyBjIDYuMTA4LDEuMzUyIDEyLjExNywyLjk3IDE4LDQuODc1IGwgNC43MTcsLTE3LjU2MyBjIDEyLjM2NiwzLjkwNiAyNC4yNCw4Ljg5NiAzNS41MzIsMTQuODQ0IEwgMzQ1LjgxLDc3LjI1IGMgNS41MjIsMi45MSAxMC44OTgsNi4wNjUgMTYuMDk0LDkuNDcgbCA5LjE4OCwtMTUuOTQgYyAxMC44MjgsNi45NTYgMjAuOTgzLDE0Ljg1IDMwLjM3NSwyMy41NjQgbCAtMTMuMTI2LDEzLjEyNSBjIDQuNTYsNC4yNDQgOC45Miw4LjcxOCAxMy4wNjIsMTMuMzc0IGwgMTMuMjIsLTEzLjIyIGMgOC41OCw5LjQ1OCAxNi4zMzUsMTkuNjk0IDIzLjE1NSwzMC41NjQgbCAtMTYuMzQyLDkuNDM3IGMgMy4yOSw1LjI3NSA2LjMzMywxMC43MiA5LjEyNSwxNi4zMTMgbCAxNi40NjgsLTkuNSBjIDUuNzgsMTEuMjY2IDEwLjU4NywyMy4xMyAxNC4zNDUsMzUuNDM3IGwgLTE4LjUzLDQuOTcgYyAxLjc5Miw1Ljk0IDMuMzI4LDExLjk5IDQuNTYsMTguMTU1IGwgMTguNjU4LC01IGMgMi42MDcsMTIuMjU3IDQuMTczLDI0Ljg4NCA0LjYyNSwzNy44MTMgaCAtMTkuNTMyIGMgMC4wNjIsMi4wMzQgMC4wOTQsNC4wNzQgMC4wOTQsNi4xMjUgMCw0LjIyIC0wLjE0NSw4LjQwNyAtMC40MDYsMTIuNTYyIGggMTkuNzIgYyAtMC42NDQsMTIuODcgLTIuNDA1LDI1LjQ0NyAtNS4xOSwzNy42MjUgbCAtMTkuMjgsLTUuMTU2IGMgLTEuNDIzLDYuMDk2IC0zLjE1LDEyLjEwMiAtNS4xMjUsMTcuOTY3IGwgMTkuNDM2LDUuMjIgYyAtMy45MTIsMTIuMTUgLTguODYsMjMuODMyIC0xNC43NSwzNC45MzcgbCAtMTcuNjI1LC0xMC4xODggYyAtMi45NDcsNS41MTMgLTYuMTUsMTAuODQ3IC05LjU5MiwxNi4wMyBsIDE3Ljc4LDEwLjI1MiBjIC02Ljg3MiwxMC42MzQgLTE0LjY0NCwyMC42MzIgLTIzLjIxOCwyOS44NzUgbCAtMTQuNjU2LC0xNC42NTcgYyAtNC4yNSw0LjU2NSAtOC43MTMsOC45MTcgLTEzLjM3NSwxMy4wNjMgbCAxNC43NSwxNC43NSBjIC05LjMxNiw4LjQ1MyAtMTkuMzc3LDE2LjA5NiAtMzAuMDY0LDIyLjg0MiBsIC0xMC40NywtMTguMTU2IGMgLTUuMjQ2LDMuMzE3IC0xMC42NSw2LjQgLTE2LjIxNyw5LjIyIGwgMTAuNSwxOC4xODcgYyAtMTEuMDk3LDUuNzM0IC0yMi43MywxMC41NyAtMzQuODQ1LDE0LjM0MyBsIC01LjQ3LC0yMC40MDYgYyAtNS45LDEuODU1IC0xMS45MzYsMy40NSAtMTguMDYsNC43NSBsIDUuNDY3LDIwLjQwNiBjIC0xMi4xMDIsMi42NDYgLTI0LjU3Miw0LjI3NSAtMzcuMzQzLDQuODEzIFYgNDQ5LjA5IGMgLTMuMDg4LDAuMTQzIC02LjE5LDAuMjIgLTkuMzE0LDAuMjIgLTMuMTQzLC0wLjAwMiAtNi4yNjcsLTAuMDc1IC05LjM3NSwtMC4yMiB2IDIxLjEyNSBjIC0xMi43NiwtMC41NDIgLTI1LjIxNiwtMi4xOTggLTM3LjMxLC00Ljg0NSBsIDUuNDcsLTIwLjM3IGMgLTYuMTI2LC0xLjMgLTEyLjE2MiwtMi44OTUgLTE4LjA2MywtNC43NSBsIC01LjQ3LDIwLjM3NSBjIC0xMi4xMDMsLTMuNzcgLTIzLjc1NSwtOC41ODMgLTM0Ljg0MywtMTQuMzEzIGwgMTAuNSwtMTguMTg3IGMgLTUuNTgsLTIuODI2IC0xMC45OSwtNS45MjUgLTE2LjI1LC05LjI1IGwgLTEwLjQ2OCwxOC4xNTYgYyAtMTAuNjgsLTYuNzQ0IC0yMC43MjMsLTE0LjM5MiAtMzAuMDMsLTIyLjg0MiBsIDE0LjcxNywtMTQuNzIgYyAtNC42NjMsLTQuMTQ3IC05LjA5LC04LjUyNSAtMTMuMzQzLC0xMy4wOTMgTCA5NC43OCw0MDEuMDMgQyA4Ni4yMTIsMzkxLjc5MyA3OC40MzIsMzgxLjgxNiA3MS41NjIsMzcxLjE4OCBsIDE3Ljc4MiwtMTAuMjgyIGMgLTMuNDM0LC01LjE3NCAtNi42NSwtMTAuNDk4IC05LjU5NCwtMTYgTCA2Mi4xMjUsMzU1LjA5NCBDIDU2LjIzNywzNDMuOTkgNTEuMjg3LDMzMi4zMDQgNDcuMzc1LDMyMC4xNTYgbCAxOS40MzgsLTUuMjIgYyAtMS45NzQsLTUuODY0IC0zLjY3LC0xMS44NyAtNS4wOTQsLTE3Ljk2NyBsIC0xOS4zMTQsNS4xNTUgQyAzOS42MjEsMjg5Ljk0MSAzNy44NjIsMjc3LjM3IDM3LjIxOCwyNjQuNDk5IGggMTkuNzE4IGMgLTAuMjYyLC00LjE1NSAtMC40MDcsLTguMzQgLTAuNDA3LC0xMi41NjMgMCwtMi4wNSAwLjAzMywtNC4wOSAwLjA5NSwtNi4xMjUgSCAzNy4wOTQgQyAzNy41NCwyMzIuODkgMzkuMDgsMjIwLjI1IDQxLjY4NywyMDggbCAxOC42ODcsNSBjIDEuMjMzLC02LjE2NSAyLjc3LC0xMi4yMTQgNC41NjMsLTE4LjE1NiBsIC0xOC41MzIsLTQuOTcgYyAzLjc2MywtMTIuMzEzIDguNTYsLTI0LjE2NCAxNC4zNDQsLTM1LjQzNiBsIDE2LjQ3LDkuNSBjIDIuNzksLTUuNTk0IDUuODMyLC0xMS4wMzggOS4xMjQsLTE2LjMxMyBMIDcwLDEzOC4xODcgYyA2LjgyLC0xMC44NjQgMTQuNTc3LC0yMS4wNzcgMjMuMTU2LC0zMC41MyBsIDEzLjIyLDEzLjIxOCBjIDQuMTQyLC00LjY2IDguNDcsLTkuMTU4IDEzLjAzLC0xMy40MDYgTCAxMDYuMzEyLDk0LjM3NCBjIDkuMzg1LC04LjcwOCAxOS41MjYsLTE2LjYxIDMwLjM0NCwtMjMuNTYzIGwgOS4xODgsMTUuOTM4IGMgNS4yMDcsLTMuNDEzIDEwLjU5LC02LjU4MiAxNi4xMjUsLTkuNSBsIC05LjE1NywtMTUuODQ0IGMgMTEuMjc4LC01Ljk0IDIzLjE1MiwtMTAuOTEgMzUuNSwtMTQuODEyIGwgNC43MTgsMTcuNTYyIGMgNS44OTUsLTEuOTEgMTEuOTEsLTMuNTUgMTguMDMyLC00LjkwNiBsIC00LjY4NywtMTcuNSBjIDEyLjM1OCwtMi43NTYgMjUuMDk3LC00LjQ3OCAzOC4xNTYsLTUuMDMgeiIKICAgICBmaWxsPSIjZmZmZmZmIgogICAgIGZpbGwtb3BhY2l0eT0iMSIKICAgICBpZD0icGF0aDIiCiAgICAgc29kaXBvZGk6bm9kZXR5cGVzPSJzc3Nzc2Njc2NjY2NjY2NjY2NjY2NjY2NjY2NjY2NjY3NjY2NjY2NjY2NjY2NjY2NjY2NjY2NjY2NjY2NjY2NjY2NjY2NjY2NjY2NjY2NjY2Njc2NjY2NjY2NjY2NjY2NjY2NjY2NjY2NjYyIgLz4KICA8ZwogICAgIGNsYXNzPSIiCiAgICAgaWQ9Imc0IgogICAgIHRyYW5zZm9ybT0ibWF0cml4KDAuNjk2MzMyMTMsMCwwLDAuNjk2MzMyMTMsNzcuNzM4OTczLDg2LjU1NjA3MikiPgogICAgPHBhdGgKICAgICAgIGQ9Im0gMjU2LDI2LjgxNiAtMzksMjYgViA3Ni4yNzEgTCAyNDMuNzI5LDEwMyBoIDI0LjU0MiBMIDI5NSw3Ni4yNzEgViA1Mi44MTYgWiBNIDExOS4wMjcsNDEgMTA3LjUyNyw4NyBIIDE1MSBWIDQxIFogTSAzNjEsNDEgdiA0NiBoIDQzLjQ3MyBsIC0xMS41LC00NiB6IE0gMTY5LDU1IHYgMTggaCAzMCBWIDU1IFogbSAxNDQsMCB2IDE4IGggMzAgViA1NSBaIG0gLTg2LjczNCw1NS45OTQgYyAtMC4wNiwwLjAzIC0wLjEyMywwLjA1NyAtMC4xODIsMC4wODYgLTcuMDQ4LDMuNTI0IC05LjA4NCw3LjE1NyAtOS4wODQsOC45MiAwLDEuNzYzIDIuMDM2LDUuMzk2IDkuMDg0LDguOTIgNy4wNDgsMy41MjQgMTcuODc3LDYuMDggMjkuOTE2LDYuMDggMTIuMDM5LDAgMjIuODY4LC0yLjU1NiAyOS45MTYsLTYuMDggNy4wNDgsLTMuNTI0IDkuMDg0LC03LjE1NyA5LjA4NCwtOC45MiAwLC0xLjc2MyAtMi4wMzYsLTUuMzk2IC05LjA4NCwtOC45MiAtMC4wNTksLTAuMDMgLTAuMTIzLC0wLjA1NyAtMC4xODIsLTAuMDg2IEwgMjc1LjczLDEyMSBIIDIzNi4yNyBMIDIyNi4yNjUsMTEwLjk5NCBaIE0gMTk5LDE0My45NzcgYyAtNjEuNzM5LDYuNDg4IC0xMTguNTI4LDIzLjQ3OCAtMTU0LjI1Niw0OS42MjcgNy4yMDIsOC42NjIgMTUuMjMsMTYuNjg2IDIzLjk2NywyNC4wNTIgQyA4NC4wOTMsMjA4Ljk3MyAxMDEuMDA1LDIwMS42NDggMTE5LDE5NS42NiBWIDE5MiBjIDAsLTYuNDM4IDIuOTUsLTEyLjQ0IDcuMTY4LC0xNi40NTcgNC4yMTgsLTQuMDE4IDkuNDUyLC02LjQzNSAxNS4wMjEsLTcuOTE0IDUuNTcsLTEuNDggMTEuNTc3LC0yLjA1OCAxNy42NjYsLTEuNzQgYSA2NC4zMTgsNjQuMzE4IDAgMCAxIDE4LjE2NiwzLjYzMiBsIDAuMTIsMC4wNDMgMjEuODU5LDguNDkgeiBtIDExNCwwIHYgMzQuMDc4IGwgMjEuODYsLTguNDkgMC4xMTksLTAuMDQ0IGEgNjQuMzE4LDY0LjMxOCAwIDAgMSAxOC4xNjYsLTMuNjMyIGMgNi4wOSwtMC4zMTggMTIuMDk2LDAuMjYgMTcuNjY2LDEuNzQgNS41NywxLjQ4IDEwLjgwMywzLjg5NiAxNS4wMjEsNy45MTQgNC4yMTgsNC4wMTggNy4xNjgsMTAuMDIgNy4xNjgsMTYuNDU3IHYgMy42NiBjIDE3Ljk5NSw1Ljk4OCAzNC45MDcsMTMuMzEzIDUwLjI5LDIxLjk5NiA4LjczNywtNy4zNjYgMTYuNzY0LC0xNS4zOSAyMy45NjYsLTI0LjA1MiBDIDQzMS41MjgsMTY3LjQ1NCAzNzQuNzM5LDE1MC40NjUgMzEzLDE0My45NzcgWiBtIC05NiwwLjUgdiA4MC45MDggYyAxMy42MDQsMTAuMjM0IDI2LjQ2NCwxNS4xMTUgMzksMTUuMTE1IDEyLjUzNiwwIDI1LjM5NiwtNC44ODEgMzksLTE1LjExNSB2IC04MC45MDggYyAtMC4zNDQsMC4xOCAtMC42ODUsMC4zNjkgLTEuMDMzLDAuNTQzIEMgMjgzLjY0MywxNTAuMTgyIDI3MC40NywxNTMgMjU2LDE1MyBjIC0xNC40NywwIC0yNy42NDMsLTIuODE4IC0zNy45NjcsLTcuOTggLTAuMzQ4LC0wLjE3NCAtMC42ODksLTAuMzYyIC0xLjAzMywtMC41NDMgeiBtIC02Mi4zNzEsMzkuNDM3IGMgLTMuMjE1LDAuMDUgLTYuMjQ2LDAuNDI4IC04LjgxOCwxLjExMSAtMi41ODgsMC42ODggLTQuNDQsMS42NjEgLTUuODUsMi42MjMgTCAxOTksMjE1LjIgdiAtMTcuODM0IGwgLTI4LjAzNywtMTAuODkgYyAtNC4wOTQsLTEuNDU3IC04LjY2NCwtMi4yNzcgLTEzLjA2OCwtMi41MDIgYSA0OC44NTMsNDguODUzIDAgMCAwIC0zLjI2NiwtMC4wNTkgeiBtIDIwMi43NDIsMCBhIDQ4Ljg1Myw0OC44NTMgMCAwIDAgLTMuMjY2LDAuMDU5IGMgLTQuNDA0LDAuMjI1IC04Ljk3NCwxLjA0NSAtMTMuMDY4LDIuNTAyIEwgMzEzLDE5Ny4zNjUgViAyMTUuMiBsIDU5LjA0LC0yNy41NSBjIC0xLjQxLC0wLjk2MyAtMy4yNjMsLTEuOTM2IC01Ljg1LC0yLjYyNCAtMi41NzMsLTAuNjgzIC01LjYwNCwtMS4wNiAtOC44MTksLTEuMTEgeiBNIDQxLDIxNi4yMTcgdiA0Mi44NiBjIDM4LjA3LDU1LjUzNSAxMjYuMDgyLDg1LjQyMyAyMTUsODUuNDIzIDg4LjkxOCwwIDE3Ni45MywtMjkuODg3IDIxNSwtODUuNDI0IHYgLTQyLjg2IEMgNDE4LjgyOCwyNzAuNSAzMzcuMjUsMjk3IDI1NiwyOTcgMTc0Ljc1LDI5NyA5My4xNzIsMjcwLjQ5OSA0MSwyMTYuMjE3IFogbSAxNjQuMTkxLDIzLjAyMyAtNTcuMTk3LDIyLjIxNyBjIDEzLjUxNSw0LjY1NSAyNy41NTcsOC4zNzcgNDEuOTE2LDExLjE4NiBsIDQwLjY0LC0xOC45NjUgYyAtOC42MTksLTMuMjU0IC0xNy4wOTUsLTguMTA0IC0yNS4zNTksLTE0LjQzOCB6IG0gMTAxLjYxOCwwIGMgLTguMjY0LDYuMzM0IC0xNi43NCwxMS4xODQgLTI1LjM2LDE0LjQzOCBsIDQwLjY0LDE4Ljk2NSBjIDE0LjM2LC0yLjgxIDI4LjQwMiwtNi41MzEgNDEuOTE3LC0xMS4xODYgeiBNIDI1NiwyNjEuNjY2IDIyMi4zNTQsMjc3LjM2NyBBIDM0OS43ODQsMzQ5Ljc4NCAwIDAgMCAyNTYsMjc5IGMgMTEuMjU1LDAgMjIuNDk4LC0wLjU1NSAzMy42NDYsLTEuNjMzIHogbSAtMzksOTkuMDQ3IHYgNTIuNzQ2IGMgNi40NzksMTAuODEgMjIuMTgxLDE3LjU0MSAzOSwxNy41NDEgMTYuODE5LDAgMzIuNTIxLC02LjczMiAzOSwtMTcuNTQxIHYgLTUyLjc0NiBhIDQyOC45MzYsNDI4LjkzNiAwIDAgMSAtMzksMS43ODcgYyAtMTMuMDMzLDAgLTI2LjA3NywtMC42MDYgLTM5LC0xLjc4NyB6IG0gMTYsODUuMDYgViA0NjQgYyAwLDIwIDQ2LDIwIDQ2LDAgdiAtMTguMjI3IGMgLTcuNDAyLDIuMTkgLTE1LjI2NywzLjIyNyAtMjMsMy4yMjcgLTcuNzMzLDAgLTE1LjU5OCwtMS4wMzYgLTIzLC0zLjIyNyB6IgogICAgICAgZmlsbD0iI2ZmZmZmZiIKICAgICAgIGZpbGwtb3BhY2l0eT0iMSIKICAgICAgIGlkPSJwYXRoMi03IiAvPgogIDwvZz4KPC9zdmc+Cg==
data:image/svg+xml;base64,PHN2ZyBzdHlsZT0iaGVpZ2h0OiA1MTJweDsgd2lkdGg6IDUxMnB4OyIgeG1sbnM9Imh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnIiB2aWV3Qm94PSIwIDAgNTEyIDUxMiI+PGcgY2xhc3M9IiIgc3R5bGU9IiIgdHJhbnNmb3JtPSJ0cmFuc2xhdGUoMCwwKSI+PHBhdGggZD0iTTI1NiAxNkMxMjMuNDUgMTYgMTYgMTIzLjQ1IDE2IDI1NnMxMDcuNDUgMjQwIDI0MCAyNDAgMjQwLTEwNy40NSAyNDAtMjQwUzM4OC41NSAxNiAyNTYgMTZ6bTAgNjBjOTkuNDEgMCAxODAgODAuNTkgMTgwIDE4MHMtODAuNTkgMTgwLTE4MCAxODBTNzYgMzU1LjQxIDc2IDI1NiAxNTYuNTkgNzYgMjU2IDc2em0tODAuNjI1IDYwYy0uOTctLjAwNS0yLjAwNi4xMTItMy4wNjMuMzEzdi0uMDMyYy0xOC4yOTcgMy40MzYtNDUuMjY0IDM0Ljc0My0zMy4zNzUgNDYuNjI2bDczLjE1NyA3My4xMjUtNzMuMTU2IDczLjEyNmMtMTQuNjMgMTQuNjI1IDI5LjI3NSA1OC41MzQgNDMuOTA2IDQzLjkwNkwyNTYgMjk5LjkwNmw3My4xNTYgNzMuMTU2YzE0LjYzIDE0LjYyOCA1OC41MzctMjkuMjggNDMuOTA2LTQzLjkwNmwtNzMuMTU2LTczLjEyNSA3My4xNTYtNzMuMTI0YzE0LjYzLTE0LjYyNS0yOS4yNzUtNTguNS00My45MDYtNDMuODc1TDI1NiAyMTIuMTU3bC03My4xNTYtNzMuMTI1Yy0yLjA2LTIuMDQ2LTQuNTYtMy4wMTUtNy40Ny0zLjAzeiIgZmlsbD0iI2ZmZiIgZmlsbC1vcGFjaXR5PSIxIj48L3BhdGg+PC9nPjwvc3ZnPg==
data:image/svg+xml;base64,PHN2ZyBzdHlsZT0iaGVpZ2h0OiA1MTJweDsgd2lkdGg6IDUxMnB4OyIgeG1sbnM9Imh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnIiB2aWV3Qm94PSIwIDAgNTEyIDUxMiI+PGcgY2xhc3M9IiIgc3R5bGU9IiIgdHJhbnNmb3JtPSJ0cmFuc2xhdGUoMCwwKSI+PHBhdGggZD0iTTMzNi40MzggMjAuMzc1Yy0uOTMtLjAxLTEuODU1LjAxLTIuNzgyLjAzLTIzLjY3LjUzMi00Ni42NTYgMTEuMDgzLTYyLjQzNyAyOS45MDdsMTQzLjA2IDgyLjU5NGMxMy42NjYtMzcuNTI3LTEuMTI1LTgwLjU5LTM2LjkwNS0xMDEuMjUtMTIuOTI1LTcuNDYzLTI3LjAwNy0xMS4xMjgtNDAuOTM4LTExLjI4em0tODguNzIgMzcuOTdsLTkuODEyIDE3IDQ0LjIyIDI1LjUzYzEwLjA3IDUuODE1IDE2LjAzOCAxNi4yMDUgMTkuMzc0IDI3IDMuMzM2IDEwLjc5NSA0LjM5NSAyMi40NzUtMS4zNzUgMzIuNDdsLTQ3LjA2MyA4MS41M2MtNS40IDkuMzU0LTE0Ljc3NyAxNS45OTQtMjUuNTMgMTkuMzEzLTEwLjc1NCAzLjMxOC0yMy4zODMgMy4xMi0zNC40Ny0zLjI4MmwtNDUuNDM3LTI2LjIyTDc5LjE4NyAzNTAuMjJsMTY4Ljg3NSA5Ny41MyAyMy4wOTQtNDAtNDUuOTA2LTI2LjU5NC04LjA2My00LjY4NyA0LjY1Ny04LjA2NEwzMzYuNzIgMTY4Ljc1bDQuNjU1LTguMTI1IDguMTI1IDQuNzIgNDYuMTI1IDI2LjcxOCAyMC45MzgtMzYuMjUtMTY4Ljg0NC05Ny40N3ptLTc0LjM0MyAxLjAzbC05LjM0NCAxNi4xODggMTcuMDk1IDkuODc0LTUyLjkwNiA5MS43Mi0xNy4xMjYtOS44NzYtOS4zNDQgMTYuMTkgMTcuMTI1IDkuODc0LS4wNjMuMTI1IDgzLjU5NCA0OC4yNWM1Ljg2IDMuMzggMTIuOTQgMy42NTUgMTkuNjI1IDEuNTkzIDYuNjg2LTIuMDYzIDEyLjQ0OC02LjYzIDE0Ljg0NS0xMC43ODJMMjgzLjkzOCAxNTFjMS4zOS0yLjQwOCAyLjAzLTEwLjExLS4yODItMTcuNTk0LTIuMzEzLTcuNDg0LTcuMjE3LTE0LjIzMi0xMC44NzUtMTYuMzQ0bC0xNi40NjctOS41LjEyNS0uMjE4LTgzLjA2My00Ny45N3ptNDUuMzc1IDU0LjA5NGM0Ljk2OC4wMTUgMTAuMDEgMS4yODQgMTQuNjU2IDMuOTY4IDE0LjE2MyA4LjE3NiAxOC45NTggMjYuMDI0IDEwLjc4IDQwLjE4Ny04LjE3NiAxNC4xNjMtMjYuMDIgMTguOTI4LTQwLjE4NiAxMC43NS0xNC4xNjMtOC4xNzctMTguOTU4LTI1Ljk5My0xMC43OC00MC4xNTYgNS4xMS04Ljg1MyAxNC4wMDMtMTQuMDQgMjMuNDA1LTE0LjY5LjcwNS0uMDQ3IDEuNDE1LS4wNjQgMi4xMjUtLjA2em0tNTIuMTU2IDUxLjYyNGMyLjcyLjA1IDUuNTA1LjggOC4xMjUgMi4zMTIgNy45ODIgNC42MSAxMC41ODMgMTQuMjA0IDYuMjggMjEuNjU2LTQuMzAzIDcuNDU0LTEzLjkyIDEwLjAxNy0yMS45MDYgNS40MDctNy45ODQtNC42MS0xMC41NTMtMTQuMjA1LTYuMjUtMjEuNjU3IDIuNjktNC42NTggNy40NTItNy40MSAxMi41OTQtNy42ODguMzg1LS4wMi43NjctLjAzOCAxLjE1Ni0uMDN6bTE4MS42NTYgMjEuMDk0TDI0Mi42ODcgMzY5LjYyNWw0MS4xMjUgMjMuODQ0IDEwNS41NjMtMTgzLjQ0LTQxLjEyNS0yMy44NDN6bS0xMzcuMzEzIDQuNWMyLjcyNy4wNSA1LjUzNy44IDguMTU3IDIuMzEyIDcuOTgzIDQuNjEgMTAuNTUzIDE0LjIwNCA2LjI1IDIxLjY1Ni00LjMwMyA3LjQ1My0xMy44OSAxMC4wMTctMjEuODc1IDUuNDA2LTcuOTc2LTQuNjA0LTEwLjU2NS0xNC4xNzUtNi4yODItMjEuNjI1di0uMDNjMi42OS00LjY2IDcuNDUtNy40MSAxMi41OTMtNy42ODguMzg3LS4wMjIuNzY4LS4wNCAxLjE1Ny0uMDMyek04My4zMTMgMzc0LjIxN2MtMTcuMjI0IDM4LjcxNC0yLjc2IDg0Ljk2OCAzNC43NSAxMDYuNjI2IDM3LjUyMiAyMS42NjQgODQuODE3IDExLjA1IDEwOS43Mi0yMy4yNUw4My4zMSAzNzQuMjJ6IiBmaWxsPSIjZmZmIiBmaWxsLW9wYWNpdHk9IjEiPjwvcGF0aD48L2c+PC9zdmc+
data:image/svg+xml;base64,PHN2ZyBzdHlsZT0iaGVpZ2h0OiA1MTJweDsgd2lkdGg6IDUxMnB4OyIgeG1sbnM9Imh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnIiB2aWV3Qm94PSIwIDAgNTEyIDUxMiI+PGcgY2xhc3M9IiIgc3R5bGU9IiIgdHJhbnNmb3JtPSJ0cmFuc2xhdGUoMCwwKSI+PHBhdGggZD0iTTM1LjM0NCA0Ny4wNjNjMy43MiA1MC42NjQgMTAuMTY1IDk5LjUzMyAxMDAuMjggOTIuNjU2LTIuNDY2LTgxLjgyLTUwLjk5OC04Ny44NzMtMTAwLjI4LTkyLjY1N3ptNDEyLjA5NCA4Ljc4bC00LjE4OCA4NC45MzhjNjYuNjQzLTE1LjY5NyAzNy45OTUtNzguOTU2IDQuMTg4LTg0LjkzNnpNMjg1Ljg3NSAxNzAuNDdjLS41NjctLjAwMi0xLjE0LjAxMy0xLjcyLjA2LTEuNTQuMTMtMy4xMzUuNDUtNC43NS45MDctMTIuOTEgMy42Ny0yNi4xOTggMTguOTI1LTI0LjUgMzkuMTI1LjY5NCA4LjIyIDExLjQzOCAzMC4zNzUgMjIuNDQgNDguMDk0IDQuNDU0IDcuMTc2IDguNTA4IDEzLjA3NiAxMi4xODYgMTguNDcgMi42NDctNi41NCA1LjYwNS0xMy45NzggOC42OS0yMi42ODggMy42NTYtMTAuMzMyIDcuMTg1LTIxLjM4IDkuNDY3LTMxLjEyNSAyLjI4My05Ljc0NiAzLjA1NS0xOC40NCAyLjQzOC0yMi4xODgtMi40NC0xNC43OC03LjczNC0yMi44MTItMTMuMDYzLTI2LjgxMy0zLjQ5Ny0yLjYyNS03LjIxNi0zLjgzNy0xMS4xODctMy44NDN6bTY4LjcyIDIuMjVjLTMuOTc1LS4wNS03LjcxMyAxLjExNC0xMS4yMiAzLjY4Ni01LjM0NSAzLjkyLTEwLjY5IDExLjg4My0xMy4yNSAyNi42MjUtLjY1IDMuNzM0LjA1IDEyLjQxMiAyLjI1IDIyLjE5IDIuMiA5Ljc3NiA1LjYxNyAyMC45IDkuMTg4IDMxLjI4IDMuMDE3IDguNzc0IDUuOTY3IDE2LjI2MiA4LjU2MiAyMi44NDQgMy43Mi01LjMzOCA3Ljc3Ni0xMS4xOCAxMi4yOC0xOC4yOCAxMS4xMzgtMTcuNTU0IDIyLjA2OC0zOS41MzggMjIuODQ1LTQ3Ljc1MnYtLjA2MmMxLjg2OC0yMC4xODQtMTEuMzI1LTM1LjY1OC0yNC4yMi0zOS41LTEuNjEtLjQ4LTMuMTc4LS43OS00LjcxNy0uOTM4LS41NzgtLjA1NS0xLjE1Mi0uMDg2LTEuNzItLjA5M3ptNzUuNjg2IDE4Ljc1Yy0uNTQtLjAyLTEuMDktLjAwNS0xLjYyNC4wMy0xLjQyNC4wOTQtMi44MzYuMzctNC4yMi44NDQtNS41MjcgMS44OS0xMS45OTYgNy4zNy0xNy40MzYgMjAuNjI1LTEuMDggMi42My0yLjM2NyAxMy4wOS0yLjE1NiAyNS4zNDMuMjEgMTIuMjUyIDEuMzYgMjYuODQ0IDIuODEyIDQwLjc1IDEuMjU4IDEyLjA0MyAyLjY2NiAyMi43NCAzLjkzOCAzMS45MzcgNC40MTQtNS40OSA4Ljk3Mi0xMS4wOTYgMTQuMjgtMTguMDYzIDE0LjI1Mi0xOC43IDI5LjUxLTQxLjgyIDMyLjA5NS01MC4wMyA1Ljg1NS0xOC42LTMuNzg0LTM4Ljg2My0xNi00Ny4xNTctNC4wMS0yLjcyLTcuOTEtNC4xNTYtMTEuNjktNC4yOHptLTIxOS40MzYgMy4zMWMtMy43ODIuMDc1LTcuNjk1IDEuNDY0LTExLjcyIDQuMTI2LTEyLjI2MiA4LjExMi0yMi4wNTIgMjguMjI2LTE2LjM0MyA0Ni45MDYgMS4xMyAzLjcgNS45NzcgMTIuMzU2IDEyLjU2NCAyMS42NTcgNi41ODYgOS4zIDE0Ljg2OCAxOS43NCAyMi45MzcgMjkuNDM2IDYuMjM4IDcuNDk2IDExLjY2OCAxMy42MzIgMTYuODE0IDE5LjQ3LjYyLTkuMjkgMS4zMTQtMTkuOTE2IDEuNzgtMzEuOTcuNTUtMTQuMTYyLjgxMy0yOC45OTIuMzc2LTQxLjUtLjQzNy0xMi41MDgtMi4wNTctMjMuMjIyLTMuMjgtMjYuMjgtNS4zMzItMTMuMzM0LTExLjc1NC0xOC45MDUtMTcuMjgyLTIwLjg3Ni0xLjM4My0uNDkzLTIuNzk1LS43OTMtNC4yMi0uOTA2LS41MzMtLjA0My0xLjA4NC0uMDczLTEuNjI0LS4wNjN6bS02Ni4zNzUgMzIuNDA3Yy0yLjQ1My4wMTctNS4wODcuNjMtNy45NCAxLjg3NS0xMS40MDYgNC45ODctMjIuNzQ4IDIwLjYxMy0yMC42ODYgMzcuMTg4Ljc3IDYuMTk1IDEwLjc4NCAyMy45OTIgMjEuMDYyIDM3LjgxMyAzLjY5IDQuOTYgNi44OTggOC44IDEwLjA2MyAxMi42ODcgMi4wOTYtNS45NTMgNC40LTEyLjUzNCA2Ljc4LTIwLjI4IDIuOTE2LTkuNDkzIDUuNjY4LTE5LjU4NSA3LjM3NS0yOC4zNDUgMS43MDMtOC43NCAyLjAyLTE2LjQ2OCAxLjQ3LTE5LjEyNS0uMDAyLS4wMDYgMC0uMDI1IDAtLjAzLTIuNTc3LTEyLjE3Ny03LjE4My0xNy42NzctMTEuMzQ1LTIwLjAzMi0yLjA4My0xLjE4LTQuMzMtMS43NjctNi43OC0xLjc1em0yNC4xNTUgMTIxLjI4MmMtMy45OTIgMi4wNi03LjgyNSAzLjk3Mi0xMi41MyA2LjY1NS0xNC4wMzIgOC0yOS4zMyAxOS42LTMyLjE1NyAyNC4zNDQtNy44NDggMTMuMTctMy45NyAzMC40NjYgMy44MTIgMzguNzggMy44OSA0LjE1NyA3Ljk0NCA1Ljg4OCAxMi4yNSA1LjQzOCA0LjMwNi0uNDUgMTAuMTgtMy4zMiAxNi45MDYtMTIuNzJ2LS4wM2MxLjM3LTEuOTEyIDQuMDA2LTguNTg1IDUuODEzLTE2LjY4OCAxLjgwNi04LjEwMyAzLjIwNi0xNy44IDQuMjUtMjcgLjgwNS03LjEwOCAxLjIzNi0xMy4wOTQgMS42NTUtMTguNzh6bTIyMy44NDQgNS42ODZjLS44OTUgNy44MTItMS45MDcgMTYuODMyLTIuNzUgMjcuMTU2LS45ODMgMTItMS43MTIgMjQuNzA1LTEuNzIgMzUuNjI1LS4wMDggMTAuOTIuOTggMjAuNDEyIDIuMTg4IDI0LjAzMiA0LjU0NCAxMy42MjMgMTAuNjU4IDE5LjU1MiAxNi4wNjIgMjEuODQyIDUuNDA0IDIuMjkgMTEuMzMgMS41NjcgMTcuNjg4LTIuMTI1IDEyLjcxNC03LjM4MyAyMy42NzQtMjYuODkgMTkuMDYyLTQ1Ljg3NWwtLjA2My0uMjE4Yy0uOTEtMy40MjgtNS4wNy0xMC44OTctMTEuMTU2LTE4Ljc1LTYuMTktNy45OS0xNC4xNDgtMTYuNzU2LTIxLjk2Ny0yNC43OC02LjQxNi02LjU4NS0xMi4xNDItMTIuMDE4LTE3LjM0NC0xNi45MDh6bS0xNjMuOTcgMTdjLTUuNzU3IDQuMTMtMTIuNTE2IDkuMDg4LTE5LjY4OCAxNC44MTMtOC41NjQgNi44MzUtMTcuMjkgMTQuMzk0LTI0LjA2MiAyMS40MzYtNi43NyA3LjA0Mi0xMS4zNiAxMy45OS0xMi4yMiAxNi45Ny01LjQwOCAxOC43MjMgNC43MSAzOC43NTMgMTcuMTI2IDQ2Ljc1IDYuMjA4IDMuOTk3IDEyLjE0MiA0Ljk5MyAxNy42MjUgMi45NjggNS40ODUtMi4wMjYgMTEuODItNy42NDggMTYuOTQtMjEuMDMgMi45NjgtNy43NiA0Ljg2NC0zNC4yMiA0LjgxLTU2LjY5LS4wMi05LjYxMy0uMjgyLTE3Ljk1My0uNTMtMjUuMjE4em00OS41IDE0LjAzYy0zLjU5NSA1LjQzNi03LjUzIDExLjM5OC0xMS44NzUgMTguNjI3LTEwLjcyIDE3LjgzMy0yMS4wOTYgNDAuMDk2LTIxLjY1NiA0OC4zMTItMS4zODUgMjAuMjIgMTIuMTcgMzUuMzc1IDI1LjE1NSAzOC45MDYgNi40OTIgMS43NjcgMTIuMzE1Ljk4NSAxNy41NjMtMy4wNiA1LjI0Ny00LjA0OCAxMC40Mi0xMi4xMzggMTIuNjI1LTI2Ljk0LjU2LTMuNzQyLS4zOC0xMi40MDUtMi44MTMtMjIuMTI0LTIuNDM0LTkuNzItNi4wODYtMjAuNzcyLTkuOTA2LTMxLjA2Mi0zLjIzMi04LjcwNi02LjM0LTE2LjEzNy05LjA5NC0yMi42NTZ6bTYyLjI4Ljg0NWMtMi40ODcgNi42MDItNS4zMTMgMTQuMDktOC4xODYgMjIuODc2LTMuNDA3IDEwLjQxNi02LjY0MiAyMS41OC04LjY4OCAzMS4zNzUtMi4wNDUgOS43OTgtMi42MTQgMTguNDktMS45MDYgMjIuMjIgMi43OTMgMTQuNzE2IDguMjk1IDIyLjYyOCAxMy43MiAyNi41IDUuNDIyIDMuODcyIDExLjI3OCA0LjQ1NyAxNy42ODYgMi40NyAxMi44MTYtMy45OCAyNS43NTQtMTkuNTU1IDIzLjU2My0zOS43Mi0uODktOC4xODctMTIuMTY2LTMwLjA4Mi0yMy41OTUtNDcuNTMtNC42MjUtNy4wNjMtOC43ODYtMTIuODg3LTEyLjU5NC0xOC4xOXoiIGZpbGw9IiNmZmYiIGZpbGwtb3BhY2l0eT0iMSI+PC9wYXRoPjwvZz48L3N2Zz4=
data:image/svg+xml;base64,PHN2ZyBzdHlsZT0iaGVpZ2h0OiA1MTJweDsgd2lkdGg6IDUxMnB4OyIgeG1sbnM9Imh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnIiB2aWV3Qm94PSIwIDAgNTEyIDUxMiI+PGcgY2xhc3M9IiIgc3R5bGU9IiIgdHJhbnNmb3JtPSJ0cmFuc2xhdGUoMCwwKSI+PHBhdGggZD0iTTEwNCAzNy4yNVYyMTUuMWMzLjYgOS45IDEwIDE0LjEgMjAuOSAxNyAxMS40IDIuOSAyNy4xIDMuMSA0My45IDMuMSAxNi44IDAgMzQuNi0uMSA1MS40IDMuNiA5LjUgMi4xIDE4LjcgNS43IDI2LjggMTEuMlY1NS40M2MtNy4yLTkuOS0xNS45LTEzLjY5LTI3LjMtMTUuMDktMTIuMi0xLjQ5LTI3LjMuNTUtNDIuOSAyLjgzLTE1LjcgMi4yOC0zMS45IDQuODEtNDcuNyAyLjg4LTguNy0xLjA3LTE3LjMtMy44Ny0yNS4xLTguOHptMzA0IDBjLTcuOCA0LjkzLTE2LjQgNy43My0yNS4xIDguOC0xNS44IDEuOTMtMzItLjYtNDcuNy0yLjg4LTE1LjYtMi4yOC0zMC43LTQuMzItNDIuOS0yLjgzLTExLjQgMS40LTIwLjEgNS4xOS0yNy4zIDE1LjA5VjI1MGM4LjEtNS41IDE3LjMtOS4xIDI2LjgtMTEuMiAxNi44LTMuNyAzNC42LTMuNiA1MS40LTMuNiAxNi44IDAgMzIuNS0uMiA0My45LTMuMSAxMC45LTIuOSAxNy4zLTcuMSAyMC45LTE3VjM3LjI1ek0xMzAuOCA4MC4wM2g4OS40djE4aC04OS40di0xOHptMTYxIDBoODkuNHYxOGgtODkuNHYtMTh6bS0xNjEgNDQuNDdoODkuNHYxOGgtODkuNHYtMTh6bTE2MSAwaDg5LjR2MThoLTg5LjR2LTE4em0tMTYxIDQ2LjhoODkuNHYxOGgtODkuNHYtMTh6bTE2MSAwaDg5LjR2MThoLTg5LjR2LTE4ek05NiAyNDljLTE3LjMgMC0yOS4xOSA3LjMtMzcuNzcgMTguOUM0OS42NiAyNzkuNCA0NSAyOTUuNyA0NSAzMTJzNC42NiAzMi42IDEzLjIzIDQ0LjFDNjYuODEgMzY3LjcgNzguNyAzNzUgOTYgMzc1YzIyIDAgMzUuNy03LjEgNDQuNC0xNCA4LjYtNi45IDExLjUtMTMgMTEuNS0xM2wyLjUtNWgyMDMuMmwyLjUgNXMyLjkgNi4xIDExLjUgMTNjOC43IDYuOSAyMi40IDE0IDQ0LjQgMTQgMTcuMyAwIDI5LjItNy4zIDM3LjgtMTguOSA4LjUtMTEuNSAxMy4yLTI3LjggMTMuMi00NC4xcy00LjctMzIuNi0xMy4yLTQ0LjFjLTguNi0xMS42LTIwLjUtMTguOS0zNy44LTE4LjktMjIgMC0zNS43IDcuMS00NC40IDE0LTguNiA2LjktMTEuNSAxMy0xMS41IDEzbC0yLjUgNUgxNTQuNGwtMi41LTVzLTIuOS02LjEtMTEuNS0xM2MtOC43LTYuOS0yMi40LTE0LTQ0LjQtMTR6bTQuNiAyMS45Yy45IDAgMS45IDAgMi45LjEgMTMuNSAxLjIgMjguMiA4LjkgNDQuMSAyNGgyMTYuOGMxNS45LTE1LjEgMzAuNi0yMi44IDQ0LjEtMjQgMTQuMi0xLjIgMjYuNiA1LjggMzMuMSAxNi4yIDEzLjEgMjAuOSA3IDUzLjktMjAuNiA3Mi4zbC0xMC0xNWMyMC40LTEzLjYgMjIuMy0zNi42IDE1LjQtNDcuNy0zLjUtNS42LTguMS04LjYtMTYuNC03LjgtOC4yLjctMjAuNiA2LjMtMzUuNiAyMS40bC0yLjcgMi42SDE0MC4zbC0yLjctMi42Yy0xNS0xNS4xLTI3LjQtMjAuNy0zNS42LTIxLjQtOC4yNi0uOC0xMi45IDIuMi0xNi4zNyA3LjgtNi45MiAxMS4xLTQuOTkgMzQuMSAxNS4zNyA0Ny43bC05Ljk5IDE1Yy0yNy42NS0xOC40LTMzLjcyLTUxLjQtMjAuNjQtNzIuMyA1LjcyLTkuMSAxNS45LTE1LjYgMjcuOTItMTYuM2gyLjMxek0xNjkgMzYxdjEyNmgzMFYzNjFoLTMwem00OCAwdjEyNmgzMFYzNjFoLTMwem00OCAwdjEyNmgzMFYzNjFoLTMwem00OCAwdjEyNmgzMFYzNjFoLTMweiIgZmlsbD0iI2ZmZiIgZmlsbC1vcGFjaXR5PSIxIj48L3BhdGg+PC9nPjwvc3ZnPg==
data:image/svg+xml;base64,PHN2ZyBzdHlsZT0iaGVpZ2h0OiA1MTJweDsgd2lkdGg6IDUxMnB4OyIgeG1sbnM9Imh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnIiB2aWV3Qm94PSIwIDAgNTEyIDUxMiI+PGRlZnM+PGNsaXBQYXRoIGlkPSJpY29uLWJnIj48cGF0aCBkPSJNMCAwaDUxMnY1MTJIMHoiIGZpbGw9IiMwMDAiIGZpbGwtb3BhY2l0eT0iMCI+PC9wYXRoPjwvY2xpcFBhdGg+PC9kZWZzPjxwYXRoIGQ9Ik0wIDBoNTEydjUxMkgweiIgZmlsbD0iIzAwMCIgZmlsbC1vcGFjaXR5PSIwIj48L3BhdGg+PGcgY2xhc3M9IiIgc3R5bGU9InRvdWNoLWFjdGlvbjogbm9uZTsiIHRyYW5zZm9ybT0idHJhbnNsYXRlKDAsMCkiPjxwYXRoIGQ9Ik0zMTIuMDk0IDIxLjk3bDU5LjA5NCAxMTkuNjg2aDUyLjA5M0wzNjIuNTk1IDIybC01MC41LS4wM3pNMTczIDIyLjY4N2wtNjMuNTk0IDEyNy4yMTggNjUuODQ0IDM0NS43NSAxMTQuNjg4LjA5NEwzNTQuNDY3IDE1MCAyOTEuNjI2IDIyLjc1IDE3MyAyMi42ODd6bTE2LjA2MyA3Ni4yOGg4OC43OHYxOC42ODhoLTg4Ljc4Vjk4Ljk3em0wIDM2LjIyaDg4Ljc4djE4LjY4N2gtODguNzh2LTE4LjY4OHptMTgyLjUgMjUuMTU2TDMwOSA0OTUuNDM4bDQ3LjI1LjAzIDY4LjMxMy0zMzUuMTI0aC01M3oiIGZpbGw9IiNmZmZmZmYiIGZpbGwtb3BhY2l0eT0iMSIgY2xpcC1wYXRoPSJ1cmwoI2ljb24tYmcpIj48L3BhdGg+PC9nPjwvc3ZnPg==
data:image/svg+xml;base64,PHN2ZyB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIHZpZXdCb3g9IjAgMCA1MTIgNTEyIiBzdHlsZT0iaGVpZ2h0OiA1MTJweDsgd2lkdGg6IDUxMnB4OyI+PGcgY2xhc3M9IiIgdHJhbnNmb3JtPSJ0cmFuc2xhdGUoMCwwKSIgc3R5bGU9InRvdWNoLWFjdGlvbjogbm9uZTsiPjxwYXRoIGQ9Ik0yMzQuODc1IDE4Ljc4Yy0yNi4wODcgMi4zNjctNTEuNTU3IDguNTYtNzQuODc1IDE4Ljc4MiAxNS4zNyAzMi43NjMgMTQuMjIyIDY2LjcwNi02LjcyIDgyLjQwNy0yMC44MzUgMTUuNjE3LTU0LjA1NSA3Ljk2NS04MS4xMjQtMTUuNjktMTYuMjQ2IDE5LjQ1Mi0yOS4zMzYgNDEuMzYtMzguODc1IDY1LjYyNiAzMy44MyAxMi4zMzMgNTYuNjM1IDM3LjY2NSA1Mi45NCA2My41LTMuNjk4IDI1LjgzNS0zMi42OTcgNDMuNzQtNjguNjI2IDQ2LjA5NCAyLjMzOCAyNS43OTYgOC45MSA1MC43NzggMTguOTM3IDczLjg3NSAxNy44MS04LjE4MiAzNS43OTMtMTEuMDkgNTEuMDk1LTguOTM4IDEzLjAzMiAxLjg3IDIzLjkyNyA3LjAxNSAzMS4xNTYgMTYuNjU3IDE1LjgxNyAyMS4wOTcgNy42MDMgNTQuNzEzLTE2Ljc4IDgxLjk3IDE5LjUxNiAxNi4zNSA0Mi4yMTYgMjkuNDQ0IDY2LjU5NCAzOS4wMyAxMi4zMy0zMy44MjggMzcuNjU1LTU2LjYzNCA2My41LTUyLjkzOCAyNS44NDQgMy42OTcgNDMuNzQgMzIuNjk2IDQ2LjA5NCA2OC42MjUgMjYuMDg3LTIuMzY1IDUxLjU1Ny04LjU1NSA3NC44NzUtMTguNzgtMTUuNzY2LTMyLjk5Ny0xNC4yNi02Ny41ODggNi44NDMtODMuNDA2IDkuNjQtNy4yMyAyMi41NjgtOS4wMjIgMzUuNTk0LTcuMTI1IDE1LjExMiAyLjE2IDMxLjE5IDEwLjI1IDQ1LjU2MyAyMi43OCAxNi4wODgtMTkuMzQ1IDI5LjQtNDEuNTEgMzguODc1LTY1LjU5NC0zMy44My0xMi4zMzItNTYuNjM1LTM3LjY1My01Mi45MzgtNjMuNSAzLjY5Ny0yNS44NDYgMzIuNjY1LTQzLjc3MiA2OC41OTQtNDYuMTI1LTIuMzYtMjUuOTQ0LTguNzc0LTUwLjY2My0xOC45MDYtNzMuODc0LTMyLjYxMiAxNS4xMTctNjYuNjYgMTMuMTQ1LTgyLjI4Mi03LjY4Ny0xNS42OTYtMjAuOTQ0LTcuMjUyLTUzLjg2IDE2LjY4OC04MS0xOS41Mi0xNi4zNTItNDIuMjQ4LTI5LjQ0Ny02Ni42MjUtMzkuMDMyLTEyLjMzMiAzMy44MjgtMzcuNjU3IDU2LjY2LTYzLjUgNTIuOTY4LTI1Ljg0Ni0zLjY5My00My43NDQtMzIuNjk2LTQ2LjA5NS02OC42MjV6bTIxLjY1NiA5NS4xMjZjNzkuNjI2IDAgMTQ0LjM3NiA2NC43NTIgMTQ0LjM3NiAxNDQuMzc1IDAgNzkuNjI2LTY0Ljc1IDE0NC4zNzYtMTQ0LjM3NSAxNDQuMzc2LTc5LjYyNCAwLTE0NC4zNzQtNjQuNzUtMTQ0LjM3NC0xNDQuMzc1IDAtNzkuNjI0IDY0Ljc1LTE0NC4zNzQgMTQ0LjM3NS0xNDQuMzc0em0wIDE4LjY4OGMtNjkuNTI0IDAtMTI1LjY4NiA1Ni4xNjItMTI1LjY4NiAxMjUuNjg3IDAgNjkuNTI2IDU2LjE2MiAxMjUuNjkgMTI1LjY4NyAxMjUuNjkgNjkuNTI2IDAgMTI1LjY5LTU2LjE2NCAxMjUuNjktMTI1LjY5IDAtNjkuNTIyLTU2LjE2NC0xMjUuNjg2LTEyNS42OS0xMjUuNjg2em0uMDMzIDE1LjEyNWM2MS4wOTQgMCAxMTAuNjI1IDQ5LjUzIDExMC42MjUgMTEwLjYyNCAwIDYxLjA5NS00OS41MyAxMTAuNjI1LTExMC42MjUgMTEwLjYyNXMtMTEwLjYyNS00OS41My0xMTAuNjI1LTExMC42MjZjMC02MS4wOTUgNDkuNTMtMTEwLjYyNSAxMTAuNjI1LTExMC42MjV6IiBmaWxsPSIjZmZmIiBmaWxsLW9wYWNpdHk9IjEiPjwvcGF0aD48L2c+PC9zdmc+
data:image/svg+xml;base64,PHN2ZyBzdHlsZT0iaGVpZ2h0OiA1MTJweDsgd2lkdGg6IDUxMnB4OyIgeG1sbnM9Imh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnIiB2aWV3Qm94PSIwIDAgNTEyIDUxMiI+PGcgY2xhc3M9IiIgc3R5bGU9IiIgdHJhbnNmb3JtPSJ0cmFuc2xhdGUoMCwwKSI+PHBhdGggZD0iTTI1NiAxNkMxMjMuNSAxNiAxNiAxMjMuNSAxNiAyNTZjMCAxMzIuNiAxMDcuNSAyNDAgMjQwIDI0MCAxMzIuNiAwIDI0MC0xMDcuNCAyNDAtMjQwUzM4OC42IDE2IDI1NiAxNnptMCA2MGM5OS40IDAgMTgwIDgwLjYgMTgwIDE4MHMtODAuNiAxODAtMTgwIDE4MFM3NiAzNTUuNCA3NiAyNTYgMTU2LjYgNzYgMjU2IDc2em05MS4zIDY0LjJjLTYuNSAwLTEyLjUgMi40LTE2LjggOC4yLTUyIDcwLjEtNjkgOTYuNS0xMDYgMTY5LjgtOC40LTExLjEtNjUuNi03Mi40LTkzLjktOTQuMS0xNC4yLTEwLjktNDEuMyAyNy4yLTMxLjYgMzcuMUMxNDIuNiAzMDYuMSAyMjAuMSA0MDYgMjMyLjcgNDA1YzIxLjQtMS43IDc1LjEtMTM2LjggMTQ4LjgtMjMzLjcgOC0xMC40LTE1LTMxLjMtMzQuMi0zMS4xeiIgZmlsbD0iI2ZmZiIgZmlsbC1vcGFjaXR5PSIxIj48L3BhdGg+PC9nPjwvc3ZnPg==
data:image/svg+xml;base64,PHN2ZyB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIHZpZXdCb3g9IjAgMCA1MTIgNTEyIiBzdHlsZT0iaGVpZ2h0OiA1MTJweDsgd2lkdGg6IDUxMnB4OyI+PGcgY2xhc3M9IiIgdHJhbnNmb3JtPSJ0cmFuc2xhdGUoMCwwKSIgc3R5bGU9InRvdWNoLWFjdGlvbjogbm9uZTsiPjxwYXRoIGQ9Ik0yMTEuMzEzIDIxLjA5NGMtNTEuNzc2IDAtOTguNzU0IDEyLjI1Mi0xMzMuNSAzMi43MThDNDMuMDY2IDc0LjI4IDE5Ljg3NCAxMDMuNzggMTkuODc0IDEzNy42OWMwIDMzLjU0IDIyLjY5MiA2Mi44MSA1Ni44MTMgODMuMjVMNDguMTU2IDMyNy4wOTRsOTYuOTctNzkuODQ0YzIwLjY1IDQuNTggNDIuOTI0IDcuMDYzIDY2LjE4NiA3LjA2MyA1MS43NzYgMCA5OC43ODYtMTIuMjUyIDEzMy41MzItMzIuNzIgMzQuNzQ2LTIwLjQ2NiA1Ny45MzctNDkuOTk3IDU3LjkzNy04My45MDVzLTIzLjE5LTYzLjQxLTU3LjkzNi04My44NzVjLTM0Ljc0Ni0yMC40NjctODEuNzU2LTMyLjcyLTEzMy41My0zMi43MnptMCAxOC42ODdjNDguOCAwIDkyLjg2NiAxMS43NyAxMjQuMDMgMzAuMTI2IDMxLjE2NSAxOC4zNTcgNDguNzUgNDIuNDQ3IDQ4Ljc1IDY3Ljc4IDAgMjUuMzM4LTE3LjU4NSA0OS40NTctNDguNzUgNjcuODE0LTMxLjE2NCAxOC4zNTctNzUuMjMgMzAuMTI1LTEyNC4wMyAzMC4xMjVTMTE4LjQ0NSAyMjMuODU3IDg3LjI4IDIwNS41Yy0zMS4xNjMtMTguMzU3LTQ4LjcxOC00Mi40NzYtNDguNzE4LTY3LjgxMyAwLTI1LjMzNiAxNy41NTUtNDkuNDI0IDQ4LjcyLTY3Ljc4QzExOC40NDUgNTEuNTUgMTYyLjUxIDM5Ljc4IDIxMS4zMSAzOS43OHpNOTYuNTMgODkuOTM4djE4LjY4OGg5My4xMjZWODkuOTM3SDk2LjUzem0xMTEuODE0IDB2MTguNjg4aDI4LjA5NFY4OS45MzdoLTI4LjA5NHptNDYuNzggMHYxOC42ODhoNzEuOTdWODkuOTM3aC03MS45N3pNOTYuNTMyIDEyOS44NDR2MTguNzJoMjkuNjU3di0xOC43Mkg5Ni41M3ptNDguMzQ1IDB2MTguNzJoNjUuOTM4di0xOC43MmgtNjUuOTM4em04NC42NTYgMHYxOC43MmgzOC4wOTV2LTE4LjcySDIyOS41M3ptNTYuNzgyIDB2MTguNzJoNDAuNzgydi0xOC43MmgtNDAuNzh6TTk2LjUzMiAxNjYuNzh2MTguNjloNzAuODc0di0xOC42OUg5Ni41M3ptODkuNTYyIDB2MTguNjloNTcuMDN2LTE4LjY5aC01Ny4wM3ptNzUuNzIgMGwtLjAwMiAxOC42OWg2NS4yODJ2LTE4LjY5aC02NS4yOHptOTIuMzQyIDkwLjI1Yy03NC44OCAwLTEzNS41OTQgNDEuNzYyLTEzNS41OTQgOTMuMjgzIDAgNTEuNTIgNjAuNzE2IDkzLjI4IDEzNS41OTQgOTMuMjggMTguMjMgMCAzNS42MjMtMi40OCA1MS41LTYuOTY4bDY4LjUzIDUxLjE1Ni0yNC44NzMtNzEuMDNjMjQuOTQ3LTE2LjkxOCA0MC40MzctNDAuNDMyIDQwLjQzNy02Ni40MzggMC01MS41MTgtNjAuNzE0LTkzLjI4LTEzNS41OTQtOTMuMjh6bS03MC4zNDQgNDIuMzQ1aDMyLjkwN3YxOC42ODhIMjgzLjgxdi0xOC42ODh6bTUxLjU5NCAwaDkwLjM0NHYxOC42ODhoLTkwLjM0NHYtMTguNjg4em0tNzguOTcgNDEuNzVoNzguMzE0djE4LjY4OGgtNzguMzEzdi0xOC42ODh6bTk3LjAwMiAwaDIwLjk2OHYxOC42ODhoLTIwLjk3bC4wMDItMTguNjg4em0zOS42NTYgMGg1MXYxOC42ODhoLTUxdi0xOC42ODh6bS0xMDkuMjggMzloNzkuMDZ2MTguNjg4aC03OS4wNjJ2LTE4LjY4OHptOTcuNzQ4IDBoNDQuMTg4djE4LjY4OGgtNDQuMTg4di0xOC42ODh6IiBmaWxsPSIjZmZmIiBmaWxsLW9wYWNpdHk9IjEiPjwvcGF0aD48L2c+PC9zdmc+
data:image/svg+xml;base64,PHN2ZyBzdHlsZT0iaGVpZ2h0OiA1MTJweDsgd2lkdGg6IDUxMnB4OyIgeG1sbnM9Imh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnIiB2aWV3Qm94PSIwIDAgNTEyIDUxMiI+PGRlZnM+PGNsaXBQYXRoIGlkPSJpY29uLWJnIj48cGF0aCBkPSJNMCAwaDUxMnY1MTJIMHoiIGZpbGw9IiMwMDAiIGZpbGwtb3BhY2l0eT0iMCI+PC9wYXRoPjwvY2xpcFBhdGg+PC9kZWZzPjxwYXRoIGQ9Ik0wIDBoNTEydjUxMkgweiIgZmlsbD0iIzAwMCIgZmlsbC1vcGFjaXR5PSIwIj48L3BhdGg+PGcgY2xhc3M9IiIgc3R5bGU9InRvdWNoLWFjdGlvbjogbm9uZTsiIHRyYW5zZm9ybT0idHJhbnNsYXRlKDAsMCkiPjxwYXRoIGQ9Ik0yMy4xMTMgMThjMy40MjUgMzIuMTEgMTMuNDMyIDU5LjIyNyAyOC4wOCA4Mi40MzggMjAuOTU2IDMzLjIwMyA1MC45OTQgNTguMzMgODMuODA3IDgwLjM3di0yMS44NjVjLTI3LjU2My0xOS41My01MS42MjMtNDEuMjM2LTY4LjU4NC02OC4xMUM1My40MyA3MC4yNTIgNDQuNDEgNDYuNjA3IDQxLjEzNiAxOEgyMy4xMTJ6TTEwNSAxOHYzOS41MTJMMTQ1LjQ2IDcxaDU5LjE5NEwxODMgNDUuMjg1VjE4aC03OHptOTYgMHYyMC43MTVMMjI4LjE4OCA3MWg1NS42MjVMMzExIDM4LjcxNVYxOEgyMDF6bTEyOCAwdjI3LjI4NUwzMDcuMzQ2IDcxaDU5LjE5M0w0MDcgNTcuNTE0VjE4aC03OHpNMTUzIDg5djMzNGgyMDZWODloLTMwLjUyN2ExNiAxNiAwIDAgMS0xNS45NzMgMTUuMjVBMTYgMTYgMCAwIDEgMjk2LjUzNyA4OUgxODYuMDY0YzQuMzUgMTUuOTQ0IDcuMDEgMzEuNjAzIDEzLjEzIDQyLjc1MiA0IDcuMjg3IDguOTYgMTIuNjY0IDE3LjA4NSAxNi4zNTcgMi45MzYgMS4zMzQgNi4zNiAyLjQzNyAxMC4zNDUgMy4yMjZhMjkuNjggMzkuNTcyIDAgMCAxLS4zMDUtNS4zMzZBMjkuNjggMzkuNTcyIDAgMCAxIDI1NiAxMDYuNDI4IDI5LjY4IDM5LjU3MiAwIDAgMSAyODUuNjggMTQ2YTI5LjY4IDM5LjU3MiAwIDAgMS0yMS4xODYgMzcuODg1YzUuNDk4LjIzMiAxMS4wMTQuODI4IDE2LjMyIDEuOTE0IDguOTc0IDEuMzkgMTUuMTA0IDUuNTg4IDIwLjE3NCAxMi4zODQgNS4wNyA2Ljc5NyA4Ljc1IDE2LjM2MiAxMS4xNzggMjcuNDcyIDQuNDAzIDIwLjE1MiA0LjY4IDQ0LjkxIDQuNjk3IDY2LjdoLTI1LjI4N2wtNi40NTMgOTcuODA2Yy0xNy44MzggNC4wMTgtMzcuNjEzIDQuMTYzLTU2LjEzNS0uMDE3bC03LjI5My05Ny43OWgtMjYuNTU4Yy4xNy0yMS41MjUgMS4yMzgtNDUuOTQ2IDYuMDk3LTY1Ljk0NSAyLjY4NC0xMS4wNCA2LjUxNS0yMC42MiAxMS41MjQtMjcuNDk0IDUuMDEtNi44NzUgMTAuODY4LTExLjA5NyAxOC44Ni0xMi42YTE1NS41IDE1NS41IDAgMCAxIDE2LjY5OC0yLjE0MiAyOS42OCAzOS41NzIgMCAwIDEtMTUuNjYtMTMuODYzYy05LjE0Ny0uNzU4LTE3LjAyLTIuNzItMjMuODI0LTUuODE0LTExLjg4Ni01LjQwMi0yMC4wNDItMTQuMjk1LTI1LjQxNC0yNC4wODItOS4wODItMTYuNTQ1LTExLjcxNS0zNS41OS0xNi4xNzItNTEuNDE0SDE1M3ptMzQxIDguNDRjLTUuODk2IDE0LjU0Ny0xMi4xNjIgMjguNDA1LTE5LjEgNDEuMS0yMi45IDQxLjkwOC01MS4zODYgNzAuODY2LTk3LjkgNzUuODA2djE4LjA3NGM1NC4wMTItNS4yMDIgODkuMDU4LTQwLjE2IDExMy42OTUtODUuMjQ4YTMyMi45NiAzMjIuOTYgMCAwIDAgMy4zMDUtNi4yM3YtNDMuNXpNMzMzLjI0MiAxMTQuOWExMy4wMiAxMy4wMiAwIDAgMSAxMy4wMjIgMTMuMDIyIDEzLjAyIDEzLjAyIDAgMCAxLTEzLjAyMiAxMy4wMiAxMy4wMiAxMy4wMiAwIDAgMS0xMy4wMi0xMy4wMiAxMy4wMiAxMy4wMiAwIDAgMSAxMy4wMi0xMy4wMjJ6bS0yNi41MzUgMzMuM2E5LjA0NyA5LjA0NyAwIDAgMSA5LjA0NyA5LjA0OCA5LjA0NyA5LjA0NyAwIDAgMS05LjA0NyA5LjA0NyA5LjA0NyA5LjA0NyAwIDAgMS05LjA0Ny05LjA0NyA5LjA0NyA5LjA0NyAwIDAgMSA5LjA0Ny05LjA0N3pNNDk0IDIyNC4wMzZjLTEwLjQzOCAyNi4xNi0yMS44IDQ5Ljg1LTMzLjU4NCA2OS0xNS41MDYgMjUuMTk3LTMxLjk4IDQyLjA0NS00NS40NCA0Ny4xMDYtNi43MzIgMi41My0xMi40NiAyLjYwNy0xOC43MzIuMDQ4LTUuODgyLTIuNC0xMi40MzgtNy41MzUtMTkuMjQ0LTE2LjU3djI1Ljg3YzMuOTg0IDMuMTMzIDguMTI0IDUuNiAxMi40NCA3LjM2NCAxMC40MTggNC4yNSAyMS42NCAzLjk4NCAzMS44Ny4xMzggMjAuNDU2LTcuNjkgMzcuOTQyLTI3LjcxOCA1NC40MzYtNTQuNTIgNi4yOC0xMC4yMDUgMTIuMzgtMjEuNDY4IDE4LjI1NC0zMy41NDJ2LTQ0Ljg5M3pNMTA1IDQ0MXYxOGgxNDJ2LTE4SDEwNXptMTYwIDB2MThoMTQydi0xOEgyNjV6TTczIDQ3N3YxN2gxNzR2LTE3SDczem0xOTIgMHYxN2gxNzR2LTE3SDI2NXoiIGZpbGw9IiNmZmZmZmYiIGZpbGwtb3BhY2l0eT0iMSIgY2xpcC1wYXRoPSJ1cmwoI2ljb24tYmcpIj48L3BhdGg+PC9nPjwvc3ZnPg==
data:image/svg+xml;base64,PHN2ZyBzdHlsZT0iaGVpZ2h0OiA1MTJweDsgd2lkdGg6IDUxMnB4OyIgeG1sbnM9Imh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnIiB2aWV3Qm94PSIwIDAgNTEyIDUxMiI+PGcgY2xhc3M9IiIgc3R5bGU9IiIgdHJhbnNmb3JtPSJ0cmFuc2xhdGUoMCwwKSI+PHBhdGggZD0iTTU0LjYgMjUuODggNDEuNCAzOC4xMmw2Mi41IDY3LjI4YzMuOC02Ljg3IDYuNS0xMS45MiA5LjEtMTYuNzJsLTU4LjQtNjIuOHptMzg2LjYuMjYtNDYuNiA1NC4zM2MyLjQgNC4zNiA1LjQgOS45NCA5LjIgMTcuMDFsNTEtNTkuNjItMTMuNi0xMS43MnptLTI3Mi45IDIuMzItMTYuNiA3LjA4IDQyLjEgOTguMjZjNi40IDIuMSAxMy42IDMuOCAyMS44IDUuMkwxNjguMyAyOC40NnptMTQzIDEuMDctMzIgMTExLjU3YzcuMi0uNiAxMy44LTEuNSAxOS44LTIuNmwyOS42LTEwNC4wMy0xNy40LTQuOTR6TTI2MyA0Ny4zMSAyNTUuNyAxNDJoLjNjNi4zIDAgMTIuMi0uMiAxNy44LS41bDcuMi05Mi44MS0xOC0xLjM4ek0xMjkuMyA5Ni40N2MtNi4yIDExLjczLTE1LjEgMjguMzMtMzEuNzYgNTcuMTMtMTYuNjMgMjguOC0yNi41NiA0NC44LTMzLjU2IDU2LjEgMTEuNTktMi42IDI3LjIzLTMuNSA0NC45MiAzLjUgMjIuOCA5IDQ4IDMwLjUgNzMuNCA3NC40IDI1LjQgNDQgMzEuMyA3Ni42IDI3LjcgMTAwLjgtMi43IDE4LjktMTEuNCAzMi0xOS40IDQwLjcgMTMuMy0uNCAzMi4xLTEgNjUuNC0xIDMzLjIgMCA1MiAuNiA2NS4zIDEtOC04LjctMTYuNi0yMS44LTE5LjQtNDAuNy0zLjYtMjQuMiAyLjQtNTYuOCAyNy44LTEwMC44IDI1LjQtNDMuOSA1MC42LTY1LjMgNzMuNC03NC40IDE3LjctNyAzMy40LTYuMSA0NC45LTMuNS03LTExLjMtMTYuOS0yNy4zLTMzLjUtNTYuMXMtMjUuNS00NS40LTMxLjgtNTcuMDhjLTMuNiAxMS4yOC0xMC42IDI1LjM4LTI1LjYgMzcuMThDMzM4IDE0OC45IDMwNi44IDE2MCAyNTYgMTYwcy04Mi0xMS4yLTEwMS4xLTI2LjNjLTE1LTExLjktMjItMjUuOS0yNS42LTM3LjIzem0zMTMuNSA4LjEzLTI1LjMgMTcuOWMyLjcgNC44IDUuNyAxMC4xIDkgMTUuOGwyNi43LTE4LjktMTAuNC0xNC44ek0zNS4wMyAxNjcuNWwtNi4wNiAxNyAyNCA4LjZjMi43Ny00LjUgNi05LjggOS42My0xNS44bC0yNy41Ny05Ljh6TTI1NiAxOTZhNDkuOTggNDkuOTggMCAwIDEgNTAgNTAgNDkuOTggNDkuOTggMCAwIDEtNTAgNTAgNDkuOTggNDkuOTggMCAwIDEtNTAtNTAgNDkuOTggNDkuOTggMCAwIDEgNTAtNTB6bTExOC45IDU5LjRjLTQuNiA0LjktOS4zIDEwLjYtMTQuMSAxNy4ybDExOC42IDguNCAxLjItMTgtMTA1LjctNy42em0tMjMxLjIgNy41TDMwLjczIDI3OS4xbDIuNTQgMTcuOEwxNTYgMjc5LjRjLTQuMS02LjItOC4yLTExLjYtMTIuMy0xNi41em0xOC43IDI2LjRMNDQuMjMgMzQzLjhsNy41NCAxNi40TDE3MS40IDMwNWMtMS41LTIuNy0zLTUuNS00LjctOC40LTEuNS0yLjUtMi45LTUtNC4zLTcuM3ptMTgxLjMgMTAuMWMtMy4xIDUuNi01LjkgMTAuOS04LjQgMTZsMTI0IDc2LjMgOS40LTE1LjQtMTI1LTc2Ljl6bS0xNjYuNCAxNy4zTDI1Ljg4IDQ1Ny40bDEyLjI0IDEzLjJMMTg0LjggMzM0LjRjLTItNS42LTQuNS0xMS41LTcuNS0xNy43em0xNDguNSAyMS42Yy0yLjggOC4zLTQuNyAxNS45LTUuNyAyMi44bDg4LjYgMTI0LjEgMTQuNi0xMC40LTk3LjUtMTM2LjV6TTIyNC40IDQ0Ni40Yy03IC4xLTEzIC4yLTE4LjUuNGwtNi43IDMxLjMgMTcuNiAzLjggNy42LTM1LjV6bTc3LjEuMiA5LjggMzUuOCAxNy40LTQuOC04LjQtMzAuNGMtNS40LS4yLTExLjEtLjQtMTguOC0uNnoiIGZpbGw9IiNmZmYiIGZpbGwtb3BhY2l0eT0iMSI+PC9wYXRoPjwvZz48ZyBjbGFzcz0iIiBzdHlsZT0iIiB0cmFuc2Zvcm09InRyYW5zbGF0ZSgyNTYsMjU2KSI+PGc+PGNpcmNsZSBjeD0iMTI4IiBjeT0iMTI4IiByPSIxMjgiIGZpbGw9IiMwMDAiIGZpbGwtb3BhY2l0eT0iMSI+PC9jaXJjbGU+PGNpcmNsZSBzdHJva2U9IiNmZmYiIHN0cm9rZS1vcGFjaXR5PSIxIiBmaWxsPSIjMDAwIiBmaWxsLW9wYWNpdHk9IjEiIHN0cm9rZS13aWR0aD0iMTgiIGN4PSIxMjgiIGN5PSIxMjgiIHI9IjEwMSI+PC9jaXJjbGU+PHBhdGggZmlsbD0iI2ZmZiIgZmlsbC1vcGFjaXR5PSIxIiBkPSJNMTExLjEgNTguMDNoMzMuOHY1My42N2wtNC44IDM5LjJoLTI0LjJsLTQuOC0zOS4yem0wIDEwNi41N2gzMy44VjE5OGgtMzMuOHoiPjwvcGF0aD48L2c+PC9nPjwvc3ZnPg==
data:image/svg+xml;base64,PHN2ZyBzdHlsZT0iaGVpZ2h0OiA1MTJweDsgd2lkdGg6IDUxMnB4OyIgeG1sbnM9Imh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnIiB2aWV3Qm94PSIwIDAgNTEyIDUxMiI+PGcgY2xhc3M9IiIgc3R5bGU9IiIgdHJhbnNmb3JtPSJ0cmFuc2xhdGUoMCwwKSI+PHBhdGggZD0iTTM2Ni42ODggMzAuMDI3Yy0xLjAxLS4wMS0yLjAyMi0uMDEtMy4wMzQuMDA0aC4wMDJjLTQxLjQ5NS41NjMtODMuNjM0IDIyLjE1NS0xMTAuODQ0IDY5LjI4Mi00MS45MTItMTE3Ljc3LTIzNi40OS03Ni4yOS0yMzIgNjQuNS42NCAyMC4wNjggNS4xMzIgMzguOTg3IDEyLjQ1NCA1Ni45MTdoNzYuNDVsMjEuMjItNzQuMTI2IDI2LjM3NSA5MC4xMzQgMTguNDYtNjQuMzEyIDE3LjIzOCA0OC4zMDNIMzI4LjFsMjEuMjIyLTc0LjEyNiAyNi4zNzUgOTAuMTMgMTguNDYtNjQuMzA4IDE3LjIzOCA0OC4zMDNoNzIuNTE3YzcuMDk3LTE4LjE4MyAxMC45MjctMzcuMTM2IDEwLjMwNy01Ni45MTctMi42MS04My4wNC02My44NzQtMTMzLjA4Mi0xMjcuNTMzLTEzMy43ODZ6TTEzMS4xMjUgMjExLjM0bC03Ljg0MiAyNy4zOWgtODEuNThjNTQuNTEgMTAzLjAwNiAxOTcuNzM3IDE3Mi41OSAyMTYuMTcyIDI0MS4zOTUgMTYuNzgyLTYyLjYyIDE2NS4wNy0xMzkuNDgyIDIxNy44NTUtMjQxLjM5NmgtNzcuMDIzbC0yLjY5LTcuNTQyLTIwLjE1NCA3MC4yMDgtMjYuMzUzLTkwLjA1NC03Ljg0IDI3LjM4N0gxODAuMzJsLTIuNjktNy41NC0yMC4xNSA3MC4yMDYtMjYuMzU1LTkwLjA1NnoiIGZpbGw9IiNmZmYiIGZpbGwtb3BhY2l0eT0iMSI+PC9wYXRoPjwvZz48ZyBjbGFzcz0iIiBzdHlsZT0iIiB0cmFuc2Zvcm09InRyYW5zbGF0ZSgyNTYsMjU2KSI+PGc+PGNpcmNsZSBjeD0iMTI4IiBjeT0iMTI4IiByPSIxMjgiIGZpbGw9IiMwMDAiIGZpbGwtb3BhY2l0eT0iMSI+PC9jaXJjbGU+PGNpcmNsZSBzdHJva2U9IiNmZmYiIHN0cm9rZS1vcGFjaXR5PSIxIiBmaWxsPSIjMDAwIiBmaWxsLW9wYWNpdHk9IjEiIHN0cm9rZS13aWR0aD0iMTgiIGN4PSIxMjgiIGN5PSIxMjgiIHI9IjEwMSI+PC9jaXJjbGU+PHBhdGggZmlsbD0iI2ZmZiIgZmlsbC1vcGFjaXR5PSIxIiBkPSJNMTExLjEgNTguMDNoMzMuOHY1My42N2wtNC44IDM5LjJoLTI0LjJsLTQuOC0zOS4yem0wIDEwNi41N2gzMy44VjE5OGgtMzMuOHoiPjwvcGF0aD48L2c+PC9nPjwvc3ZnPg==
data:image/svg+xml;base64,PHN2ZyBzdHlsZT0iaGVpZ2h0OiA1MTJweDsgd2lkdGg6IDUxMnB4OyIgeG1sbnM9Imh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnIiB2aWV3Qm94PSIwIDAgNTEyIDUxMiI+PGcgY2xhc3M9IiIgc3R5bGU9IiIgdHJhbnNmb3JtPSJ0cmFuc2xhdGUoMCwwKSI+PHBhdGggZD0iTTc2IDQ2Yy0zMy4yNCAwLTYwIDI2Ljc2LTYwIDYwdjMwMGMwIDMzLjI0IDI2Ljc2IDYwIDYwIDYwaDM2MGMzMy4yNCAwIDYwLTI2Ljc2IDYwLTYwVjEwNmMwLTMzLjI0LTI2Ljc2LTYwLTYwLTYwSDc2em0wIDYwaDM2MHYzMDBINzZWMTA2em0xNTAgNjB2NjBoLTYwdjYwaDYwdjYwaDYwdi02MGg2MHYtNjBoLTYwdi02MGgtNjB6IiBmaWxsPSIjZmZmIiBmaWxsLW9wYWNpdHk9IjEiPjwvcGF0aD48L2c+PGcgY2xhc3M9IiIgc3R5bGU9IiIgdHJhbnNmb3JtPSJ0cmFuc2xhdGUoMjU2LDI1NikiPjxnPjxjaXJjbGUgY3g9IjEyOCIgY3k9IjEyOCIgcj0iMTI4IiBmaWxsPSIjMDAwIiBmaWxsLW9wYWNpdHk9IjEiPjwvY2lyY2xlPjxjaXJjbGUgc3Ryb2tlPSIjZmZmIiBzdHJva2Utb3BhY2l0eT0iMSIgZmlsbD0iIzAwMCIgZmlsbC1vcGFjaXR5PSIxIiBzdHJva2Utd2lkdGg9IjE4IiBjeD0iMTI4IiBjeT0iMTI4IiByPSIxMDEiPjwvY2lyY2xlPjxwYXRoIGZpbGw9IiNmZmYiIGZpbGwtb3BhY2l0eT0iMSIgZD0iTTExMS4xIDU4LjAzaDMzLjh2NTMuNjdsLTQuOCAzOS4yaC0yNC4ybC00LjgtMzkuMnptMCAxMDYuNTdoMzMuOFYxOThoLTMzLjh6Ij48L3BhdGg+PC9nPjwvZz48L3N2Zz4=
data:image/svg+xml;base64,PHN2ZyBzdHlsZT0iaGVpZ2h0OiA1MTJweDsgd2lkdGg6IDUxMnB4OyIgeG1sbnM9Imh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnIiB2aWV3Qm94PSIwIDAgNTEyIDUxMiI+PGcgY2xhc3M9IiIgc3R5bGU9IiIgdHJhbnNmb3JtPSJ0cmFuc2xhdGUoMCwwKSI+PHBhdGggZD0iTTMwMiAyMC4zMWMtNi4zLjEyLTEyLjcuNTYtMTkgMS40bDIgMTcuOGMtNiAuNy0xMiAxLjctMTcgM2wtNS0xN2MtNi43IDEuMjEtMTMuOSAzLjU0LTE5IDUuOTFsNiAxNi4xYy01IDItMTEgNC4zLTE2IDYuOGwtOC0xNC45Yy03LjMgMS42My0xMi41IDUuNTctMTcgMTAuNGwxMCAxMy40Yy00LjggMy40OS0xMC4yIDYuOTgtMTQgMTAuOGwtMTItMTEuNmMtNS4yIDIuOTctMTEgOC42Ny0xMyAxNWwxMyA5LjZjLTQgNC43LTYgOS42LTkgMTQuNzgtNS4xLTIuMDktMTAtNC41NC0xNS02Ljg4LTQgNS44OC01IDEzLjk4LTYgMjAuMzggNS45LjkgMTEuOSAxLjkgMTcgMi44LTEuNCA1LjItMS4xIDExLjUgMCAxNi4ybC0xNyAyLjVjLTIuMSA3LjQuOCAxNS40IDUgMjAuMmwxNi02LjdjMiA1IDUgMTAgOCAxNC45bC0xMyA5LjljMTEuMiAxNS43IDEwLjYgMTQuMSAxNCAxNi41bDExLTExLjVjNS4xIDQuNiA5LjMgOS41IDE0IDEyLjdsLTEyIDExLjljNC45IDQgOS40IDguNiAxNCAxMi45bDEyLTEyLjdjNSA0IDkgOC4yIDE0IDEyLjVsLTEyIDEzLjFjNC42IDQgOC44IDguNCAxMyAxMi44bDEzLTEzYzQgNC4zIDkgOC43IDEzIDEzLjJsLTEzIDEyLjdjNC43IDQuMSA5LjQgOS4zIDE0IDEzbDEyLTEyLjJjNC43IDQgOSAxMCAxMyAxMy45bC0xMyAxMS42YzMuOCA0LjggNy43IDguOSAxMiAxMy42bDEzLTEwLjZjNC41IDUgOC40IDEwLjcgMTIgMTUuOWwtMTQgOC43YzEuNSAzLjUgNC42IDEzLjYgNSAxNGwxNi0yLjZjMSA2LjIgMiAxMiA0IDE3LjVsLTE2IDQuNGMtLjMgNi43IDMuMyAxNC43IDYgMTguN2wxNi02LjNjMS4xIDUuNiA0LjIgMTEuNCA3IDE1LjYtNC42IDMtOS4zIDUuOC0xNCA4LjcgMy41IDYgOS4zIDExLjMgMTMgMTYuM2wxMi0xMS45YzQuNCAzLjcgOC4yIDYuMSAxMyA4bC02IDE2LjFjNyAzIDE2LjIgMy4zIDIzIDMuM3YtLjFjLS42LTYtMS4zLTEyLjEtMi0xOC4xIDUtLjYgOS0yLjIgMTQtNC42bDkgMTUuNWM1LjctMi4zIDEyLjctNy42IDE2LTEzbC0xMi0xMi41YzQtMy43IDgtOC4xIDEyLTEzLjFsMTMgMTAuMWMyLjItMi41IDEwLjctMTQuMiAxMS0xNi43bC0xNC04LjFjMi4zLTUuNyA2LTExLjEgOS0xNmwxNCA3LjNjMi4zLTUuMSA4LTExLjcgOC0xNy41bC0xNC02LjJjMi01LjcgNC0xMS4zIDctMTdsMTQgNS40YzMuMS01LjQgNC41LTEyLjQgNi0xOC41bC0xNS00LjJjMi01LjkgMy0xMS44IDUtMTcuN2wxNSAzYy4yLTYuNCAxLjItMTIuOSAzLTE5LjFsLTE1LTEuOWMwLTYuMSAxLTEyLjIgMS0xOC4xbDE1IC42VjIxMmwtMTUgLjVjMC02LjEtMS0xMi0yLTE3LjlsMTUtMi4yYy4xLTYuNS0xLjYtMTMuNC0zLTE5LjFsLTE1IDMuNGMtMi01LjktMy0xMS43LTUtMTcuNGwxNS00LjljLTMuNC01LjctNS43LTEyLjgtNy0xOC4xbC0xNSA2LjFjLTItNS41LTUtMTAuOS04LTE2LjFsMTQtNy43Yy0zLjItNi03LjUtMTEuOC0xMS0xNi43bC0xMyA5LjFjLTMtNS03LTkuOC0xMS0xNC4yOGwxMy0xMC40Yy00LjctNC45NC05LjYtMTAuMjctMTQtMTQuNC0zLjcgMy44MS03LjQgNy42Ni0xMSAxMS42LTQtNC4yLTktOC4yLTE0LTExLjggMy42LTQuMzMgNy43LTguNDggMTEtMTIuOS01LjMtNC4yOS0xMC45LTguNTMtMTYtMTEuNjFsLTkgMTMuOWMtNS40LTMuODUtMTAuNy01LjQxLTE2LTguNSAyLTUuNDUgNS4xLTEwLjMyIDgtMTUuM3YtLjFjLTYtMi45NC0xMS45LTQuOTQtMTgtNy40bC02IDE2LjZjLTYtMS45LTEyLTMuNC0xNy00LjYgMS4yLTYuMDMgMi40LTExLjc3IDQtMTcuNS02LjUtMS41Mi0xMy4zLTIuNTYtMjAtMi45bC0yIDE4Yy02LS42LTExLS44LTE3LS43LS4zLTYuMTQtLjgtMTIuMjYtMS0xOC40em0zIDM3LjExYzIxIDAgNDIgNC4yIDYxIDEzLjg5IDcyIDM3LjA5IDEyNyAxNDEuNDkgNTYgMjY0LjM5LTEwIDE4LjQtMjAgMjkuNy0yOCAzNS4yLTggNS40LTEzIDUuNS0xOCAzLjItNS0yLjQtMTItOS0xNy0yMC4zLTUtMTEuMi0xMC0yNi43LTEzLTQ1LjItMS05LjQtNy0xNy42LTE1LTI4LjFzLTE4LTIyLjMtMzAtMzQuNmMtMjMtMjQuNS01MC01MC40LTcyLTY4LjQtMjQtMjAtMzItMzguMy0zMS01NC4xIDEtMTUuOSAxMS0zMC44OCAyOC00Mi44OCAxOS0xMy41IDQ3LTIyLjIgNzUtMjMgMiAwIDMtLjEgNC0uMXptLTIzMSAyLjlsNCAxNi44Yy01LjEzIDEuNjEtMTAuMSA0LjA5LTE0IDcuMmwtMTAtMTQuMWMtNi41NCA0LjE1LTExLjYgOS44NS0xNSAxNC41bDEzIDExLjJjLTMgNC4yOC02IDguODgtOCAxMy41OGwtMTYtNS45Yy0zLjkxIDYuMy00IDEzLjctNCAyMS40bDE1IC4yYy0xIDUuOS0xIDExLjkgMCAxNy40bC0xMiAzLjhjMS4wNCA4LjcgNS4yIDE0LjYgMTAgMTkuM2w5LTcuMWMzLjcgMy43IDguNzQgNi45IDEzIDguMWwtOCAxMS40YzguMSA0LjMgMTUuMzcgNy4zIDI0IDYuNHYtLjFjLS44Mi01LjgtMS42MS0xMS42LTMtMTcuMyA1LTEuMiA5LTMuNCAxMi02LjJsMTIgMTEuOGM2LjUtNS42IDEwLjMtMTAuMyAxMy0xNi44bC0xMy03LjRjNC00LjkgNy0xMC4yIDEwLTE1LjRsMTIgNWMyLjgtNi4zIDQuNS0xMi44IDYtMTguMmwtMTEtMy45YzEtNS40IDEtMTAuOS0xLTE2bDE1LTIuOThjLTMtOC45OS00LjgtMTQuNTgtMTAtMjAuOGwtMTIgMTAuN2MtMy43LTMuNzYtOC41Ny03LjI1LTEzLTguOWw2LTE1Yy03LjMyLTMuNzgtMTUuNjktMy41My0yNC0yLjd6bTE3OSAzMi45Yy0xMiAuMy0yMyA2LjUtMjkgMTcuMjgtMTAgMTYuNy00IDM3LjkgMTMgNDcuNSAxNiA5LjUgMzcgMy45IDQ3LTEyLjcgOS0xNi42IDQtMzcuOS0xMy00Ny4zOC02LTMuMy0xMi00LjgtMTgtNC43em0tMTYzIDUuN2MzLjQ4IDQuMzggNSAxMC4zOCA0IDEzLjQ4LTMgOS0xMC40NiAyMi4zLTE4IDMwLjQtNS44OSA2LjQtMTEuNTggNy4xLTE2IDMuNS0zLTMtNS0xMS44LTItMjIuMiA0LjAxLTkuNSAyMS4wOS0zOC4yNiAzMi0yNS4xOHptMjUzIDEyLjk4Yy04IDAtMTQgNi40LTE0IDE0LjQgMCA3LjkgNiAxNC40IDE0IDE0LjRzMTUtNi41IDE1LTE0LjRjMC04LTctMTQuNC0xNS0xNC40em0zOCA2MC45Yy0xNyAuNC0zMyA5LjUtNDMgMjUuNC0xNCAyNC4yLTUgNTUuMyAxOSA2OS4zczU1IDUuNiA2OS0xOC42YzE0LTI0LjMgNi01NS4zLTE4LTY5LjMtOS00LjgtMTgtNy0yNy02Ljh6TTg5IDI1MC4xbC0xIDE3LjRjLTUuMzItLjctMTAuMTEtLjktMTUgMUw2NyAyNTNjLTguNjYgMi40LTE0Ljc2IDYuOC0xOSAxMS41bDExIDEyLjRjLTMuNDYgMy45LTcuNDIgOC4xLTkgMTIuNy01LjI0LTItMTAuMDctNC44LTE1LTcuNC0zLjEzIDYtNS43NCAxNC02IDIwLjRsMTYgMi44Yy0xLjMzIDYuNS0yIDExLjEtMiAxNy4ybC0xNS4xNS41Yy0uMjUgNy40IDAgMTIuNyAxLjE1IDE5LjRsMTUtMS43YzEgNi4yIDIgMTIuMiAzIDE3LjlsLTE1IDMuMWMuNzkgNi42IDEuODcgMTIuNyA1IDE5bDE0LTQuNmMyIDUuOSA0IDExLjYgNyAxN2wtMTUgNmMxLjI4IDQuNyA2LjY5IDEyLjggMTAgMTcuN2wxMy03LjhjMyA1LjIgNiAxMC4xIDEwIDE0LjhsLTEyIDkuNmM0LjQ0IDUuNCA5IDExIDEzIDE0LjlsMTEtMTEuMWM0IDQuMyA5IDguMiAxMyAxMS44bC05IDEyLjRjNC4yNSA0LjEgMTEuNiA5IDE3IDExbDctMTMuM2M1IDMgMTEgNS43IDE2IDcuOWwtNiAxNHMxOS4zIDYuNSAxOSA2LjF2LjJsNC0xNC43YzYgMS41IDEyIDIuNiAxOCAzLjJsLTIgMTVjNS45LjcgMTMuOS45IDIwIC43bC0xLTE1LjRjNi0uNCAxMi0xLjYgMTctMy40bDUgMTUuNmM4LjUtMi40IDE0LjEtNC44IDE5LTguN2wtOS0xNC40YzUtMy4xIDktNi43IDEzLTEwLjdsMTIgMTEuOGM0LjUtNS4xIDEwLjEtMTIuMSAxMy0xNi40bC0xNS04LjhjNC01IDYtMTAuMiA4LTE1LjRsMTYgNS43YzIuOC02LjcgNC0xNCA1LTIwbC0xNi0yLjNjLjctNiAuOS0xMi4yIDEtMTcuNGwxNi0uNmMtLjYtNy4zLTEuNS0xNC42LTMtMjAuOGwtMTUgNC40Yy0xLTUuNS0zLTEwLjYtNy0xNS4ybDEzLTguOGMtMS45LTQuMy0xMC4zLTE0LTE2LTE1LjZsLTkgMTQuNGMtNS0yLjEtOS0zLjctMTUtNC45bDMtMTcuNmMtMTUuMi0xLjEtMTYuNC0uOC0yNiAuMS42IDUuMiAxLjIgOS41IDIgMTQuOC02LjUtLjItMTQtLjctMjAtMS4zbDEtMTIuOGMtNS43LS4xLTExLjQtLjgtMTctMS45bC0zIDExLjljLTctMS4zLTE0LTIuOS0xOS00LjcgMS45LTQuNyA1LTguNSA4LTEyLjUtMy40LTIuMy03LjgtNy4zLTEwLTkuOWwtMTQgOGMtMi43LTUuOC00LjgtMTQtNS0yMC41bDE1LTEuM2MtLjYtOS4yLTEuOS0xNC42LTYtMjEuMmwtMTUgNy4xYy0yLjItNC4xLTYuNS03LjgtMTAtMTAuMiAzLjQtNC44IDYuNy05IDEwLTEzLjktNi4xLTMuOS0xNS4xMi04LjQtMjItOC43em01IDQxYzIgMy4xIDQgOC40IDUgMTQuOSAyIDYuNCAzIDEzLjkgNiAyMS40IDMgNy40IDggMTUuMiAxNyAxOS42IDE4IDkgNDcgMTIuNyA2NyAxMy40IDI1IC45IDM2IDUuMyA0MCAxMC4zIDQgNC45IDUgMTQuMyA1IDMwLjYtMSAxMC45LTYgMjUuMy0xNSAzNi41cy0yMiAxOS4xLTM3IDE5LjhjLTUyIDIuNi0xMjAtNDAuMy0xMjAtMTM3LjUgMC0xMi41IDQtMjEuNyA4LTI3LjMgNi4yNy03LjcgMTcuODEtMTAuNyAyNC0xLjd6bTE4IDc2LjljLTggMC0xNSA2LjUtMTUgMTQuNHM3IDE0LjMgMTUgMTQuM2M3IDAgMTQtNi40IDE0LTE0LjNzLTctMTQuNC0xNC0xNC40em02MyAxNy42Yy0xMyAwLTI0IDExLTI0IDI0LjQgMCAxMy41IDExIDI0LjQgMjQgMjQuNCAxNCAwIDI1LTEwLjkgMjUtMjQuNCAwLTEzLjQtMTEtMjQuNC0yNS0yNC40eiIgZmlsbD0iI2ZmZiIgZmlsbC1vcGFjaXR5PSIxIj48L3BhdGg+PC9nPjxnIGNsYXNzPSIiIHN0eWxlPSIiIHRyYW5zZm9ybT0idHJhbnNsYXRlKDI1NiwyNTYpIj48Zz48Y2lyY2xlIGN4PSIxMjgiIGN5PSIxMjgiIHI9IjEyOCIgZmlsbD0iIzAwMCIgZmlsbC1vcGFjaXR5PSIxIj48L2NpcmNsZT48Y2lyY2xlIHN0cm9rZT0iI2ZmZiIgc3Ryb2tlLW9wYWNpdHk9IjEiIGZpbGw9IiMwMDAiIGZpbGwtb3BhY2l0eT0iMSIgc3Ryb2tlLXdpZHRoPSIxOCIgY3g9IjEyOCIgY3k9IjEyOCIgcj0iMTAxIj48L2NpcmNsZT48cGF0aCBmaWxsPSIjZmZmIiBmaWxsLW9wYWNpdHk9IjEiIGQ9Ik0xMTEuMSA1OC4wM2gzMy44djUzLjY3bC00LjggMzkuMmgtMjQuMmwtNC44LTM5LjJ6bTAgMTA2LjU3aDMzLjhWMTk4aC0zMy44eiI+PC9wYXRoPjwvZz48L2c+PC9zdmc+
data:image/svg+xml;base64,PHN2ZyBzdHlsZT0iaGVpZ2h0OiA1MTJweDsgd2lkdGg6IDUxMnB4OyIgeG1sbnM9Imh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnIiB2aWV3Qm94PSIwIDAgNTEyIDUxMiI+PGcgY2xhc3M9IiIgc3R5bGU9IiIgdHJhbnNmb3JtPSJ0cmFuc2xhdGUoMCwwKSI+PHBhdGggZD0iTTIyOC44NDQgMzIuMjJ2MTE0LjIxOGgxNy42ODdWMzIuMjE4aC0xNy42ODZ6bS0xMDguMjUuNjI0Yy0xNS41MDcgMC0yOC4wOTQgMTIuNTg2LTI4LjA5NCAyOC4wOTNDOTIuNSA3Ni40NDQgMTA1LjA4NyA4OSAxMjAuNTk0IDg5YzEyLjY1NSAwIDIzLjM0LTguMzcyIDI2Ljg0NC0xOS44NzVoNDQuOTM3djc3LjMxM2gxNy42ODh2LTk1SDE0Ny4wM2MtMy44ODgtMTAuODM3LTE0LjI2Mi0xOC41OTMtMjYuNDM2LTE4LjU5M3ptMTkzLjI1IDBjLTE1LjUwNyAwLTI4LjA2MyAxMi41ODYtMjguMDYzIDI4LjA5MyAwIDEyLjEyNCA3LjY3NyAyMi40NSAxOC40NCAyNi4zNzZ2NTkuMTI0aDE3LjY1NVY4Ny44NDRjMTEuNTk2LTMuNDUyIDIwLjA2My0xNC4xOTMgMjAuMDYzLTI2LjkwNiAwLTE1LjUwOC0xMi41ODctMjguMDk0LTI4LjA5NC0yOC4wOTR6TTI2Ni4xMjQgOTIuNXY1My45MzhoMTcuNjU3VjkyLjVoLTE3LjY1NXptMTg4LjUzMiA0LjAzYy0xNS41MDcgMC0yOC4wOTQgMTIuNTg4LTI4LjA5NCAyOC4wOTUgMCAxMy4wODMgOC45NDggMjQuMDc0IDIxLjA2MyAyNy4xODh2MjcuNDY4aC05Mi45Mzh2MTcuNjU3aDExMC42MjR2LTQ2LjM0MmMxMC4yMjMtNC4xOTIgMTcuNDA3LTE0LjIzMyAxNy40MDctMjUuOTcgMC0xNS41MDctMTIuNTU3LTI4LjA5NC0yOC4wNjQtMjguMDk0ek0zMC4xODcgMTIzLjY1N3YxNy42ODhIOTYuNzV2NTUuNTk0aDYyLjgxNFYxNzkuMjhoLTQ1LjEyNnYtNTUuNjI0aC04NC4yNXptMTQ3LjAzMiA0MC40N3YxNTkuNzE4aDE1OS44MXYtMTU5LjcySDE3Ny4yMnptMTcuNTYgMTUuNjU1aDE3LjY1N3Y3OC41OTVsMzIuNDA3IDMyLjQwNmg3NS4yOHYxNy42NThIMjM3LjVsLTIuNTk0LTIuNTk0LTEwLjc1LTEwLjc1Yy0xLjAzMyA3LjM4NS03LjM2IDEzLjA2Mi0xNS4wMyAxMy4wNjItOC4zOTIgMC0xNS4xOS02Ljc5Ni0xNS4xOS0xNS4xODcgMC03LjY4MiA1LjY5Ni0xMy45OCAxMy4wOTUtMTVsLTkuNjU1LTkuNjU4LTIuNTk0LTIuNTkzVjE3OS43OHptNTQuOTQuMTU3aDE3LjY4NnY1NS4zMTNoNTIuNTNsLjAwMiAxNy42ODhIMjQ5Ljcydi03M3pNNTMuMTI0IDIxNy4zNzVWMzA3LjM0NGMtMTEuNDkgMy41MTItMTkuODQ0IDE0LjE5OC0xOS44NDQgMjYuODQ0IDAgMTUuNTA1IDEyLjU1NyAyOC4wOTMgMjguMDY0IDI4LjA5M3MyOC4wOTMtMTIuNTg3IDI4LjA5My0yOC4wOTJjMC0xMi4xOTUtNy43OS0yMi41NjQtMTguNjU2LTI2LjQzOHYtNzIuNzJoODguNzgydi0xNy42NTVINTMuMTI0em0zMDEuNTYzIDB2MTcuNjU2aDUzLjk2OHYtMTcuNjU1aC01My45N3ptOTkuOTY4IDIxLjk3Yy0xMC44OTggMC0yMC4zNDIgNi4yMS0yNSAxNS4yOGgtNzQuOTdsLjAwMiAxNy42ODhINDI3YzIuMzI1IDEzLjE2OCAxMy44MjQgMjMuMTg3IDI3LjY1NiAyMy4xODcgMTUuNTA3IDAgMjguMDYzLTEyLjU4OCAyOC4wNjMtMjguMDk0IDAtMTUuNTA3LTEyLjU1Ny0yOC4wNjItMjguMDY0LTI4LjA2MnptLTM0OS4wNjIgMTUuMjh2MTcuNjg4aDUzLjk3di0xNy42ODhoLTUzLjk3em0xNy4xNTYgMzYuNDd2ODQuMjE3Yy0xMS40OTggMy41MTMtMTkuODc1IDE0LjItMTkuODc1IDI2Ljg0NCAwIDE1LjUwNiAxMi41ODcgMjguMDk0IDI4LjA5NCAyOC4wOTQgMTUuNTA2IDAgMjguMDYtMTIuNTg4IDI4LjA2LTI4LjA5NCAwLTEyLjE5NC03Ljc2Ni0yMi41NjQtMTguNjI0LTI2LjQzN3YtNjYuOTRoMTkuMTU2di0xNy42ODZIMTIyLjc1em0yMzEuOTM4IDB2MTcuNjg2aDQ1LjE1NnY5NS4yODNjLTExLjMyMyAzLjYyNC0xOS41MyAxNC4yNi0xOS41MyAyNi43OC0uMDAyIDE1LjUwNiAxMi41ODUgMjguMDYzIDI4LjA5MiAyOC4wNjMgMTUuNTA3IDAgMjguMDYzLTEyLjU1NyAyOC4wNjMtMjguMDYyIDAtMTIuMzItNy45MzUtMjIuNzc4LTE4Ljk3LTI2LjU2M1YyOTEuMDk1aC02Mi44MTR6TTE5Mi4zNzUgMzQxLjUzdjU0LjAzM2gxNy42ODhWMzQxLjUzaC0xNy42ODh6bTM2LjQ3IDB2ODYuNTY0Yy0xMS4wMTMgMy43OTQtMTguOTQgMTQuMjMzLTE4Ljk0IDI2LjUzIDAgMTUuNTA2IDEyLjU4OCAyOC4wOTUgMjguMDk1IDI4LjA5NXMyOC4wNjMtMTIuNTkgMjguMDYzLTI4LjA5NWMwLTEyLjUzLTguMjAzLTIzLjE0LTE5LjUzMi0yNi43NVYzNDEuNTNoLTE3LjY4NnptMzcuMjggMHY1NC4wMzNoMTcuNjg4bC0uMDMyLTU0LjAzMmgtMTcuNjU1em0zOC4wOTQgMHYxNDAuMDY0aDE3LjY1NVYzNDEuNTNIMzA0LjIyeiIgZmlsbD0iI2ZmZiIgZmlsbC1vcGFjaXR5PSIxIj48L3BhdGg+PC9nPjxnIGNsYXNzPSIiIHN0eWxlPSIiIHRyYW5zZm9ybT0idHJhbnNsYXRlKDI1NiwyNTYpIj48Zz48Y2lyY2xlIGN4PSIxMjgiIGN5PSIxMjgiIHI9IjEyOCIgZmlsbD0iIzAwMCIgZmlsbC1vcGFjaXR5PSIxIj48L2NpcmNsZT48Y2lyY2xlIHN0cm9rZT0iI2ZmZiIgc3Ryb2tlLW9wYWNpdHk9IjEiIGZpbGw9IiMwMDAiIGZpbGwtb3BhY2l0eT0iMSIgc3Ryb2tlLXdpZHRoPSIxOCIgY3g9IjEyOCIgY3k9IjEyOCIgcj0iMTAxIj48L2NpcmNsZT48cGF0aCBmaWxsPSIjZmZmIiBmaWxsLW9wYWNpdHk9IjEiIGQ9Ik0xMTEuMSA1OC4wM2gzMy44djUzLjY3bC00LjggMzkuMmgtMjQuMmwtNC44LTM5LjJ6bTAgMTA2LjU3aDMzLjhWMTk4aC0zMy44eiI+PC9wYXRoPjwvZz48L2c+PC9zdmc+
data:image/svg+xml;base64,PHN2ZyBzdHlsZT0iaGVpZ2h0OiA1MTJweDsgd2lkdGg6IDUxMnB4OyIgeG1sbnM9Imh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnIiB2aWV3Qm94PSIwIDAgNTEyIDUxMiI+PGcgY2xhc3M9IiIgc3R5bGU9IiIgdHJhbnNmb3JtPSJ0cmFuc2xhdGUoMCwwKSI+PHBhdGggZD0iTTM2LjA3OCAxNkwxNiAzNS41NXY1MC4yNDdMODcuNjg0IDE2SDM2LjA3OHptMTIxLjgzIDBsLTk3LjgzNCA5NS4yNmM4LjgzOC0uNDggMTcuNzItLjk0NiAyNy4yMDctMS4zNjdMMTgzLjcxIDE2SDE1Ny45MXptMTA3Ljc2OCAwTDIxNy43MiA2Mi42OTNjMTEuNzMtNy4xOSAyNC42ODQtMTQuNTM3IDM3Ljk4Ny0yMS40NTUgMTcuOTczLTkuMzQ2IDM2LjMzNC0xNy42NTYgNTIuODA3LTIzLjAyMyAyLjQ2Ni0uODA0IDQuODY1LTEuNTMgNy4yMzQtMi4yMTVoLTUwLjA3MnptMTA1LjYyNyAwbC00LjI5IDMuNDMyYzU2Ljk0NCAyMy4wMDUgOTcuNjIgNjMuNjgyIDEyMC42MjggMTIwLjYyN2w4LjE2LTEwLjJDNDc1LjY3NCA3NS44NCA0NDAuNTEgMzguMzU2IDM4OC45MyAxNmgtMTcuNjN6bTU1Ljg5NCAwQzQ1NS44NiAzNC4yMTQgNDc4Ljg4NCA1OC4zMTggNDk2IDg4LjAyN1Y2My41ODJDNDg0LjQ0MiA0NS4xNCA0NjkuNTcgMjkuMjM0IDQ1MS40ODggMTZoLTI0LjI5em01Mi4xNzYgMEExOTIuMzEgMTkyLjMxIDAgMCAxIDQ5NiAzMy40NDdWMTZoLTE2LjYyN3pNMzQxLjMxNiAzMC4yNjZjLTYuMTI0LS4xMDgtMTUuOTggMS40LTI3LjIyNiA1LjA2NC0xNC45OTQgNC44ODYtMzIuNjk2IDEyLjg0LTUwLjA3OCAyMS44OGE1MTkuNTU4IDUxOS41NTggMCAwIDAtMTguOTQ4IDEwLjM4NGMyNy4wODUgNS4xODggNTQuMzkgMTcuODY2IDc5LjczNyAzNS4zbDY5LjUxNi00OS42NTRjLTE0LjQyLTguOTktMzAuNDY1LTE2LjQzNS00OC4yMDctMjIuMzUtMS4xMjYtLjM3NC0yLjc1Mi0uNTg4LTQuNzk0LS42MjR6bTY4LjcxMyAzMy44N2wtNjkuOTkgNDkuOTk1YTMxNy42NTMgMzE3LjY1MyAwIDAgMSAyOC4wMDcgMjQuODk1IDMxNy42ODQgMzE3LjY4NCAwIDAgMSAyNC45MDIgMjguMDAybDQ5Ljk4OC02OS45ODZhMTgxLjYxNCAxODEuNjE0IDAgMCAwLTMyLjkxLTMyLjkwNXptLTE5My40MSAxOC4wOGMtMTkuMzk0LjE2Mi0zNi42OTggNS45MzItNDkuMzkgMTguNjI2YTU4LjQ5MiA1OC40OTIgMCAwIDAtNi45OTIgOC40NDdjNy43MzcuMzQ1IDE1LjMzNi44NjUgMjIuNjk4IDEuNjA2IDguNi03LjAyNSAyMC4yODYtMTAuNjYgMzQuMjYtMTAuNzEgOS4zOTYtLjAzNCAxOS44MiAxLjU1IDMxLjAyNSA0LjgwMiAyOS44OCA4LjY3NSA2NC4wNzYgMjkuMTk2IDk0LjM3MiA1OS40OTIgMzAuMjk2IDMwLjI5NyA1MC44MiA2NC40OTYgNTkuNDk0IDk0LjM3NCA4LjY3NCAyOS44NzcgNS40NzQgNTQuMjA1LTguNTgyIDY4LjI2YTQwLjUyMyA0MC41MjMgMCAwIDEtNy4wNzYgNS42MyAyMzQuNDkyIDIzNC40OTIgMCAwIDEtNS4zMiAyMi4xMDZjOS41MTgtMyAxOC4wNC03LjkyMyAyNS4xMjQtMTUuMDA2IDIwLjMxLTIwLjMxIDIyLjg5My01Mi40MiAxMy4xNC04Ni4wMS05LjM2LTMyLjI0OC0zMC4xMi02Ni45OTMtNjAuMjQ1LTk4LjJsLS4wOS0uMDkzLS4wNTctLjA1NmEzMDcuODgyIDMwNy44ODIgMCAwIDAtMy42Ni0zLjczaC0uMDAyYTMwOC4xMzggMzA4LjEzOCAwIDAgMC0zLjcyNi0zLjY2bC0uMDYtLjA2Yy0uMDM0LS4wMy0uMDY3LS4wNi0uMS0uMDkzLTMxLjIwNS0zMC4xMi02NS45NDYtNTAuODgtOTguMTkyLTYwLjI0LTEyLjU5Ni0zLjY1OC0yNC45ODUtNS41OC0zNi42Mi01LjQ4M3pNNDUzLjgzIDExMi43NmwtNDkuNjUyIDY5LjUxNWMxNy40MzcgMjUuMzU0IDMwLjEgNTIuNjcgMzUuMjg1IDc5Ljc2MmE1MTkuMzgzIDUxOS4zODMgMCAwIDAgMTAuNC0xOC45NzRjOS4wNC0xNy4zODIgMTYuOTkyLTM1LjA4NCAyMS44NzctNTAuMDc4IDQuODg2LTE0Ljk5MyA1Ljk0LTI3LjUxNiA0LjQ0LTMyLjAxNy01LjkxNC0xNy43NDItMTMuMzYtMzMuNzg1LTIyLjM1LTQ4LjIwN3ptLTMxNS43NjYgMTQuMzA2Yy0yNC40MjQtLjEwMy00OS41MiAxLjA3NC03Mi43OCAyLjIxNyA3LjY5IDIuMDkgMTQuOTMgMy45NjMgMjIuODcyIDYuMzQzIDI5LjY5IDguOSA1OS42OSAxOS41MTIgNzQuNzUgNDAuMjE3bDEyLjQ2NSAxNy4xMzctMjAuOTg4LTIuOTNjLTQ1LjkwMi02LjQxLTc0LjM3IDUuMDQ0LTEwMS40NyAxNS42OTMgMzMuNzcgNy4yODggNTguNTA2IDE1LjI0OCA4Ny42ODMgMzYuNzNsMTMuOTYgMTAuMjc4LTE2LjQ0IDUuNTA0Qzc4LjU2IDI3OC4xOTUgNDcuNDUgMzE1LjA0NyAxNiAzNTcuODM0djIyLjE0M2M5LjU4LTUuMDcgMTkuMjgzLTEwLjU5NiAyOS4wNTctMTUuOTM0IDI3LjE1My0xNC44MzIgNTUuODUtMjguMzQ2IDg1LjUwMi0xOS41NzJsNy44NCAyLjMyLTEuNTYgOC4wMjhjLTYuODAzIDM1LjAxLTI4LjAyNyA5MS40NDUtNDguMDA4IDE0MS4xODJoMTUuNDU1YzQ0LjA3LTUwLjc2OCA5My4zMy0xMTMuODA3IDEwOC45OTQtMTQ2LjU5Nmw3LjE2LTE0Ljk4NCA4LjY0NCAxNC4xNzhjNS43ODQgOS40ODQgMy42NjcgMTkuNzY2Ljk3MyAzMS43MjQtMi42OTQgMTEuOTU4LTcuMjggMjUuNjktMTIuMTc4IDM5Ljg4LTYuMjI0IDE4LjAyNC0xMi41MzYgMzYuNzEtMTYuNTUyIDUyLjE5IDEyLjUzOC0xMi40OCAyNS41OTgtMjkuMjMgMzYuODQyLTQ2LjkxMiAxNi44LTI2LjQyIDI5Ljg4Ni01NS4xIDMzLjU4Ni03Mi41MTVsNS4wMTUtMjMuNjEzIDExLjY2OCAyMS4xMzRjMTIuMzU2IDIyLjM4NSAxMC45NjcgNTIuMyA2Ljk5NiA4NC43MjMtMi4zNyAxOS4zNDYtNS44MiAzOS42MzgtOC44NTQgNTkuNjUzIDE0Ljg3LTIyLjMxIDMyLjU3LTQ4LjM2IDQ4LjMwNy03Ny4zNiAyNC44NDMtNDUuNzkgNDMuMjYyLTk2Ljg4MyAzNC43OS0xNDMuODc2LTIuNzIzLTE1LjEwNy0xMy4xNDYtMzQuMDAzLTI4LjMyNy01Mi44My0yMS4xNjUgNi40NjYtNDIuNDQgMjAuODkyLTYyLjg3NSA0MC44MjIgMTcuMDktMjkuOTUgMjMuNS00OS45NjQgMzcuMTgzLTY1LjIyNS0yNC41NzggMTAuNjgyLTU3LjE3NiAyOS41NzItOTEuMjYzIDYyLjc2NSAxOS42NTQtMjUuMjU4IDQwLjA5NS02NC4wNyA1My45MzUtOTEuNDc4LTIwLjM3MiAxNS42NC01MS40NSAzMS4zNzctNzEuMjEgNDMuODEgOS44LTE1LjExIDMwLjQ3LTQzLjY4IDM2LjUxNy02Ni45NTctMTAuOTgzLTQuOTc2LTIxLjc1OC04LjY4OC0zMS44Ny0xMC43NjVsLS4xNDgtLjAzMi0uMTUtLjAzNWMtMjAuMjIzLTQuODczLTQ2LjE3Ni02LjUyMy03My40MDQtNi42NHpNMzEuNzMgMTM4Ljg2TDE2IDE1NC4xNzdWMTc5LjNsMzUuOTI4LTM0Ljk4NGMtNy4wMTItMS44NDItMTMuOTQ2LTMuNjYzLTIwLjItNS40NTV6bTgyLjA0NyAyNS4wNGwtOC4xMyA3LjkxNmExNzkuNTYzIDE3OS41NjMgMCAwIDEgMjEuNjAzLTEuNTA0Yy00LjE0My0yLjIxNy04LjY4NS00LjM1NS0xMy40NzMtNi40MTJ6TTUyLjE0IDIyMy45MTZMMTYgMjU5LjEwNnY1MC4yNDRsNzUuOTI2LTczLjkyOEM3OS44NyAyMzAuNTc3IDY3LjE5IDIyNy4yIDUyLjE0IDIyMy45MTZ6TTQ5NiAyODcuNzJMMzQ2Ljk3IDQzMi44M2MtMTMuMDIgMjMuMjM1LTI3LjExMyA0NC42ODMtMzkuNDQgNjMuMTcyaDI2LjE2M0w0OTYgMzM3Ljk2NVYyODcuNzJ6bS0zODQuNDUgNzIuMDc1Yy0zLjkyIDAtNy45MS40MjYtMTEuOTcyIDEuMjAzTDE2IDQ0Mi4zNzhWNDY3LjVsOTcuODM0LTk1LjI1OGMxLjIwMi00LjI3NiAyLjI4NS04LjM2IDMuMTkzLTEyLjE2MmE1MS44NTggNTEuODU4IDAgMCAwLTUuNDc2LS4yODV6TTQ5NiAzNjguODFMMzY1LjM3MyA0OTZoMjUuOEw0OTYgMzkzLjkzNFYzNjguODF6bS0yOTUuMjc3IDQ1LjkyNGwtMjcuMzIgMjYuNjAyYy0xNC4xNyAxOC4zMS0yOS40OTggMzYuOTkzLTQ0LjYyNCA1NC42NjRoMTQuMjgybDQ0Ljc0LTQzLjU2YzMuOTA3LTEyLjM4NSA4LjYwNi0yNS4yMjUgMTIuOTItMzcuNzA2eiIgZmlsbD0iI2ZmZiIgZmlsbC1vcGFjaXR5PSIxIj48L3BhdGg+PC9nPjxnIGNsYXNzPSIiIHN0eWxlPSIiIHRyYW5zZm9ybT0idHJhbnNsYXRlKDI1NiwyNTYpIj48Zz48Y2lyY2xlIGN4PSIxMjgiIGN5PSIxMjgiIHI9IjEyOCIgZmlsbD0iIzAwMCIgZmlsbC1vcGFjaXR5PSIxIj48L2NpcmNsZT48Y2lyY2xlIHN0cm9rZT0iI2ZmZiIgc3Ryb2tlLW9wYWNpdHk9IjEiIGZpbGw9IiMwMDAiIGZpbGwtb3BhY2l0eT0iMSIgc3Ryb2tlLXdpZHRoPSIxOCIgY3g9IjEyOCIgY3k9IjEyOCIgcj0iMTAxIj48L2NpcmNsZT48cGF0aCBmaWxsPSIjZmZmIiBmaWxsLW9wYWNpdHk9IjEiIGQ9Ik0xMTEuMSA1OC4wM2gzMy44djUzLjY3bC00LjggMzkuMmgtMjQuMmwtNC44LTM5LjJ6bTAgMTA2LjU3aDMzLjhWMTk4aC0zMy44eiI+PC9wYXRoPjwvZz48L2c+PC9zdmc+
data:image/svg+xml;base64,PHN2ZyB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIHZpZXdCb3g9IjAgMCA1MTIgNTEyIiBzdHlsZT0iaGVpZ2h0OiA1MTJweDsgd2lkdGg6IDUxMnB4OyI+PGcgY2xhc3M9IiIgdHJhbnNmb3JtPSJ0cmFuc2xhdGUoMCwwKSIgc3R5bGU9InRvdWNoLWFjdGlvbjogbm9uZTsiPjxwYXRoIGQ9Ik0yNTYgMjYuODE2bC0zOSAyNnYyMy40NTVMMjQzLjcyOSAxMDNoMjQuNTQyTDI5NSA3Ni4yNzFWNTIuODE2bC0zOS0yNnpNMTE5LjAyNyA0MWwtMTEuNSA0NkgxNTFWNDFoLTMxLjk3M3pNMzYxIDQxdjQ2aDQzLjQ3M2wtMTEuNS00NkgzNjF6TTE2OSA1NXYxOGgzMFY1NWgtMzB6bTE0NCAwdjE4aDMwVjU1aC0zMHptLTg2LjczNCA1NS45OTRjLS4wNi4wMy0uMTIzLjA1Ny0uMTgyLjA4Ni03LjA0OCAzLjUyNC05LjA4NCA3LjE1Ny05LjA4NCA4LjkyczIuMDM2IDUuMzk2IDkuMDg0IDguOTJTMjQzLjk2MSAxMzUgMjU2IDEzNWMxMi4wMzkgMCAyMi44NjgtMi41NTYgMjkuOTE2LTYuMDggNy4wNDgtMy41MjQgOS4wODQtNy4xNTcgOS4wODQtOC45MnMtMi4wMzYtNS4zOTYtOS4wODQtOC45MmMtLjA1OS0uMDMtLjEyMy0uMDU3LS4xODItLjA4NkwyNzUuNzMgMTIxSDIzNi4yN2wtMTAuMDA1LTEwLjAwNnpNMTk5IDE0My45NzdjLTYxLjczOSA2LjQ4OC0xMTguNTI4IDIzLjQ3OC0xNTQuMjU2IDQ5LjYyNyA3LjIwMiA4LjY2MiAxNS4yMyAxNi42ODYgMjMuOTY3IDI0LjA1MiAxNS4zODItOC42ODMgMzIuMjk0LTE2LjAwOCA1MC4yODktMjEuOTk2VjE5MmMwLTYuNDM4IDIuOTUtMTIuNDQgNy4xNjgtMTYuNDU3IDQuMjE4LTQuMDE4IDkuNDUyLTYuNDM1IDE1LjAyMS03LjkxNCA1LjU3LTEuNDggMTEuNTc3LTIuMDU4IDE3LjY2Ni0xLjc0YTY0LjMxOCA2NC4zMTggMCAwIDEgMTguMTY2IDMuNjMybC4xMi4wNDMgMjEuODU5IDguNDl2LTM0LjA3N3ptMTE0IDB2MzQuMDc4bDIxLjg2LTguNDkuMTE5LS4wNDRhNjQuMzE4IDY0LjMxOCAwIDAgMSAxOC4xNjYtMy42MzJjNi4wOS0uMzE4IDEyLjA5Ni4yNiAxNy42NjYgMS43NHMxMC44MDMgMy44OTYgMTUuMDIxIDcuOTE0UzM5MyAxODUuNTYzIDM5MyAxOTJ2My42NmMxNy45OTUgNS45ODggMzQuOTA3IDEzLjMxMyA1MC4yOSAyMS45OTYgOC43MzctNy4zNjYgMTYuNzY0LTE1LjM5IDIzLjk2Ni0yNC4wNTItMzUuNzI4LTI2LjE1LTkyLjUxNy00My4xMzktMTU0LjI1Ni00OS42Mjd6bS05NiAuNXY4MC45MDhjMTMuNjA0IDEwLjIzNCAyNi40NjQgMTUuMTE1IDM5IDE1LjExNSAxMi41MzYgMCAyNS4zOTYtNC44ODEgMzktMTUuMTE1di04MC45MDhjLS4zNDQuMTgtLjY4NS4zNjktMS4wMzMuNTQzQzI4My42NDMgMTUwLjE4MiAyNzAuNDcgMTUzIDI1NiAxNTNjLTE0LjQ3IDAtMjcuNjQzLTIuODE4LTM3Ljk2Ny03Ljk4LS4zNDgtLjE3NC0uNjg5LS4zNjItMS4wMzMtLjU0M3ptLTYyLjM3MSAzOS40MzdjLTMuMjE1LjA1LTYuMjQ2LjQyOC04LjgxOCAxLjExMS0yLjU4OC42ODgtNC40NCAxLjY2MS01Ljg1IDIuNjIzTDE5OSAyMTUuMnYtMTcuODM0bC0yOC4wMzctMTAuODljLTQuMDk0LTEuNDU3LTguNjY0LTIuMjc3LTEzLjA2OC0yLjUwMmE0OC44NTMgNDguODUzIDAgMCAwLTMuMjY2LS4wNTl6bTIwMi43NDIgMGE0OC44NTMgNDguODUzIDAgMCAwLTMuMjY2LjA1OWMtNC40MDQuMjI1LTguOTc0IDEuMDQ1LTEzLjA2OCAyLjUwMkwzMTMgMTk3LjM2NVYyMTUuMmw1OS4wNC0yNy41NWMtMS40MS0uOTYzLTMuMjYzLTEuOTM2LTUuODUtMi42MjQtMi41NzMtLjY4My01LjYwNC0xLjA2LTguODE5LTEuMTF6TTQxIDIxNi4yMTd2NDIuODZDNzkuMDcgMzE0LjYxMiAxNjcuMDgyIDM0NC41IDI1NiAzNDQuNXMxNzYuOTMtMjkuODg3IDIxNS04NS40MjR2LTQyLjg2QzQxOC44MjggMjcwLjUgMzM3LjI1IDI5NyAyNTYgMjk3UzkzLjE3MiAyNzAuNDk5IDQxIDIxNi4yMTd6bTE2NC4xOTEgMjMuMDIzbC01Ny4xOTcgMjIuMjE3YzEzLjUxNSA0LjY1NSAyNy41NTcgOC4zNzcgNDEuOTE2IDExLjE4Nmw0MC42NC0xOC45NjVjLTguNjE5LTMuMjU0LTE3LjA5NS04LjEwNC0yNS4zNTktMTQuNDM4em0xMDEuNjE4IDBjLTguMjY0IDYuMzM0LTE2Ljc0IDExLjE4NC0yNS4zNiAxNC40MzhsNDAuNjQgMTguOTY1YzE0LjM2LTIuODEgMjguNDAyLTYuNTMxIDQxLjkxNy0xMS4xODZsLTU3LjE5Ny0yMi4yMTd6TTI1NiAyNjEuNjY2bC0zMy42NDYgMTUuNzAxQTM0OS43ODQgMzQ5Ljc4NCAwIDAgMCAyNTYgMjc5YzExLjI1NSAwIDIyLjQ5OC0uNTU1IDMzLjY0Ni0xLjYzM0wyNTYgMjYxLjY2NnptLTM5IDk5LjA0N3Y1Mi43NDZjNi40NzkgMTAuODEgMjIuMTgxIDE3LjU0MSAzOSAxNy41NDFzMzIuNTIxLTYuNzMyIDM5LTE3LjU0MXYtNTIuNzQ2YTQyOC45MzYgNDI4LjkzNiAwIDAgMS0zOSAxLjc4N2MtMTMuMDMzIDAtMjYuMDc3LS42MDYtMzktMS43ODd6bTE2IDg1LjA2VjQ2NGMwIDIwIDQ2IDIwIDQ2IDB2LTE4LjIyN2MtNy40MDIgMi4xOS0xNS4yNjcgMy4yMjctMjMgMy4yMjctNy43MzMgMC0xNS41OTgtMS4wMzYtMjMtMy4yMjd6IiBmaWxsPSIjZmZmIiBmaWxsLW9wYWNpdHk9IjEiPjwvcGF0aD48L2c+PC9zdmc+
data:image/svg+xml;base64,PHN2ZyBzdHlsZT0iaGVpZ2h0OiA1MTJweDsgd2lkdGg6IDUxMnB4OyIgeG1sbnM9Imh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnIiB2aWV3Qm94PSIwIDAgNTEyIDUxMiI+PGcgY2xhc3M9IiIgc3R5bGU9IiIgdHJhbnNmb3JtPSJ0cmFuc2xhdGUoMCwwKSI+PHBhdGggZD0iTTI1NiAyM0MxMjcuNDI1IDIzIDIzIDEyNy40MjUgMjMgMjU2czEwNC40MjUgMjMzIDIzMyAyMzMgMjMzLTEwNC40MjUgMjMzLTIzM1MzODQuNTc1IDIzIDI1NiAyM3ptMCAxOGMyNi41ODQgMCA1Mi4wMjUgNC44MjQgNzUuNTE2IDEzLjYyM2wtMTkuNDA1IDUxLjc0NmExNjAgMTYwIDAgMCAxIDU2Ljk1NSAzNi41NjVsMzkuMDAyLTM5LjAwMmEyMTUuMDMzIDIxNS4wMzMgMCAwIDEgNDUuMDA2IDY1Ljk1N2wtNDMuNjAxIDQwLjcwNyA1OC42OSAxMC40NWMuNzgzIDQuODA2IDEuNDEgOS42NjMgMS44NyAxNC41N2wtNTEuNzA5IDQuOTIzLTguODUxLTI5Ljk0My05LjA3My0zMC42ODgtNDUuMDY0IDQyLjA3MkMzNDEuMTY2IDE4MC43MzYgMzAxLjk4MiAxNTEgMjU2IDE1MWMtMTQuMjQ4IDAtMjcuODQxIDIuODYtNDAuMjQyIDguMDI3bDEuNzMyLTYxLjY2LTI5LjAxMSAxMy41LTI5LjAxMiAxMy41MDIgNDguMyAzOC4zOTNDMTc0LjA3OCAxODAuMjY2IDE1MSAyMTUuNDk0IDE1MSAyNTZjMCA0NC4yOTYgMjcuNTkzIDgyLjI4NyA2Ni40ODggOTcuNjgybC00NC4wNDcgNDMuMDY0IDMwLjI0MyAxMC40NjEgMzAuMjQyIDEwLjQ2MS04LjAyNC02MS4wNzRBMTA0LjYxMiAxMDQuNjEyIDAgMCAwIDI1NiAzNjFjNTcuODgzIDAgMTA1LTQ3LjExNyAxMDUtMTA1IDAtOC44LTEuMDk2LTE3LjM0OS0zLjE0Ni0yNS41MjNsNTcuODkyIDEwLjMwOC0uNjEzLjA1OUExNjAgMTYwIDAgMCAxIDQxNiAyNTZhMTYwIDE2MCAwIDAgMS05Ni43IDE0Ni43NDRsMjEuODg3IDUwLjczOEMzMTUuMDcyIDQ2NC43NDcgMjg2LjI3NiA0NzEgMjU2IDQ3MWEyMTYuMjUyIDIxNi4yNTIgMCAwIDEtNDQuNTQzLTQuNjIzbC03Ljc3My01OS4xNy00Mi42ODggNDEuNzM2YTIxNS40NjQgMjE1LjQ2NCAwIDAgMS02My41Mi00Ny42M2w0MC43LTM3LjMxQTE2MCAxNjAgMCAwIDEgOTYgMjU2YTE2MCAxNjAgMCAwIDEgNDYuOTM0LTExMy4wNjZsLTM5LjAwMi0zOS4wMDJhMjE1LjY0OCAyMTUuNjQ4IDAgMCAxIDM3Ljg2Ny0zMC4xNjZsNDYuNjggMzcuMTAxIDEuNjczLTU5LjYwM0MyMTAuOTAyIDQ0LjYwNyAyMzMuMDI0IDQxIDI1NiA0MXptMCAxMjhjMzAuMzMgMCA1Ni45NjIgMTUuNDEzIDcyLjUyNSAzOC44NTRsLTQxLjgwMiAzOS4wMjcgNTYuMjY1IDEwLjAyQzM0Mi41MDcgMzA0LjYzNyAzMDMuODU1IDM0MyAyNTYgMzQzYy0xLjAxMyAwLTIuMDItLjAyNS0zLjAyMy0uMDU5bC03LjQ1LTU2LjctNDAuOTMgNDAuMDE1QzE4Mi45OTggMzEwLjQ0NyAxNjkgMjg0LjkwMyAxNjkgMjU2YzAtMjUuNzA4IDExLjA3NS00OC43NTUgMjguNzIzLTY0LjY2Mmw0NC43NiAzNS41OCAxLjYwNS01Ny4xMDdjMy44OTQtLjUzIDcuODY5LS44MTEgMTEuOTEyLS44MTF6bTAgNTVhMzIgMzIgMCAwIDAtMzIgMzIgMzIgMzIgMCAwIDAgMzIgMzIgMzIgMzIgMCAwIDAgMzItMzIgMzIgMzIgMCAwIDAtMzItMzJ6IiBmaWxsPSIjZmZmIiBmaWxsLW9wYWNpdHk9IjEiPjwvcGF0aD48L2c+PC9zdmc+
data:image/svg+xml;base64,PHN2ZyBzdHlsZT0iaGVpZ2h0OiA1MTJweDsgd2lkdGg6IDUxMnB4OyIgeG1sbnM9Imh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnIiB2aWV3Qm94PSIwIDAgNTEyIDUxMiI+PGcgY2xhc3M9IiIgc3R5bGU9IiIgdHJhbnNmb3JtPSJ0cmFuc2xhdGUoMCwwKSI+PHBhdGggZD0iTTIzNi4zNzUgMzQuNWwtMTguNTMgMi40MDYgNS4wNiAzOS40MDdjLTkuMTE0IDEuOTczLTE4LjIyIDQuNjU3LTI3LjI4IDguMDYybC05LjUtNDAuMTU2LTE4LjE4OCA0LjMxIDEwLjI1IDQzLjM0NWMtOC40NDMgNC4xMDUtMTYuODI1IDguODctMjUuMDkzIDE0LjM0NGwtMTcuMjgtNDIuODc2LTE3LjMxNCA2Ljk2OCAxOS4wMyA0Ny4yMmMtNS4wMTggNC4wMDMtOS43NTggOC4xNTUtMTQuMjUgMTIuNDY4TDg5LjQ3IDg5LjYyNWwtMTQuMzQ1IDEyIDM1LjIyIDQyLjA2M2MtNC42NzUgNS40MjUtOS4wMSAxMS4wMjItMTIuOTcgMTYuNzhMNTMuNDcgMTMzLjVsLTkuNzgyIDE1LjkzOCA0My44NzQgMjYuOTA2Yy0zLjcwNSA2LjY5NC02Ljk2MiAxMy41NTgtOS44MTIgMjAuNTNsLTQ3LjUzLTEyLjgxLTQuODQ1IDE4LjA2TDcxLjUgMjE0LjUzMmMtMy41OSAxMS45MzItNi4wMyAyNC4xLTcuMzQ0IDM2LjM0NWwtMzkuNjU2LTIuMjUtMS4wMyAxOC42ODggMzkuNTYgMi4yMThjLS4xOCAxMS44MDQuNjU0IDIzLjU4OCAyLjQ3IDM1LjE5TDMxLjM3NSAzMTFsMy4zNzUgMTguMzc1IDM0LjQ3LTYuMzQ0YzIuODg1IDExLjUyNCA2Ljc0IDIyLjc4MiAxMS41NiAzMy41OTVsLTI2LjMxIDExLjk3IDcuNzUgMTcgMjctMTIuMjgzYzUuOTYgMTAuNTM4IDEyLjkwNSAyMC41MzQgMjAuNzggMjkuODEzbC0yMC41MyAxNi44MTMgMTEuODQzIDE0LjQ2OCAyMS41LTE3LjYyNWM4LjkwNSA4LjU5NCAxOC43MjQgMTYuMzU0IDI5LjQwNiAyMy4xMjZMMTQxLjUzIDQ1NmwxNS41NjQgMTAuMzQ0IDExLjQzNy0xNy4yMmMxMS4xMiA1LjU1OCAyMy4wMTQgMTAuMSAzNS42MjYgMTMuNDdsMy41NjMtMTcuNzJjLTEwLjMxNS0yLjc3LTIwLjA1NS02LjM5LTI5LjE5LTEwLjgxMmw3LjQ3LTExLjI1LTE1LjU2My0xMC4zNDMtOC4yOCAxMi40NjdjLTkuMTItNS44MDctMTcuNTA2LTEyLjQ1Ni0yNS4xNTctMTkuNzhsMTMuOTA2LTExLjQwNy0xMS44NDQtMTQuNDM4LTE0Ljg0MyAxMi4xNTdjLTYuNzY0LTguMDktMTIuNzc4LTE2Ljc1Ni0xOC0yNS45MDhsMjIuNS0xMC4yNS03Ljc1LTE3LTIzLjE5IDEwLjU2M2MtNC4xOTMtOS40MjgtNy42Mi0xOS4yMDgtMTAuMjE4LTI5LjIybDMyLjMxMy01Ljk2Ny0zLjM3NS0xOC4zNzUtMzIuNzIgNi4wM2MtMS41ODYtMTAuMTU4LTIuMzQ3LTIwLjQ1Ni0yLjI1LTMwLjc4bDQwLjAzMiAyLjI1IDEuMDYzLTE4LjY1Ny0zOS45Ny0yLjI1Yy43My02LjU0IDEuODA1LTEzLjA3IDMuMjUtMTkuNTMgNC4yMjYuNTcyIDkuMTYgMS4xNzYgMTUuMDY0IDEuODQzIDE0LjMyNiAxLjYxNiAzMi44MzUgMy40NDYgNTEuMTU1IDUuMTg2IDI5Ljk4IDIuODQ4IDQ5LjYzOCA0LjUzMyA1OS4zNzUgNS4zNzVsLTMzLjA2MyA3Mi4zNDUtNS43OCAxMi42NTYgMS4zNDMuMDY0TDIzNC41NjMgMzY1bDkuNDA2LTE2LjE1Ni0yOS45NC0xNy4zNzUgNTEuNzgyIDIuMDkyLjc1LTE4LjY4Ny00OS4zNDMtMiAzMy41OTMtMTMuMjItNi44NDQtMTcuNDA1LTM1LjQwNyAxMy45MzhMMjM0IDI0MC41M2w1LjUtMTIuMDYtMTMuMjItMS4xMjZzLTM1Ljg4LTMuMDYyLTcyLjQwNS02LjUzYy0xOC4yNjMtMS43MzYtMzYuNjk2LTMuNTY1LTUwLjgxMy01LjE1OC00LjYxOC0uNTItOC41Mi0xLjAxNC0xMi4wMy0xLjQ3IDkuODMtMjkuMDE3IDI3LjQ3NC01Ni4yMyA1My44MTItNzguNWwyMC45MzcgNTIgMTcuMzQ1LTctMjIuODc1LTU2Ljc1Yy4yOTYtLjIwMi41NzgtLjQyLjg3NS0uNjI0IDcuMTEtNC44NCAxNC4yNzgtOS4wOTYgMjEuNDctMTIuODEybDE4Ljg3NCA3OS45MDYgMTguMTg2LTQuMjgtMTkuNzItODMuNWM4LjQzMi0zLjMyNiAxNi44Ny01Ljk1IDI1LjMxNC03Ljg3NmwxMS43OCA5MS43NSAxOC41MzItMi4zNzUtMTEuODc1LTkyLjUzYzguOTY0LTEuMDEyIDE3Ljg5Ni0xLjI0NyAyNi43NS0uODE0bDMgOTYuMTkgMTguNjg4LS41OTUtLjM0NC0xMS4yNSAzNC4yMiAzOS4yOC0zNy4yOCAxNy4wNjQgNy43OCAxNyAzMi4zMTMtMTQuNzgyLTE1LjY4OCAzMi4zNDMgMTYuODEzIDguMTlMMzUzLjM0NCAyMjZsMi43Mi01LjU2My00LjA2NC00LjY1Ni00MS4zNzUtNDcuNDY4IDUwLjUzLTQ3Ljg0M2MyMy43OCAxNS4wMDYgNDUuNDI4IDM1LjE4IDYzLjUzMyA1OS4zNDMtMjMuODE0IDYuMTQtNDQuMDIyIDI0LjE1My01MC42ODggNTMuNzE4bDQ3IDEwMy4wNjQgMTYuODc1LTIuNDA2LTI2LjkzOC02OC42MjUgMTcuNDA3LTYuODQ0IDI4LjU2MiA3Mi43NSAzNC44MTMtNS04LjQwOC0xMzguNjI2Yy0xMS43Ni02LjU1LTI0LjYzNy05Ljk5Mi0zNy4zMTItMTAuMzc1LTQuNTg1LTYuNjUtOS40MS0xMy4wNS0xNC40Ny0xOS4xOWwxOC41NjQtMTguNjg2LTEzLjI1LTEzLjE1Ni0xNy43MiAxNy44MTJjLTUuMDc0LTUuMzU1LTEwLjM1LTEwLjQ0LTE1Ljc4LTE1LjI4bDE4LjEyNS0yNy4zMTQtMTUuNTk1LTEwLjMxMi0xNyAyNS42NTZjLTYuMDQ3LTQuNjI1LTEyLjI4LTguOTI3LTE4LjY1Ni0xMi45MDZsMTAuNTYtMzEuODQ0LTE3Ljc1LTUuODc1LTkuMzc0IDI4LjI4Yy03LjE0Ni0zLjY2NC0xNC40Ni02LjkyMy0yMS45MDYtOS43NWwzLjE1Ni0zMy42ODYtMTguNjI1LTEuNzUtMi43NSAyOS41Yy04LjE4Mi0yLjI1LTE2LjQ5Ny0zLjk1Ni0yNC45MDUtNS4xMjZsLS45MzgtMzAuMTg4TDI2OSA0NC4yMmwuODc1IDI3LjkzNmMtMS42NjQtLjA2NC0zLjMzLS4xMDUtNS0uMTI1LTEuMTktLjAxMy0yLjM3LS4wMDctMy41NjMgMC02LjYzMy4wNS0xMy4yOS40NTUtMTkuOTY4IDEuMjJsLTQuOTctMzguNzV6bTUyLjg0NCA1OC4yMmM3LjU5NyAxLjIyMiAxNS4xMSAyLjk1MiAyMi41MyA1LjE1NWwtNC40MzggNDcuNDA2LjQwNy4wMzItMTYuMzc2IDE1LjUtMi4xMjUtNjguMDkzem00MC43MTcgMTEuNTZjNC44MDcgMS45NzcgOS41NjUgNC4xNTYgMTQuMjUgNi41MzJsLTE2LjMxMiAxNS40MzggMi4wNjMtMjEuOTd6TTQ0MS41IDE5NS41Yy43ODYtLjAyMyAxLjU3Mi4wMDYgMi4zNzUuMDYzIDEyLjg1Mi45IDIyLjM0IDExLjg0MyAyMS40MzggMjQuNjg3LS45MDIgMTIuODQtMTEuODM2IDIyLjM0LTI0LjY4OCAyMS40MzgtMTIuODUyLS45MDItMjIuMzQtMTEuODQ4LTIxLjQzOC0yNC42ODguODQ1LTEyLjAzNyAxMC41Mi0yMS4xNTIgMjIuMzEzLTIxLjV6TTMyOC4yNSA0MzkuNTYzYy01LjI4OCAxLjYxLTEwLjQ4OCAzLjAyMi0xNS42MjUgNC4yOGw0IDE4LjI4MmM1LjYzLTEuMzU2IDExLjMyMi0yLjkgMTcuMDk0LTQuNjU2bC01LjQ3LTE3LjkwOHptLTMzLjkwNiA4LjA5M2MtNy4xNSAxLjIyNy0xNC4xNDUgMi4xLTIwLjk3IDIuNjU2bC4zNzYgMTguNTMyYzguMDA1LS41NiAxNi4yMDItMS41MTYgMjQuNTYzLTIuOTM4bC0zLjk3LTE4LjI1ek0yMjYgNDQ4Ljc1bC0zLjU5NCAxNy43OGMxMC40NjQgMS43NiAyMS4zNTYgMi43NSAzMi42NTYgMi44NzZsLS4zNzUtMTguMzQ0Yy05Ljk2LS4wNi0xOS41MTUtLjg3LTI4LjY4Ny0yLjMxMnoiIGZpbGw9IiNmZmYiIGZpbGwtb3BhY2l0eT0iMSI+PC9wYXRoPjwvZz48L3N2Zz4=
data:image/svg+xml;base64,PHN2ZyBzdHlsZT0iaGVpZ2h0OiA1MTJweDsgd2lkdGg6IDUxMnB4OyIgeG1sbnM9Imh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnIiB2aWV3Qm94PSIwIDAgNTEyIDUxMiI+PGcgY2xhc3M9IiIgc3R5bGU9IiIgdHJhbnNmb3JtPSJ0cmFuc2xhdGUoMCwwKSI+PHBhdGggZD0iTTY4Ljc5IDE5LjVsNTcuNTEgNjloMjMuNGwtNTcuNDktNjl6bTE4NS4zMSAwbDU5LjQgMTc4LjNjNS41LTIuMSAxMS4yLTQgMTctNS43TDI3MyAxOS41em0tOTIuMiA4My43bC0yLjUgMjUuMSA5MC43IDEwOC44YzQuNC00LjEgOS03LjkgMTMuOC0xMS41em0tNzguNDUgMy4zbDE0LjE5IDE0MkgxMjkuNGwxNC4yLTE0MnptMzAyLjA1IDk2Yy0zLjIgMC02LjQuMS05LjYuMkwzNjEgMjUzLjhsNDYuOS0yMS41LTMgNDMuMSA0MC41IDEyLjQtNDcuMiAzMi4yIDI3IDM2LjgtNTEuOCAxMS42IDguMyA1My42LTc0LjMtNDQuMiA4LjktNzAuOC0yOC40LTQ0LjcgNTguOS01NS43Yy03NS44IDE2LjItMTM0IDc5LjMtMTQzLjEgMTU3LjZsNDEuNS02MS40IDM4LjcgMTA0LjUtMjkuOSAxMi41IDgwLjQgNDAuNS02OC4yIDE2LjUtNTItMjYuNmM1LjcgMTUuMiAxMy40IDI5LjQgMjIuNyA0Mi4zaDE1MC4ybDc4LjUtNjUuMi00NS42LTM2IDQ1LjctMjQuOCAyNi44IDE0LjJWMjM3Yy0zMC4xLTIxLjctNjctMzQuNS0xMDctMzQuNXptLTI3MiA2NGMtMTIuOCAwLTIzIDEwLjItMjMgMjNzMTAuMiAyMyAyMyAyMyAyMy0xMC4yIDIzLTIzLTEwLjItMjMtMjMtMjN6bS05NCAxMS4xdjE4LjdsNjAuMTEgMTYuMmMtNC4wNS02LTYuNTgtMTMtNy4wMy0yMC42em0yNjguNCA3LjNsNC4yIDQyLjEtMTQuMSAyNS41LTE1LjMtNTEuMnpNNDYzLjUgMzAzbC0xNS40IDQzLjQtMTkuNy0yNC45em0tMzE1LjkgOS4xYy00IDYuMS05LjcgMTEuMS0xNi4zIDE0LjNsNTcuOSAxNS42YzEuNC01LjkgMi45LTExLjcgNC43LTE3LjR6bTE3MS4xIDg3LjFsMjkuNyAyMy41LTE4LjMgMjUuNHptLTEzMS40IDIwYy0yLjMuNS00LjUgMS02LjkgMS41LTY5LjkgMTUuNS0xMjYuMiAyOC4yLTE2MC45IDM1Ljl2MTguNWMzMi45LTcuNCA5MS43LTIwLjUgMTY0LjgtMzYuOCAyLjMtLjUgNC41LTEgNi44LTEuNS0xLjUtNS44LTIuOC0xMS43LTMuOC0xNy42em0xNzUuMyA5LjRsNDIuOSAxNS45LTMyLjMgMTIuMnoiIGZpbGw9IiNmZmYiIGZpbGwtb3BhY2l0eT0iMSI+PC9wYXRoPjwvZz48L3N2Zz4=
data:image/svg+xml;base64,PHN2ZyB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIHZpZXdCb3g9IjAgMCA1MTIgNTEyIiBzdHlsZT0iaGVpZ2h0OiA1MTJweDsgd2lkdGg6IDUxMnB4OyI+PGcgY2xhc3M9IiIgdHJhbnNmb3JtPSJ0cmFuc2xhdGUoMCwwKSIgc3R5bGU9InRvdWNoLWFjdGlvbjogbm9uZTsiPjxwYXRoIGQ9Ik0xMjEuODQ0IDE4LjIyYy0xMC4yNDggNDYuNS01Ljc1MyA4Ni41OTggNy41NjIgMTIxIDMxLjcyMiAzNS41MDMgNzQuNzggNjAuMzY3IDExOS41IDg0LjQwNS0xNS4xNDQtMTQuNzI3LTI5LjUtMjkuMjk0LTQxLjk3LTQ0LjE4OGg3Mi45NGM1LjMxOC02LjE5NyAxMC4yNjctMTIuNDI1IDE0LjgxMi0xOC42ODdIMTkyLjVjLTQuOTQ2LTcuMDM1LTkuMzk3LTE0LjE4LTEzLjI1LTIxLjUtMi4wMzYtMy44NjctMy45MjYtNy43OC01LjY1Ni0xMS43NWgxNDAuNTk0YzIuNzMtNi4wODcgNS4wMzItMTIuMjcgNi44NzUtMTguNjg4aC0xNTQuMjJjLTMuNDUzLTEyLjE2LTUuMzI2LTI1LjEyNy01LjIxOC0zOS40MzdoMTY0LjI1Yy0uMTc2LTUuOTQ4LS43MDgtMTIuMTY4LTEuNjU2LTE4LjcySDE2Mi44NDNjMS4yMDItMTAuMDkzIDMuMjktMjAuODY2IDYuNDM3LTMyLjQzNmgtNDcuNDM2em0yMTYuMDMgMGMxMC4wMzMgMzYuODM2IDkuNjE2IDY1LjQ0IDIuNDcgOTAuNTkzaC0uMTU2Yy0zLjIxNSAxMy4zNC04LjE1OCAyNS43MjMtMTQuMzc1IDM3LjUzLTE1LjcwOCAyOS44MzMtNDAuMTk1IDU2LjE5Ny02Ny4wOTQgODIuNTMyIDEyLjc1IDYuODA2IDI1LjU2NyAxMy42MDcgMzguMjUgMjAuNjI1IDI2LjczLTI2LjE2NyA1Mi44LTU0LjE4NSA3MS4wMy04OC44MTMgMjAuNDYzLTM4Ljg3IDI5LjgzLTg1Ljk0NSAxNy4zNzUtMTQyLjQ2OGgtNDcuNXptLTEyOSAyNTMuODFjLTIwLjMzOCAyMS4yMTItMzkuNDUyIDQ0LjM0NC01My45MzYgNzEuNjktMjEuMzI2IDQwLjI2LTMxLjExIDg5Ljk1OC0xOS40MzggMTQ5LjQ2N2g0NS42MjVjLTUuMDM2LTIyLjE1LTYuNDgtNDIuODQ1LTUuMDMtNjIgLjQ1OC03LjQ2OCAxLjM4LTE0LjYwNiAyLjc1LTIxLjQ2OEgxNzljMS4yNzgtNi40MzUgMi44OTYtMTIuNjYzIDQuODEzLTE4LjY5LjAyNC0uMDcuMDM4LS4xNDUuMDYyLS4yMTcgMy4wMjUtOS40NyA2Ljc5Ni0xOC40NCAxMS4xODgtMjYuODc1IDE0Ljk2LTI4LjczIDM1Ljg2LTUxLjM0IDU2LjUtNzEuODEzLTE0LjEwNy02Ljc0LTI4LjQ0Ni0xMy4zMjYtNDIuNjg4LTIwLjA5NHptNDcuNTk1IDIyLjQ3YzE0LjQzNyAxNC41NSAyNy44OCAyOS4xOTYgMzkuMTg2IDQ0LjU2M2gtNjEuODEyYy00Ljc5OCA1Ljk4Mi05LjMzNyAxMi4xOTUtMTMuNTMgMTguNjg3aDg3Ljc1YzEuNDQ1IDIuNDUgMi44MzIgNC45NCA0LjE1NSA3LjQzOCA0LjM4OCA4LjI4NyA4LjE0NyAxNi44NSAxMS4xNTUgMjUuODQzSDIwMy41Yy0yLjE4NCA1Ljk4LTQuMDA3IDEyLjIxOC01LjQ3IDE4LjY5aDEzMC4zMTRjMi40MjggMTIuMTczIDMuNTI1IDI1LjIxIDIuOTM3IDM5LjQzNkgxOTQuMTljLjEzNyA2LjA1LjU4IDEyLjI4IDEuMzc1IDE4LjY4OGgxMzQuMDYyYy0xLjA3MiA4LjA2Mi0yLjY1IDE2LjQ5Ni00Ljc1IDI1LjM0NGg0Ni44MTNjOS41MzMtNDguNjE4IDQuNzM2LTkwLjY4Mi04Ljk3LTEyNi40MDctMjguNDQzLTMxLjg0OC02Ni4yNzYtNTIuOTctMTA2LjI1LTcyLjI4eiIgZmlsbD0iI2ZmZiIgZmlsbC1vcGFjaXR5PSIxIj48L3BhdGg+PC9nPjwvc3ZnPg==
data:image/svg+xml;base64,PHN2ZyBzdHlsZT0iaGVpZ2h0OiA1MTJweDsgd2lkdGg6IDUxMnB4OyIgeG1sbnM9Imh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnIiB2aWV3Qm94PSIwIDAgNTEyIDUxMiI+PGcgY2xhc3M9IiIgc3R5bGU9InRvdWNoLWFjdGlvbjogbm9uZTsiIHRyYW5zZm9ybT0idHJhbnNsYXRlKDAsMCkiPjxwYXRoIGQ9Ik00MTUuMDMgMTcuNTYzYy00Ljg5IDMuNjEtOS40MjMgNy43OTMtMTMuNSAxMi42NTYtMTMuMDk2IDE1LjYyNC0yMC44MjggMzcuNTEzLTIxLjQzNiA2Ni43OC0yMC4zOTctMTEuOTU2LTQyLjgyMy0xNi44MzgtNjQuNTYzLTE2LjAzLTIyLjgxLjg0NS00NC44NzYgNy45NDYtNjMgMTkuNjU1LTIwLjcxIDEzLjM4Mi0zNi42NjMgMzMtNDIuNSA1Ni42MjUtNC43MjIgMTkuMTItMi40ODQgNDAuNTcgOC40NCA2Mi4xODgtNS44MDMtLjM3NS0xMS40NC0uNTY3LTE2LjkwNy0uNTYzLTEuNjQyIDAtMy4yNjUuMDI3LTQuODc1LjA2My0zOC42NS44NDgtNjguNDg0IDExLjQzNC04Ny40MzggMzEuOTA2LTIyLjQ3NiAyNC4yNzUtMjcuMTEgNjAuNzItMTQuMjggMTA0LjQwNi0yNS45NC02LjI5My01Mi4xMTItNS40Ni03NS45MDcgNS40MDZ2NDAuOTA2YzUuODUtNC45NCAxMy4wNC05LjIxMyAyMS41NjItMTIuNjg3aC4wM2w4MS4yMiA1NS4wOTRjLjAyLjc2LjAzMiAxLjUzLjAzIDIuMjgtLjAxNCAxMy41MjItMi45NTIgMjQuODM1LTguNzggMzQuMzc1bC05NC4wNjMtNjUuMDN2MjIuNzE3bDc4LjkwNyA1NC41MzJoMjkuMzc0YzguNzA3LTEzLjIxMyAxMy4yMy0yOS4wNzIgMTMuMjUtNDYuNTYzLjAyLTE4LjM2Ny00LjYzNy0zOC41NzMtMTMuODEzLTYwLjQzNiA1MS42NjMgMTYuMTggOTcuNzY1IDMuMzQ4IDEyMy43ODItMjYuMzQ0IDI1LjIxOC0yOC43OCAzMC4xNDUtNzIuNzQyIDUuNjU3LTExNS44NzUgMzQuODcgNS40OTYgNjQuNjEgNC4xMSA4OC4yOC00LjM0NGwuMjIuMzE0IDEuMDkyLS43OGM4LjUyNy0zLjE3IDE2LjI1OC03LjI2IDIzLjEyNS0xMi4zMTQgMjUuNTA4LTE4Ljc3IDM2Ljg2LTUwLjE2NyAzMy4wOTQtODkuNjI1IDI4LjM4NSAxOC43MDYgNjEuMjU3IDIxLjkwNiA5Mi4zMTQgMTguODEzVjgxLjI1bC0yMy4yNS02My42ODhINDE1LjAzem0zNy4xOSAyLjg3NWwzNi41MyA5OS45MzdjLTguNTg1Ljc5LTE3Ljk0NC43Ni0yOC0uMDYzbC0zMy45MzgtODguMjE4YzcuMzMzLTUuMjc0IDE1LjkwNi05LjA0NSAyNS40MDctMTEuNjU3ek00MTIuNDM2IDQ2Ljc1bDI3LjIyIDcwLjc4Yy0xMi42OTItMi4yNDUtMjYuMjYtNS41OC00MC42NTctMTAuMTU1LTEuMDYyLTI4LjE5OCA0LjM0NC00Ny4zNzggMTMuNDM4LTYwLjYyNXptLTc1LjYyNSA2OS42ODhjMTMuNC42NTQgMjguMTc1IDIuNjggNDQuMDk0IDYuMDkzIDQuMzY1IDIxLjgxNCA0LjI0OCAzOS45NjguMTU2IDU0Ljc1bC00NC4yNS02MC44NDN6bS0yMi45MDYuMjhsNTguMjIgODAuMDMyYy0zLjg4IDUuNjYzLTguNjM0IDEwLjU1NS0xNC4yNSAxNC42ODgtMi4xOTggMS42MTYtNC41NTUgMy4xMDYtNy4wNjMgNC41bC02Ni42MjUtOTMuMzEzYzguNjYyLTMuMDEgMTguNTktNS4wMTYgMjkuNzE4LTUuOTA2em0tNDYuODEyIDE0LjEyNkwzMzMgMjIzLjE4OGMtOS4wMyAyLjU4LTE5LjMwNyA0LjEzNC0zMC43NSA0LjU5M0wyNDcuMDk0IDE1MmM0LjMwMi03LjU3IDEwLjAyNC0xMy45MTUgMTcuMDYyLTE5LjA5NC45NS0uNyAxLjkzLTEuNDAzIDIuOTM4LTIuMDYyem0tMjcuNjg4IDQyLjQwNmwzOS4zMTMgNTQuMDNjLTEwLjgzNS0uODQ4LTIyLjQ3Mi0yLjUzLTM0Ljg3Ni01LjA5M2wtLjA2My0uMTU2LTEuNTMtLjE4NmMtLjMxNC0uMDY3LS42MjMtLjEyLS45MzgtLjE4OC0uMjAzLS4zMDUtLjM5NC0uNi0uNTkzLS45MDYtMy41NTUtMTguMzg3LTMuOS0zNC4xNzMtMS4zMTQtNDcuNXptLTM4LjI1IDY0LjQwNmM4Ljk5LS4wMTYgMTguNzEuNTg4IDI4LjkzOCAxLjY4OCA1LjU3IDE1Ljc5NSA4LjY5MiAyOS45OCA5LjU5NCA0Mi42MjVsLTQ2LjYyNS00NC4xMjZjMS40MTQtLjA2MyAyLjgzMi0uMTIzIDQuMjgtLjE1NiAxLjI1NC0uMDMgMi41My0uMDMgMy44MTMtLjAzMnptLTMyLjMxMiAyLjk3bDY5LjUgNjUuNzhjLTIuMzMgMTEuNDY3LTcuMTQgMjEuMDg2LTE0LjE1NiAyOC44NzVsLTg2LjUzMi04My40MDVjOC41NS01LjAyMyAxOC45NTUtOC44MzcgMzEuMTg4LTExLjI1em0tNDUuOTM4IDIyLjk2OGw4Ni42MjUgODMuNTNjLTcuOTI1IDQuNzEtMTcuNDg1IDguMzczLTI4LjY1NSAxMC44MTNsLTcxLjAzLTY3LjI1LTEuNDcgMS41NjNjMi40NzUtMTEuMzc0IDcuNDAyLTIwLjkzMyAxNC41My0yOC42NTZ6bS0xNi4zMTIgNDkuNzhsNTAuNDM3IDQ3Ljc1Yy0xMi4yNDYuNzM2LTI1Ljg2Ni4zNTItNDAuODEtMS4yOC02LjA5Ny0xNy40MDMtOS4yLTMyLjg3Ny05LjYyNi00Ni40N3ptLTMuNzggNjUuMTI2YzcuMjQ3IDE0LjUzNCAxMi4zNCAyOC4wNTggMTUuNDM2IDQwLjQzOGwtNTQuMzc1LTM2Ljg0NGMxMS40NjItMi4yNzMgMjQuNDUtMy41MyAzOC45MzgtMy41OTR6bS04My43NSA5MS41NjNsLS4wMDIgMjIuMDMgMS4yMi43NWgzNS40MzdsLTM2LjY1Ny0yMi43OHoiIGZpbGw9IiNmZmYiIGZpbGwtb3BhY2l0eT0iMSI+PC9wYXRoPjwvZz48L3N2Zz4=
data:image/svg+xml;base64,PD94bWwgdmVyc2lvbj0iMS4wIiBlbmNvZGluZz0iVVRGLTgiIHN0YW5kYWxvbmU9Im5vIj8+CjxzdmcKICAgeG1sbnM6ZGM9Imh0dHA6Ly9wdXJsLm9yZy9kYy9lbGVtZW50cy8xLjEvIgogICB4bWxuczpjYz0iaHR0cDovL2NyZWF0aXZlY29tbW9ucy5vcmcvbnMjIgogICB4bWxuczpyZGY9Imh0dHA6Ly93d3cudzMub3JnLzE5OTkvMDIvMjItcmRmLXN5bnRheC1ucyMiCiAgIHhtbG5zOnN2Zz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciCiAgIHhtbG5zPSJodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2ZyIKICAgeG1sbnM6c29kaXBvZGk9Imh0dHA6Ly9zb2RpcG9kaS5zb3VyY2Vmb3JnZS5uZXQvRFREL3NvZGlwb2RpLTAuZHRkIgogICB4bWxuczppbmtzY2FwZT0iaHR0cDovL3d3dy5pbmtzY2FwZS5vcmcvbmFtZXNwYWNlcy9pbmtzY2FwZSIKICAgaW5rc2NhcGU6dmVyc2lvbj0iMS4wICg0MDM1YTRmYjQ5LCAyMDIwLTA1LTAxKSIKICAgc29kaXBvZGk6ZG9jbmFtZT0iZHJvcC5zdmciCiAgIGlkPSJzdmc2IgogICB2ZXJzaW9uPSIxLjEiCiAgIHZpZXdCb3g9IjAgMCA1MTIgNTEyIgogICBzdHlsZT0iaGVpZ2h0OiA1MTJweDsgd2lkdGg6IDUxMnB4OyI+CiAgPG1ldGFkYXRhCiAgICAgaWQ9Im1ldGFkYXRhMTIiPgogICAgPHJkZjpSREY+CiAgICAgIDxjYzpXb3JrCiAgICAgICAgIHJkZjphYm91dD0iIj4KICAgICAgICA8ZGM6Zm9ybWF0PmltYWdlL3N2Zyt4bWw8L2RjOmZvcm1hdD4KICAgICAgICA8ZGM6dHlwZQogICAgICAgICAgIHJkZjpyZXNvdXJjZT0iaHR0cDovL3B1cmwub3JnL2RjL2RjbWl0eXBlL1N0aWxsSW1hZ2UiIC8+CiAgICAgICAgPGRjOnRpdGxlPjwvZGM6dGl0bGU+CiAgICAgIDwvY2M6V29yaz4KICAgIDwvcmRmOlJERj4KICA8L21ldGFkYXRhPgogIDxkZWZzCiAgICAgaWQ9ImRlZnMxMCIgLz4KICA8c29kaXBvZGk6bmFtZWR2aWV3CiAgICAgaW5rc2NhcGU6Y3VycmVudC1sYXllcj0ic3ZnNiIKICAgICBpbmtzY2FwZTp3aW5kb3ctbWF4aW1pemVkPSIxIgogICAgIGlua3NjYXBlOndpbmRvdy15PSItOCIKICAgICBpbmtzY2FwZTp3aW5kb3cteD0iLTgiCiAgICAgaW5rc2NhcGU6Y3k9IjI1NiIKICAgICBpbmtzY2FwZTpjeD0iMjU2IgogICAgIGlua3NjYXBlOnpvb209IjEuNjYwMTU2MiIKICAgICBzaG93Z3JpZD0iZmFsc2UiCiAgICAgaWQ9Im5hbWVkdmlldzgiCiAgICAgaW5rc2NhcGU6d2luZG93LWhlaWdodD0iMTAxNyIKICAgICBpbmtzY2FwZTp3aW5kb3ctd2lkdGg9IjE5MjAiCiAgICAgaW5rc2NhcGU6cGFnZXNoYWRvdz0iMiIKICAgICBpbmtzY2FwZTpwYWdlb3BhY2l0eT0iMCIKICAgICBndWlkZXRvbGVyYW5jZT0iMTAiCiAgICAgZ3JpZHRvbGVyYW5jZT0iMTAiCiAgICAgb2JqZWN0dG9sZXJhbmNlPSIxMCIKICAgICBib3JkZXJvcGFjaXR5PSIxIgogICAgIGJvcmRlcmNvbG9yPSIjNjY2NjY2IgogICAgIHBhZ2Vjb2xvcj0iIzAwMDAwMCIgLz4KICA8ZwogICAgIGlkPSJnNCIKICAgICB0cmFuc2Zvcm09InRyYW5zbGF0ZSgwLDApIgogICAgIHN0eWxlPSJ0b3VjaC1hY3Rpb246IG5vbmU7IgogICAgIGNsYXNzPSIiPgogICAgPHBhdGgKICAgICAgIGlkPSJwYXRoMiIKICAgICAgIGZpbGwtb3BhY2l0eT0iMSIKICAgICAgIGZpbGw9IiNmZmYiCiAgICAgICBkPSJNMjYzLjg0NCA0MC4zNDRDMjM0LjEgMjEzLjIwMiAxNDUuNTk0IDI0OC4wMyAxNDUuNTk0IDM2OS4yMmMwIDYwLjgwNCA2MC4xMDYgMTA1LjUgMTE4LjI1IDEwNS41IDU5LjQ1IDAgMTE1LjkzNy00MS44MDMgMTE1LjkzNy05OS41MzMgMC0xMTYuMzMyLTg1LjItMTYyLjMxMi0xMTUuOTM2LTMzNC44NDN6bS01OC4yOCAyMTcuMDk0Yy0yNy45NjMgNzUuNTMtNS4xMDUgMTU0LjU2NyA1NC4yNSAxNzkuMzc1IDE1LjE4NSA2LjM0OCAzMS43MjQgNy43MTQgNDcuOTA1IDYuMjgtMTE2LjEzNCA0OS43ODctMTg1LjgzNi03OS44MTYtMTAyLjE1OC0xODUuNjU2eiIgLz4KICA8L2c+Cjwvc3ZnPgo=
data:image/svg+xml;base64,PHN2ZyB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIHZpZXdCb3g9IjAgMCA1MTIgNTEyIiBzdHlsZT0iaGVpZ2h0OiA1MTJweDsgd2lkdGg6IDUxMnB4OyI+PGcgY2xhc3M9IiIgdHJhbnNmb3JtPSJ0cmFuc2xhdGUoMCwwKSIgc3R5bGU9InRvdWNoLWFjdGlvbjogbm9uZTsiPjxwYXRoIGQ9Ik0xMDcuMTU2IDE3LjcyYy0yMi41MTUgMTMwLjg1Mi04OS41IDE1Ny4yMjctODkuNSAyNDguOTY4IDAgNDYuMDMgNDUuNDg1IDc5Ljg0MyA4OS41IDc5Ljg0MyAxLjcgMCAzLjQwMi0uMDY2IDUuMDk0LS4xNTUuODItNi40NyAxLjg3NS0xMi43NCAzLjEyNS0xOC44NDQtMi45NjIuMzktNS45OTUuNTk1LTkuMDYzLjU5NS0zOC41MSAwLTY5LjY1Ni0zMS40ODgtNjkuNjU2LTcwLjcyIDAtMzkuMjMgMzEuMTQ1LTcwLjcxNyA2OS42NTYtNzAuNzE3LjU3NiAwIDEuMTQ3LjAxNyAxLjcyLjAzLTE3LjIwNSA5LjQxNy0yOC44NzYgMjguMi0yOC44NzYgNDkuNSAwIDI3LjkyNyAyMC4wNjMgNTEuNSA0Ni4zNDQgNTUuMzQ1IDEwLjU0Mi0yOS4yNzYgMjUuNDM3LTU1LjU0MyA0MS4xMjUtODMuMTI1IDMuMDUzLTUuMzY4IDYuMTQ4LTEwLjgyMiA5LjI1LTE2LjM0NC0yMC45My00NC45NDctNTMuNTcyLTg5LjM1LTY4LjcyLTE3NC4zNzV6bTI5Ni41MzEgMGMtMTQuOTA1IDg2LjYyNC00OS4zMTggMTI3LjQ1NS03MC44NzUgMTcxLjc4IDQuMzM3IDguNCA4LjY2NiAxNi42IDEyLjkwNyAyNC42MjUuMjcuNTE0LjU0IDEuMDE4LjgxIDEuNTMgMTIuNjY0LTE3LjU4MyAzMy4xNDMtMjguOTY4IDU2LjI4My0yOC45NjguNTg1IDAgMS4xNjcuMDE3IDEuNzUuMDMyLTE3LjIxNCA5LjQxMy0yOC45MDcgMjguMTkyLTI4LjkwNyA0OS41IDAgMzAuNTU1IDI0LjA0NSA1NS45MDUgNTMuOTM4IDU1LjkwNSAxNi43MDQgMCAzMS41Ny03LjkgNDEuNDM3LTIwLjIyLTYuNTU3IDMyLjIxNi0zNC41ODUgNTYuMjItNjguMjE3IDU2LjIyLTMuMTYgMC02LjI2Ni0uMjQ1LTkuMzEzLS42NTYgMS40MjUgNi4xMSAyLjY1NCAxMi4zNzggMy42NTYgMTguNzggMi4xOC4xNjMgNC4zNTQuMjggNi41My4yOCA0NS4wMDUgMCA4Ny43NTItMzEuNjQyIDg3Ljc1Mi03NS4zNDIgMC04OC4wNjQtNjQuNDg0LTEyMi44NjMtODcuNzUtMjUzLjQ3ek0yNTYuNzIgNTIuNDdjLTE4LjgxNCA3My4zMy00Ny4wNDcgMTIzLjExLTcxLjY5IDE2Ni40MzYtMjkuNjggNTIuMTg2LTUzLjY4NiA5NC4zMjYtNTMuNjg2IDE2MS4zMTMgMCAzMS40MTIgMTUuNDMyIDU4LjcwNiAzOS4wOTQgNzguNjI0IDIzLjY2IDE5LjkxNyA1NS40NDggMzEuOTA2IDg2LjEyNSAzMS45MDYgMzEuNjYgMCA2Mi43MzMtMTEuMjc4IDg1LjQ2OC0yOS45MDYgMjIuNzM2LTE4LjYyOCAzNy4wOTUtNDQuMDk4IDM3LjA5NS03My43OCAwLTY0LjE5Mi0yMy4yNi0xMDguNDI4LTUyLjEyNS0xNjMuMDY0LTIzLjk1NS00NS4zNC01MS4zNi05Ny42OTItNzAuMjgtMTcxLjUzem0tMS41IDIxMi41NmM2LjQ0OCAwIDEyLjc1LjYyIDE4Ljg3NCAxLjc1LTMxLjEgOC45NzctNTMuODQ0IDM4LjY3NS01My44NDQgNzMuNSAwIDQxLjgyMiAzMi43OCA3Ni4zMTQgNzMuNDcgNzYuMzE0IDI4Ljg1NyAwIDUzLjcyLTE3LjM2OCA2NS43NS00Mi4zNzUtMS43NjMgNTcuMDE1LTQ3LjcxNyAxMDIuMzc0LTEwNC4yNSAxMDIuMzc0LTU3LjY1NCAwLTEwNC4zMTQtNDcuMTgtMTA0LjMxNC0xMDUuNzggMC01OC42MDMgNDYuNjYtMTA1Ljc4MyAxMDQuMzEzLTEwNS43ODN6IiBmaWxsPSIjZmZmIiBmaWxsLW9wYWNpdHk9IjEiPjwvcGF0aD48L2c+PC9zdmc+
data:image/svg+xml;base64,PHN2ZyBzdHlsZT0iaGVpZ2h0OiA1MTJweDsgd2lkdGg6IDUxMnB4OyIgeG1sbnM9Imh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnIiB2aWV3Qm94PSIwIDAgNTEyIDUxMiI+PGRlZnM+PGNsaXBQYXRoIGlkPSJpY29uLWJnIj48cGF0aCBkPSJNMCAwaDUxMnY1MTJIMHoiIGZpbGw9IiMwMDAiIGZpbGwtb3BhY2l0eT0iMCI+PC9wYXRoPjwvY2xpcFBhdGg+PC9kZWZzPjxwYXRoIGQ9Ik0wIDBoNTEydjUxMkgweiIgZmlsbD0iIzAwMCIgZmlsbC1vcGFjaXR5PSIwIj48L3BhdGg+PGcgY2xhc3M9IiIgc3R5bGU9InRvdWNoLWFjdGlvbjogbm9uZTsiIHRyYW5zZm9ybT0idHJhbnNsYXRlKDAsMCkiPjxwYXRoIGQ9Ik0xOTUuNzggMjEuMjVjLjU1OCAzLjU2IDEuNCA3LjAyNiAyLjUgMTAuMzc1LTEwLjQ5NCA3LjkzLTE3LjMxIDIwLjQ4Mi0xNy4zMSAzNC41NjMgMCAyMy44MzQgMTkuNTQgNDMuMzc0IDQzLjM3NCA0My4zNzQgMjEuMTY4IDAgMzguOTE3LTE1LjQxNyA0Mi42MjUtMzUuNTYyIDI1Ljk2Mi00LjU4MiA0Ni4zMDYtMjYuMDIgNTAuNDM2LTUyLjc1aC0xOWMtNC4zMzcgMjAuMjEtMjEuNDUzIDM1LTQxLjgxMiAzNS0yMC4zNiAwLTM3LjQ3Ni0xNC43OS00MS44MTMtMzVoLTE5em0xNzUuMDY0IDEzLjkzOGMtMjUuNDM0IDAtNDYuMjUgMjAuODE1LTQ2LjI1IDQ2LjI1IDAgMTkuMDc1IDExLjY5NyAzNS41NDYgMjguMjggNDIuNTkzLTcuMTEgOS40MTgtMTEuMzEyIDIxLjEzNC0xMS4zMTIgMzMuNzgyIDAgNy43NSAxLjYwNSAxNS4xNDUgNC40NyAyMS44NzUtMTIuNTcgNS4zODQtMjEuNDM4IDE3LjkxLTIxLjQzOCAzMi4zNzUgMCAxOS4zMiAxNS44MzcgMzUuMTU3IDM1LjE1NiAzNS4xNTcgMTguNjg0IDAgMzQuMTYtMTQuODAyIDM1LjE1Ni0zMy4yNS45NTUuMDQ4IDEuOTA4LjA2IDIuODc1LjA2IDMwLjkzNyAwIDU2LjIyLTI1LjI4IDU2LjIyLTU2LjIxOCAwLTI2LjE4Mi0xOC4xMTgtNDguMzE1LTQyLjQzOC01NC41IDMuNTMtNi41MjIgNS41MzItMTMuOTc2IDUuNTMyLTIxLjg3NCAwLTI1LjQzNC0yMC44MTYtNDYuMjUtNDYuMjUtNDYuMjV6bS0xNjMuOTcgMTMuNWM5LjUzNSAxMy41MDggMjQuMDQ3IDIzLjAzNyA0MC44MTQgMjUuNTYyLTMuMyA5LjcyLTEyLjQ0IDE2LjYyNS0yMy4zNDQgMTYuNjI1LTEzLjczNCAwLTI0LjY4OC0xMC45NTMtMjQuNjg4LTI0LjY4OCAwLTYuODgzIDIuNzQ2LTEzLjA1IDcuMjItMTcuNXptMTU3LjY1NyA1LjkwNmMtMS43MyAyLjkyNS0yLjc1IDYuMzIzLTIuNzUgOS45NjggMCAxMC44MzggOC43OSAxOS42MjYgMTkuNjI2IDE5LjYyNiA2LjgxNCAwIDEyLjgyNi0zLjQ3OCAxNi4zNDQtOC43NS40MiAxLjkyNy42NTYgMy45MzguNjU2IDYgMCA4LjM4LTMuNjUgMTUuODM4LTkuNDcgMjAuODc0LTYuNzc0IDEuMDgyLTEzLjE1NCAzLjM3LTE4LjkwNSA2LjY1Ny0xNC45NS0uNDIzLTI2Ljc1LTEyLjQ3LTI2Ljc1LTI3LjUzMiAwLTEzLjE2MyA5LjAwMi0yNC4wMjggMjEuMjUtMjYuODQ0em0tNzcuMzEgNTMuODEyYy0xOS4zMiAwLTM1LjE5IDE1Ljg2OC0zNS4xOSAzNS4xODhzMTUuODcgMzUuMTg3IDM1LjE5IDM1LjE4N2MxOS4zMTggMCAzNS4xODYtMTUuODY3IDM1LjE4Ni0zNS4xODYgMC0xOS4zMi0xNS44NjgtMzUuMTg4LTM1LjE4Ny0zNS4xODh6bTExMC41NiAxMS44NzVjMy45NzggMCA3Ljc4OC42MjIgMTEuMzc2IDEuNzUtOC45NyAzLjE4OC0xNS40MDYgMTEuNzUtMTUuNDA2IDIxLjgxNCAwIDEyLjc4IDEwLjM3NiAyMy4xMjUgMjMuMTU2IDIzLjEyNSA3LjUxNyAwIDE0LjE4LTMuNTc0IDE4LjQwNi05LjEyNi0uMDE2IDIwLjgyLTE2LjcwNSAzNy41LTM3LjUzIDM3LjUtMi41OTUgMC01LjEyMi0uMjU3LTcuNTYzLS43NS01LjE0Ny04Ljg5OC0xNC4wNS0xNS4zNzYtMjQuNS0xNy4xODgtMy40NzMtNS42OTQtNS40Ny0xMi4zOS01LjQ3LTE5LjU5NCAwLTEyLjU1NiA2LjA2LTIzLjYwNSAxNS40MzgtMzAuNDA2IDcuMzE1LS43NyAxNC4xMi0zLjI2IDIwLjAzLTcuMDYyLjY4NS0uMDM3IDEuMzctLjA2MyAyLjA2My0uMDYzem0tMTEwLjU2IDYuODQ1YzkuMjE3IDAgMTYuNSA3LjI1IDE2LjUgMTYuNDcgMCA5LjIxOC03LjI4MiAxNi41LTE2LjUgMTYuNS05LjIyIDAtMTYuNS03LjI4Mi0xNi41LTE2LjUgMC05LjIyIDcuMjgtMTYuNDcgMTYuNS0xNi40N3pNMTkzLjkzNiAxNTQuNWMtMjguNTM0IDAtNTEuODc1IDIzLjM0LTUxLjg3NSA1MS44NzUgMCAyNy4yODIgMjEuMzQ0IDQ5Ljc2NCA0OC4xNTcgNTEuNjg4LTkuNjc4IDE3LjQ1Mi0xNS40NyAzOS4wNjctMTUuNDcgNjIuNS0uMDAyIDMwLjQxIDkuNjA2IDU4LjE1NSAyNC44NDQgNzcuMjVsMTAuMDMgMTIuNTYyLTE1Ljg3NCAyLjVjLTMxLjk0NyA1LjAyOC01Mi4wOSAxNC43MzMtNjUuMzc1IDI4LjM0NC0xMS4xOSAxMS40NjQtMTcuODU0IDI2LjQ3Ni0yMS45NyA0NS4zNDJINDAwLjc1Yy00Ljg4LTE4LjEwNi0xMi4wNzYtMzIuNjQ0LTIzLjE1Ni00My45MDYtMTMuMzEtMTMuNTMtMzIuNTMtMjMuMjA1LTYxLjY1Ni0yOC42ODdsLTE1LjU5NC0yLjk0IDEwLjE1Ni0xMi4xODZjMTUuOTktMTkuMjY1IDI2LjQ3LTQ3LjE4NCAyNi40Ny03OC4yOCAwLTI5Ljk4Mi05LjU2LTU2Ljk2NS0yNC41LTc2LjA5NS0xNC45NDMtMTkuMTMyLTM0Ljg1LTMwLjMxNC01Ni42MjYtMzAuMzE0LTMuNjUgMC03LjI1LjMyNC0xMC43OC45MzguNDg0LTIuODQuNzUtNS43NDcuNzUtOC43MiAwLTI4LjUzNC0yMy4zNC01MS44NzQtNTEuODc2LTUxLjg3NHptLTkuMTU2IDE5LjkzOGMtMS43NDcgMy4yNTUtMi43NSA2Ljk4Mi0yLjc1IDEwLjkzNyAwIDEyLjc4IDEwLjM3NyAyMy4xMjUgMjMuMTU3IDIzLjEyNSA4LjgzNyAwIDE2LjUwOC00LjkzOCAyMC40MDctMTIuMjIgMSAzLjE4IDEuNTMgNi41NyAxLjUzIDEwLjA5NSAwIDYuMzM3LTEuNzQzIDEyLjIzOC00Ljc4IDE3LjI1LTYuMTY1IDMuNjg2LTExLjkyOCA4LjQwNS0xNy4yMiAxNC0zLjQ4NiAxLjIzLTcuMjU3IDEuOTA2LTExLjE4NiAxLjkwNi0xOC40MzUgMC0zMy4xNTctMTQuNzItMzMuMTU3LTMzLjE1NSAwLTE1LjI1MiAxMC4wODQtMjcuOTk1IDI0LTMxLjkzOHptMTcxLjc1IDIxLjQzN2M1LjQzIDUuODc3IDEyLjA2MiAxMC41OTggMTkuNTMzIDEzLjc1LjExNC43OTUuMTg3IDEuNjA3LjE4NyAyLjQzOCAwIDkuMjE4LTcuMjggMTYuNDY4LTE2LjUgMTYuNDY4LTkuMjIgMC0xNi40Ny03LjI1LTE2LjQ3LTE2LjQ2OCAwLTguMTEyIDUuNjIzLTE0LjcxNiAxMy4yNS0xNi4xODd6TTIyNC40NyAyNjYuNzVjNC45NDMuMDcyIDkuMTk1IDIuMDMgMTEuMzQzIDUuNzUgMy44MTggNi42MTMtLjQ5IDE2LjI1Ni05LjYyNSAyMS41My05LjEzNyA1LjI3Ni0xOS42MiA0LjIwOC0yMy40MzgtMi40MDUtMy44MTctNi42MTIuNDktMTYuMjU2IDkuNjI1LTIxLjUzIDMuOTk3LTIuMzEgOC4yNDgtMy40IDEyLjA5NC0zLjM0NXptNjAuODEgMGMzLjg0Ny0uMDU2IDguMTMgMS4wMzYgMTIuMTI2IDMuMzQ0IDkuMTM2IDUuMjc1IDEzLjQ0MyAxNC45MiA5LjYyNSAyMS41My0zLjgxNyA2LjYxNC0xNC4zMyA3LjY4Mi0yMy40NjcgMi40MDctOS4xMzctNS4yNzQtMTMuNDQ0LTE0LjkxNy05LjYyNS0yMS41MyAyLjE0Ny0zLjcyIDYuNC01LjY3OCAxMS4zNDMtNS43NXptLTMwLjU2IDU4Ljk3YzIyLjktLjA4IDQ1LjYyIDE0LjA4NyA1NC4zMSA0Mi43NS0zNi45MTYtMjMuNjU0LTcxLjU4Ny0yNC4xNTMtMTA5LjYyNCAwIDkuMzUtMjguMzUgMzIuNDEyLTQyLjY3MyA1NS4zMTMtNDIuNzV6IiBmaWxsPSIjZmZmZmZmIiBmaWxsLW9wYWNpdHk9IjEiIGNsaXAtcGF0aD0idXJsKCNpY29uLWJnKSI+PC9wYXRoPjwvZz48L3N2Zz4=
data:image/svg+xml;base64,PHN2ZyBzdHlsZT0iaGVpZ2h0OiA1MTJweDsgd2lkdGg6IDUxMnB4OyIgeG1sbnM9Imh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnIiB2aWV3Qm94PSIwIDAgNTEyIDUxMiI+PGcgY2xhc3M9IiIgc3R5bGU9IiIgdHJhbnNmb3JtPSJ0cmFuc2xhdGUoMCwwKSI+PHBhdGggZD0iTTEzNS42ODggMTguNWMtNi43OTggNzQuODQyLTIzLjg0MiA4NS4zOS0xMDcuOTA3IDU5LjY1NiA4NC44NSA1Mi4wMjIgNzMuNTcgNjQuOTU0LTYuODQzIDk2LjkzOCA4Ny43NDMtMTAuMjcgMTAzLjI5IDQuODkgNzAuNzUgODcuNTk0IDE3LjgwNS0yNy41NiAzMi41LTQ0LjQ5OCA0Ni4yODItNTQuNDctMTEuODEzIDI4LjI2LTE4LjM0NSA1OS4yNzQtMTguMzQ1IDkxLjgxMyAwIDg0LjE4NCA0My43MSAxNTcuOTYgMTA5LjY1NiAyMDAuMzc2LTQxLjYyNC00My44MzQtNjcuNjg2LTEwMi43LTY3LjY4Ni0xNjcuODc1IDAtMTM0LjkyMyAxMDkuNDUtMjQ0LjQwNSAyNDQuMzc1LTI0NC40MDUgMzAuOTIgMCA2MC43NiA1Ljc2MiA4OCAxNi4yNS0zOC41ODQtMjYuODctODUuNTE3LTQyLjYyNS0xMzYuMDY0LTQyLjYyNS01NS4yNTcgMC0xMDYuMTQgMTguODAyLTE0Ni41NjIgNTAuMzc1IDQuNjI3LTE4Ljc4MyAxNy4zOS0zOC4wNzMgNDEuMDMtNjAuOTA2QzE5MC4xOCA5MC45NDIgMTUzLjUzIDk1LjYzNCAxMzUuNjkgMTguNXptMTAuMDMgNzcuMTg4YzUuNjcuMDAyIDExLjQyOCAxLjI0NyAxNi44NzYgMy44NzQgMTQuNTA2IDYuOTk4IDIyLjcyIDIxLjgxIDIyIDM2LjkzOC0xMC4yNiAxMC44Ny0xOS41MDcgMjIuNjk2LTI3LjU5NCAzNS4zNDQtOS4wMzUgMi43NTMtMTkuMDc1IDIuMjctMjguMjUtMi4xNTYtMTkuMzctOS4zNDMtMjcuNS0zMi42LTE4LjE1Ni01MS45NyA2LjcxNS0xMy45MiAyMC42MzgtMjIuMDM2IDM1LjEyNS0yMi4wM3oiIGZpbGw9IiNmZmYiIGZpbGwtb3BhY2l0eT0iMSI+PC9wYXRoPjwvZz48L3N2Zz4=
data:image/svg+xml;base64,PHN2ZyBzdHlsZT0iaGVpZ2h0OiA1MTJweDsgd2lkdGg6IDUxMnB4OyIgeG1sbnM9Imh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnIiB2aWV3Qm94PSIwIDAgNTEyIDUxMiI+PGcgY2xhc3M9IiIgc3R5bGU9IiIgdHJhbnNmb3JtPSJ0cmFuc2xhdGUoMCwwKSI+PHBhdGggZD0iTTE3OS44MTMgMjAuNzJ2ODEuMjVMMTM1Ljc4IDc1LjYyNGwxNy41NjQgNDYuOTM4LTExNS42NTYtMjAuOTM4IDg0LjcxOCA0OS45MDZIMjB2MjcuMzQ1bDExMC40NyAxNC44NzUgOTYuNTkzLTI5LjE4OGMtMTEuMzAzLTExLjg3LTE4LjU5NC0zMC43NDMtMTguNTk0LTUyIDAtMzUuOTI2IDIwLjg3LTY1LjA2MiA0Ni42MjQtNjUuMDYyIDI1Ljc1MyAwIDQ2LjYyNSAyOS4xMzYgNDYuNjI1IDY1LjA2MyAwIDIwLjg0Ny03LjAzOCAzOS4zNzUtMTcuOTcgNTEuMjhsOTkuMDMgMjkuOTA3IDExMi41LTE1LjE1NlYxNTEuNTNIMzk0LjE5bDg0LjcxOC00OS45MDUtMTIwLjQzNyAyMS43OCAxNy44NzQtNDcuNzE4LTQ4LjY1NiAyOS4xMjZWMjAuNzJIMTc5LjgxM3pNNDk1LjI4IDIyMy4zNDNsLTExMi41IDIyLjQzNy01NS40MDUtMTMuMTI0LTI4LjAzIDExOC4zMTMgMTYuNTkyIDE0NWg1MS42ODhMMzI5LjI1IDM1MS4yMmw0Ni41MyAyNy44NDItMjEuMzEtNTYuOTM3IDEyNC40MzYgMjIuNS05MS4xMjUtNTMuNjg4aDEwNy41di02Ny41OTN6TTIwIDIyMy43NXY2Ny4xODhoMTA4LjgxM2wtOTEuMTI1IDUzLjY4N0wxNTcuMzEgMzIyLjk3IDEzNi4zNDUgMzc5bDM4LjQ3LTIzLTI4LjU5NSAxMzkuOTdoNDguMTU1TDIwNy4yOCAzNTEuNTYgMTg1LjU5NSAyMzIuNzJsLTU1LjEyNSAxMy4wNkwyMCAyMjMuNzV6IiBmaWxsPSIjZmZmIiBmaWxsLW9wYWNpdHk9IjEiPjwvcGF0aD48L2c+PC9zdmc+
data:image/svg+xml;base64,PHN2ZyBzdHlsZT0iaGVpZ2h0OiA1MTJweDsgd2lkdGg6IDUxMnB4OyIgeG1sbnM9Imh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnIiB2aWV3Qm94PSIwIDAgNTEyIDUxMiI+PHBhdGggZD0iTTAgMGg1MTJ2NTEySDB6IiBmaWxsPSIjMDAwIiBmaWxsLW9wYWNpdHk9IjAiPjwvcGF0aD48ZyBjbGFzcz0iIiBzdHlsZT0idG91Y2gtYWN0aW9uOiBub25lOyIgdHJhbnNmb3JtPSJ0cmFuc2xhdGUoMCwwKSI+PHBhdGggZD0iTTUwLjEyNSAxOC44NDRDMzkuMzkyIDM0LjgzNyAyOS4zNDUgNTQuMjg0IDIwIDc2LjkwNnY1NS4zNDRDMzUuNjI2IDgxLjk4MyA1NC4xMjMgNDMuNDg2IDczLjE4OCAxOC44NDRINTAuMTI0em0xMjMuNTYzIDBjMjguNTE0IDM4LjE1NCA1OC4zMDIgMTExLjQ0NCA4MC42ODcgMjI0LjQwNmwtMjcuNjg4LTIwLjM3NWMxMC4zNCA0Mi42NDIgOS40OSA4Ni43MzQgNS4yODIgMTI5LjY1Ni05LjY4LTUuMDY0LTE4LjM5LTEwLjI0Mi0yNi40MDctMTUuNTkyIDcuMzAzLTIuMzkgMTIuNTkzLTkuMjczIDEyLjU5My0xNy4zNzUgMC0xMC4wODgtOC4xOTQtMTguMjUtMTguMjgtMTguMjUtOS44MSAwLTE3Ljc4NyA3LjczNC0xOC4yMiAxNy40MzctMTguOTkyLTE2LjQ4LTM0LjM1My0zNS4xNDgtNTEuMzEyLTU3LjkwNiAyMS44NiA1NS40ODQgMzcuNTc2IDExMC45NSA0My4yMiAxNjYuNDM3LTIxLjQ2OC0xMC41MDItNDIuMjEyLTI3LjQ4NS02Mi40MDgtNDcuODc0Qzc3Ljc3NiAzMjAuMDUgNDYuODQ2IDI3OC4zMTQgMjAgMjQ4LjM3NlYyNzdjMjMuMDA0IDI3LjkyIDQ4Ljg0MyA2NC45NDQgNzYuNTYzIDExNC42MjVsMjMuODQzIDcwLjEyNWMtMjIuNzc3IDQuNDQtNDUuNTM1LTQuMS02OC4zMTItMTIuODQ0bDI4LjU5MyA0MS40N2gzODkuOTM4TDQ5NSA0MjUuOTA1Yy0xOS4xMSAxMC4yMS01OS44NDMgMjIuODQtODQuMzQ0IDI3LjY1NiAxNC40OS01MC43IDI2LjkxMy05NS40MjUgNTAuNS0xNDUuNDA2LTIxLjQzIDIzLjUzLTU1Ljg5NCA0Ni45NDMtODIuMTU2IDYwLjAzIDEzLjM1Mi01My44IDI5LjQ1LTkxLjEyOCA0NS45Ny0xMTMuMzczIDEyLjY5NS0xNy4wOTggMjUuMDk0LTI0Ljk2MyAzNi4yNS0yNi41OTQgMTAuOTkyLTEuNjEgMjIuMTkzIDIuMzQzIDM0LjI1IDEzLjIxOHYtMjMuMjVjLTkuNjQtNS44NS0xOS45MS05LjA4Mi0zMC4zNDUtOC45Ny0yLjE5My4wMjQtNC4zOS4yMS02LjU5NC41MzItMTcuNjI1IDIuNTc3LTM0LjAxNCAxNC4zNDYtNDguNTYgMzMuOTM4LTE1LjcxNCAyMS4xNi0yOS45NCA1MS44NjQtNDIuMDk1IDkzLjI4LTguNjQtNzMuMDU3LTcuMzctMTQ5Ljk2Ni43NS0yMTkuNzgtMTQuNDY3IDQzLjA4Mi0yMi41OSA3OC4zNi01MC4yMiAxMDcuNDM3LTEwLjk3Mi0xOS4zMjQtMTkuNDAzLTM4LjU4NC0yNi4yMTctNTcuODQ0IDIuNjU4IDEuMTAzIDUuNTY4IDEuNzIgOC42MjUgMS43MiAxMi40NjMgMCAyMi41NjItMTAuMTI4IDIyLjU2Mi0yMi41OTQgMC0xMi40NjUtMTAuMS0yMi41NjItMjIuNTYzLTIyLjU2Mi01LjM0OCAwLTEwLjI1NyAxLjg2LTE0LjEyNSA0Ljk3bC05LjEyNS0xMDkuNDdoLTM1YzExLjQyMiA1Ni41NjUgMTcuNDM0IDExNi44MzcgMjAuNSAxNzUuMDYyQzI0NC4wNiAxMTMuMzkzIDIyMC45MiA1NS45ODYgMTk2LjUgMTguODQ0aC0yMi44MTN6bTIzNy43OCA2LjY1NmMtMTQuMjkgMC0yNS44NzQgMTEuNTg0LTI1Ljg3NCAyNS44NzUgMCAuNzIzLjAzNSAxLjQxNy4wOTQgMi4xMjUtLjM3My0uMDIzLS43NDctLjA2My0xLjEyNS0uMDYzLTEwLjA4NyAwLTE4LjI1IDguMTYzLTE4LjI1IDE4LjI1czguMTYzIDE4LjI4MiAxOC4yNSAxOC4yODJjOC43NDYgMCAxNi4wNTUtNi4xNjUgMTcuODQzLTE0LjM3NiAyLjgyIDEuMDU0IDUuODc2IDEuNjU2IDkuMDYzIDEuNjU2IDE0LjI4OCAwIDI1Ljg3NC0xMS41ODQgMjUuODc0LTI1Ljg3NSAwLTE0LjI5LTExLjU4Ni0yNS44NzUtMjUuODc1LTI1Ljg3NXpNMTAzLjAzMiAzOC43MmMtMTAuMDg1IDAtMTguMjggOC4xNi0xOC4yOCAxOC4yNSAwIDEwLjA4NSA4LjE5NSAxOC4yOCAxOC4yOCAxOC4yOCAxMC4wODggMCAxOC4yNS04LjE5MyAxOC4yNS0xOC4yOCAwLTEwLjA5LTguMTYyLTE4LjI1LTE4LjI1LTE4LjI1em0zNTAuNTMzIDc2LjYyNGMtMTAuMDg3IDAtMTguMjUgOC4xNjItMTguMjUgMTguMjUgMCAxMC4wODYgOC4xNjMgMTguMjggMTguMjUgMTguMjggMTAuMDg2IDAgMTguMjgtOC4xOTIgMTguMjgtMTguMjggMC0xMC4wODgtOC4xOTQtMTguMjUtMTguMjgtMTguMjV6bS0yOTkuODQ0IDhjLTE1Ljk3MiAwLTI4LjkwNyAxMi45NjUtMjguOTA3IDI4LjkzNyAwIDE1Ljk3MiAxMi45MzUgMjguOTA3IDI4LjkwNiAyOC45MDcgMTUuOTcgMCAyOC45MzYtMTIuOTMzIDI4LjkzNi0yOC45MDYgMC0xNS45Ny0xMi45NjctMjguOTM2LTI4LjkzNy0yOC45MzZ6TTg3LjYyNCAyMDcuMjJjLTEwLjA4NyAwLTE4LjI1IDguMTYtMTguMjUgMTguMjUgMCAxMC4wODUgOC4xNjMgMTguMjggMTguMjUgMTguMjhzMTguMjUtOC4xOTMgMTguMjUtMTguMjhjMC0xMC4wOS04LjE2My0xOC4yNS0xOC4yNS0xOC4yNXoiIGZpbGw9IiNmZmYiIGZpbGwtb3BhY2l0eT0iMSI+PC9wYXRoPjwvZz48L3N2Zz4=
data:image/svg+xml;base64,PHN2ZyBzdHlsZT0iaGVpZ2h0OiA1MTJweDsgd2lkdGg6IDUxMnB4OyIgeG1sbnM9Imh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnIiB2aWV3Qm94PSIwIDAgNTEyIDUxMiI+PGcgY2xhc3M9IiIgc3R5bGU9IiIgdHJhbnNmb3JtPSJ0cmFuc2xhdGUoMCwwKSI+PHBhdGggZD0iTTI2MS45MTIgMTkuMTJjLTEuNTM4LS4wNDMtMy4xMi4xMjYtNC42NTguMTI2LTMyLjg0MyAwLTU5LjU4NCAzMy45MDYtNTkuNTg0IDc1LjkxOCAwIDIxLjI3MyA3LjA4MiA0MC40NyAxOC4wOTYgNTQuMjg3LTU2LjEwMiA4LjcwMi03NS45NzggNzQuNTQ2LTcyLjIwNyAxNDUuNjIgMy41OTItMS4yMDggNy40MjctMS44NzMgMTEuNDEtMS44NzMgNi4yNDQgMCAxMi4xMzUgMS42MTQgMTcuMjggNC40NDJsLS42MS02MS45NzQgMTguNjg4LS4xODQuNDQgNDQuNjZoNTYuNDYyVjE3My4xMDhjMy4yMTcuNzQ3IDYuNTU1IDEuMTU1IDEwLjAwMiAxLjE1NSAyLjk4IDAgNS44OC0uMzA2IDguNjg4LS44NjdsLS4wMDIgMTA2Ljc0OGg1Ni40MjhsLjQ0LTQ0LjY2IDE4LjY4Ny4xODMtLjYwNiA2MS44YzUuMDY4LTIuNzE4IDEwLjg0Mi00LjI3IDE2Ljk1Ny00LjI3IDQuNTUgMCA4LjkxLjg2NSAxMi45MzIgMi40MjMgMy40Ni03MS44NDUtMjEuMjQtMTM1LjU1My03Mi44OC0xNDUuMjgyLjAyNS0uMDM3LjA0Ny0uMDc2LjA3LS4xMTMgMTEuNDU4LTEzLjg3MyAxOC44OTQtMzMuMzA1IDE4Ljg5NC01NS4wNiAwLTM5LjM5LTIzLjQxNS03Mi4wMi01My40MDYtNzUuOTItLjUtLjA3NC0xLjAxLS4xMTItMS41MjItLjEyNnptMTU0LjUxOCA2LjA0bC02LjU0MyAyNC40MTgtMTcuODc1LTE3Ljg3NS0xMy4yMTUgMTMuMjE1IDE3Ljg3NSAxNy44NzUtMjQuNDE2IDYuNTQgNC44MzYgMTguMDU0IDI0LjQxOC02LjU0LTYuNTQzIDI0LjQxNSAxOC4wNSA0LjgzOCA2LjU0NC0yNC40MTggMTcuODc2IDE3Ljg3NSAxMy4yMTQtMTMuMjE1LTE3Ljg3NS0xNy44NzUgMjQuNDE4LTYuNTQtNC44MzYtMTguMDU0LTI0LjQxOCA2LjU0TDQzNC40OCAzMCA0MTYuNDMgMjUuMTZ6TTk2LjMxIDY1Ljk5OGwtMTEuMDggNDEuMzU0LTMwLjI3My0zMC4yNzRMNDEuNzQgOTAuMjkzbDMwLjI3MiAzMC4yNy00MS4zNDggMTEuMDggNC44MzYgMTguMDUyIDQxLjM1Mi0xMS4wNzgtMTEuMDggNDEuMzUyIDE4LjA1IDQuODM3IDExLjA4LTQxLjM1IDMwLjI3IDMwLjI3IDEzLjIxNS0xMy4yMTUtMzAuMjctMzAuMjcyIDQxLjM1Mi0xMS4wNzgtNC44MzctMTguMDUzLTQxLjM1MiAxMS4wNzggMTEuMDgtNDEuMzUyLTE4LjA1LTQuODM4em0xNjAuOTIyIDIuNDI2YzEyLjE1IDAgMjMuNzQgOS40MjUgMjkuMzQyIDI0LjAzaC01OC42OGM1LjYwMi0xNC42MDQgMTcuMTktMjQuMDMgMjkuMzM4LTI0LjAzem0tMzIuODI0IDQyLjcyaDY1LjY1Yy4wMDUuMjg0LjAxOC41NjYuMDE4Ljg1NCAwIDI1LjItMTUuODggNDMuNTc2LTMyLjg0NCA0My41NzZzLTMyLjg0LTE4LjM3Ny0zMi44NC00My41NzZjMC0uMjg4LjAxMi0uNTcuMDE2LS44NTV6bTIyMi43MzcgMTExLjg4bC0xOC4wNTMgNC44NCA2LjU0MyAyNC40MTctMjQuNDItNi41NDItNC44MzYgMTguMDUzIDI0LjQxNSA2LjU0Mi0xNy44NzUgMTcuODc1IDEzLjIxNSAxMy4yMTUgMTcuODc3LTE3Ljg3NSA2LjU0MyAyNC40MTggMTguMDUyLTQuODM4LTYuNTQzLTI0LjQxNiAyNC40MTYgNi41NDIgNC44MzYtMTguMDUzLTI0LjQxNi02LjU0MiAxNy44NzUtMTcuODc1LTEzLjIxNC0xMy4yMTUtMTcuODczIDE3Ljg3My02LjU0Mi0yNC40MTV6bS0zNzQuNzE3IDY2LjA4bC02LjU0IDI0LjQxNy0xNy44NzYtMTcuODc0LTEzLjIxNSAxMy4yMTUgMTcuODc1IDE3Ljg3Ni0yNC40MiA2LjU0MyA0LjgzOCAxOC4wNTIgMjQuNDE4LTYuNTQzLTYuNTQzIDI0LjQxNyAxOC4wNTMgNC44MzYgNi41NC0yNC40MThMOTMuNDM1IDM2Ny41bDEzLjIxNC0xMy4yMTUtMTcuODczLTE3Ljg3NSAyNC40MTYtNi41NC00LjgzNi0xOC4wNTQtMjQuNDE2IDYuNTQzIDYuNTQyLTI0LjQyLTE4LjA1Mi00LjgzNXptMTE4LjUyMyA5LjcyNmwuNjI2IDYzLjU1NyAyLjIwNyAzMy41MWg1My40Mjh2LTc2LjQ0NGgxOC42OXY3Ni40NDNoNTEuNzA3bDQuMDg4LTU0Ljg5aC4wNTNsLjA4Mi04LjMxYy0uMTAzLTEuMTAyLS4xNjItMi4yMTYtLjE2Mi0zLjM0MiAwLTEuMzY2LjA4NC0yLjcxMi4yMzQtNC4wNGwuMjYtMjYuNDg0aC0xMzEuMjF6bS0zNS45OCAxMy4wNTVjLTkuNzYgMC0xNy40NyA3LjcxMi0xNy40NyAxNy40NyAwIDkuNzU1IDcuNzEgMTcuNDY3IDE3LjQ3IDE3LjQ2NyA5Ljc1NyAwIDE3LjQ2Ni03LjcxMiAxNy40NjYtMTcuNDY4IDAtOS43Ni03LjcwOC0xNy40Ny0xNy40NjctMTcuNDd6bTIwMi44NTQgMGMtOS43NTggMC0xNy40NjcgNy43MTItMTcuNDY3IDE3LjQ3IDAgOS43NTUgNy43MSAxNy40NjcgMTcuNDY3IDE3LjQ2NyA5Ljc2IDAgMTcuNDctNy43MTIgMTcuNDctMTcuNDY4IDAtOS43Ni03LjcxLTE3LjQ3LTE3LjQ3LTE3LjQ3em0zNS4yODMgNzMuNDI2bC04LjIwMyAzMy41ODhMMzU5LjkxNiAzOTVsLTEyLjkxOCAxMy41MDYgMjQuOTg2IDIzLjg5Ni0zMy4xOSA5LjY5MiA1LjIzNyAxNy45NCAzMy4xOTUtOS42OTItOC4yMDUgMzMuNTkgMTguMTU2IDQuNDMzIDguMjAzLTMzLjU4OCAyNC45ODUgMjMuODk3IDEyLjkxOC0xMy41MDYtMjQuOTg2LTIzLjg5OCAzMy4xOS05LjY5LTUuMjQtMTcuOTQtMzMuMTg4IDkuNjkyIDguMjAyLTMzLjU4OC0xOC4xNTUtNC40MzN6bS0xOTguMDkgMjkuMjc0bDIuNjQ3IDQwLjE4NGg0OS41NDd2LTQwLjE4NGgtNTIuMTk0em03MC44ODMgMHY0MC4xODRoNDcuMzJsMi45OTUtNDAuMTg0SDI2NS45em0tNjcuMDA1IDU4Ljg3M2wxLjQyMyAyMS41OWg0Ni44OTN2LTIxLjU5aC00OC4zMTV6bTY3LjAwNSAwdjIxLjU5aDQ0LjMybDEuNjA4LTIxLjU5SDI2NS45eiIgZmlsbD0iI2ZmZiIgZmlsbC1vcGFjaXR5PSIxIj48L3BhdGg+PC9nPjwvc3ZnPg==
data:image/svg+xml;base64,PHN2ZyBzdHlsZT0iaGVpZ2h0OiA1MTJweDsgd2lkdGg6IDUxMnB4OyIgeG1sbnM9Imh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnIiB2aWV3Qm94PSIwIDAgNTEyIDUxMiI+PGcgY2xhc3M9IiIgc3R5bGU9IiIgdHJhbnNmb3JtPSJ0cmFuc2xhdGUoMCwwKSI+PHBhdGggZD0iTTIxNyAyOC4wOTh2NDU1LjgwNGwxNDItNDIuNTk3VjcwLjY5N3ptMTU5LjkzOCAyNi44OGwuMDYyIDIuMzI3Vjg3aDE2VjU1ek0xMTkgNTV2MTE3LjI3aDE4VjczaDYyVjU1em0yNTggNTB2MTZoMTZ2LTE2em0wIDM0djIzNmgxNlYxMzl6bS0yNDAgNTguNzI3VjIzM0g0MXY0Nmg5NnYzNS4yNzNMMTk1LjI3MyAyNTZ6TTI0NCAyMzJjNi42MjcgMCAxMiAxMC43NDUgMTIgMjRzLTUuMzczIDI0LTEyIDI0LTEyLTEwLjc0NS0xMi0yNCA1LjM3My0yNCAxMi0yNHpNMTM3IDMzOS43M2gtMThWNDQ4aDE4ek0zNzcgMzkzdjE0aDE2di0xNHptMCAzMnYyM2gxNnYtMjN6TTMyIDQ3MXYxOGgxNjd2LTE4em0yOTAuNjUyIDBsLTYwIDE4SDQ4MHYtMTh6IiBmaWxsPSIjZmZmIiBmaWxsLW9wYWNpdHk9IjEiPjwvcGF0aD48L2c+PC9zdmc+
data:image/svg+xml;base64,PHN2ZyBzdHlsZT0iaGVpZ2h0OiA1MTJweDsgd2lkdGg6IDUxMnB4OyIgeG1sbnM9Imh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnIiB2aWV3Qm94PSIwIDAgNTEyIDUxMiI+PGcgY2xhc3M9IiIgc3R5bGU9IiIgdHJhbnNmb3JtPSJ0cmFuc2xhdGUoMCwwKSI+PHBhdGggZD0iTTU0LjE4NCAxOS41MTJsMTE2LjAyIDE0NC44MzhjLTExLjgwNiA5Ljc0LTIxLjQgMjIuMDY2LTI3LjkyMyAzNi4wOTVMMjAuNDkzIDE0Mi43M3Y2Mi45OTNsMTEzLjk4MyAxOS4xNzJjLTEuMTIgNi4wNTYtMS43MDcgMTIuMjk1LTEuNzA3IDE4LjY3IDAgMy41MDIuMTc3IDYuOTY1LjUyIDEwLjM3OGwtNzIuMzc2IDI3LjcgNzkuNDY3LjY4N2M0LjE2NSAxMC4xNzMgOS45MTcgMTkuNTM0IDE2Ljk0OCAyNy43NzVMMjAuNDkyIDQ0MS43djUyLjQ4NGg0Ny4zMzZsMTA1Ljg3LTE2OC42NWMxMS42NDQgOC43OTUgMjUuMjEyIDE1LjE2NSAzOS45NDUgMTguMzY2bC0yMy43IDE1MC4yODRIMjk0LjIyTDI1My4yNSAzNDQuNjljOC42NjgtMS41MjQgMTYuOTY0LTQuMTQgMjQuNzQ0LTcuN2wzNy4yNjIgNDIuMjY4LTIxLjMyNi01MS4zNjVjNi44ODUtNC43OTIgMTMuMTYtMTAuNDAyIDE4LjY4LTE2LjY5MmwxODIuNTMzIDE0Ni42MVYzNDguNTU2TDMyOS40MyAyODQuODY1YzQuMjktOS43MjIgNy4xMTgtMjAuMjI3IDguMTk1LTMxLjIzOGw4NC43LTI1LjkzLTg2Ljc4LTcuMDA4Yy0yLjI2LTkuODktNS45NTUtMTkuMjQyLTEwLjg1Mi0yNy44MjVsMTcwLjQ1Mi04Ny4zOThWMjMuOTI0TDMxMS45MTggMTc1LjE1Yy01LjMzLTUuOTUtMTEuMzQyLTExLjI4LTE3LjkxMi0xNS44NmwxNS41MzMtMzguMzgyLTI5Ljk2OCAyOS45NjdjLTkuNjA4LTQuNTk1LTIwLjAzNC03Ljc0LTMwLjk5Ni05LjE0OEwyNjkuODkgMTkuNTEyaC00MC4xMmwxLjI3IDEyMS40NzhjLTE5LjAxNy44MDgtMzYuNzE2IDYuODE2LTUxLjcwNiAxNi42NEw5NC4xMDIgMTkuNTFINTQuMTg0eiIgZmlsbD0iI2ZmZiIgZmlsbC1vcGFjaXR5PSIxIj48L3BhdGg+PC9nPjwvc3ZnPg==
data:image/svg+xml;base64,PHN2ZyBzdHlsZT0iaGVpZ2h0OiA1MTJweDsgd2lkdGg6IDUxMnB4OyIgeG1sbnM9Imh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnIiB2aWV3Qm94PSIwIDAgNTEyIDUxMiI+PGcgY2xhc3M9IiIgc3R5bGU9IiIgdHJhbnNmb3JtPSJ0cmFuc2xhdGUoMCwwKSI+PHBhdGggZD0iTTI3Mi45NSAxNi43MDdjLTE1MS4yOSA0Ny43MTQgNTcuMzIyIDExMC44OC0yNi41MzYgMTMxLjM0NEMxOTAuNyAxNjEuNjQ4IDEzNy4zIDk2LjI4MyAxOTIuOTQ3IDQ1LjMxM2MtOTAuNzY2IDMyLjUyNC02Ni4yOTIgODkuNjctMTIuMzk2IDExMy4yNSAzNC4zMSAxNS4wMSAzMS44ODQgNjEuMzggOC42NDMgNjQuNjM3IDQ2LjM3LTU0LjI4NS0xMTYuNjM3LTQ0LjczNy04Ni4wMy0xNDcuNDctMTI2LjQ0IDE1OC4wNjMgMTMyLjUzNSAxNjMuMzcgNTEuNiAyNzMuMTk0IDE2LjQtNTEuMjYtNTEuMDc0LTMzLjQyLTY1LjUyLTc3Ljg4LTQ4LjU1NyAxMTUuOTc1IDg2Ljg3IDk2LjA0NyAxMDcuODEgMjIyLjk1aDM2LjM5NGwtNy4zNzUtMTA4LjcwM0gxOTYuOTNjMC00OS43MjQgMy4xNzgtMTA4LjMzNiA0NS4yLTExNi4yNDUtNy43NS05LjM1Mi0xMi43ODYtMjQuNTEtMTIuNzg2LTM5LjIwNyAwLTI2LjUzNiAxNS43NzQtNDguNTIzIDM1Ljk4LTUxLjE1aC4wMDJjMS4zNDgtLjE3IDIuNzggMCA0LjE2NCAwIDIyLjEzIDAgNDAuMTQ1IDIyLjg0NiA0MC4xNDUgNTEuMTUgMCAxNC4zMzQtNC43NzIgMjkuMzA0LTEyLjE5MiAzOC42MTMgNDUuOTA1IDcuMTIgNDQuOTAzIDY2Ljk3NiA0NC45MDMgMTE2Ljg0SDMxNC42OWwtNi41MjQgMTA4LjcwNGgzNi43NTJjMTQuMjktMTM4LjI0IDEzNy4wNTYtMTIxLjI0NSA3Ny41NzYtMjM1Ljc0MiA5LjcyOCA0Ni4wMzQtMzIuNjQ2IDkzLjY3LTUzLjUxNCA1Mi4xMy0xOS4wNC0zNy45MDMgMTI1LjUxNS0xMDUuMDkyIDcwLjIxLTIxNS4xNzUgNC41ODggODEuNDg0LTExNC4xNTUgMTIwLjMwMy0xMTguNjYzIDY1LjgyNCA1Mi43NjggMjMuMDIyIDczLjYxLTQ1LjkwNSAzMC4wMi03MS45ODUtNDAuNjktMjQuMzQ2LTExNi40NDQtMzYuNzYtNzcuNTk2LTcyLjMzOHptNjkuNDg4IDIwLjYzNWM0NC44OTUgMTUuNjg1IDYzLjg4OCA3OC42NzUgNDguNzMgMTEwLjY3NCAxOC4yMzgtMy41NjggNzAuODA3LTEwNi45OC00OC43My0xMTAuNjc0eiIgZmlsbD0iI2ZmZiIgZmlsbC1vcGFjaXR5PSIxIj48L3BhdGg+PC9nPjwvc3ZnPg==
data:image/svg+xml;base64,PHN2ZyBzdHlsZT0iaGVpZ2h0OiA1MTJweDsgd2lkdGg6IDUxMnB4OyIgeG1sbnM9Imh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnIiB2aWV3Qm94PSIwIDAgNTEyIDUxMiI+PGcgY2xhc3M9IiIgc3R5bGU9IiIgdHJhbnNmb3JtPSJ0cmFuc2xhdGUoMCwwKSI+PHBhdGggZD0iTTMyOC41IDMwLjE1NmMtOTkuNTgtLjAzLTE5MS42NDcgNTIuNDE0LTI3MS4xNTYgMTUxLjQzOCA5LjkxMi0yOC43NDMgNDcuNTQ0LTg4Ljc3MiA3MC4yOC0xMDguMDk0LTQxLjI2NSAxNS4wNzYtODcuMjcgNjMuNjU2LTEwNi41IDExNC41djYxLjUzYzE4LjU1OC0yNi4xNjggMzguNzk4LTQ3LjY5IDY1LjI1LTcxLjc4LTI2LjQ5IDQ0LjU0My01Mi4xNSAxMTkuMzg4LTY1LjI1IDE3Ni42ODh2MTQxLjkzN2gyNi43MmMxOS44MDQtOTMuNDc1IDQ4LjE2Mi0xNjIuNjkgMTAwLjQwNi0yMzMtMTkuMTUgNjAuMjAyLTI0LjM2NiAxMjQuMTc1LTIwLjkwNiAxOTUuMTg4IDkuOTk0LTQ1LjExNiAzMi4xNDYtOTMuMTU4IDczLjA5NC0xNDIuNjU3LTE4LjM0NCA2NS4wNTItMjEuOTU1IDEyNC45MzItNC44MTMgMTgwLjQ3aDU3LjE4OGMtMi41NjItMzIuMDI1IDEuMTEzLTU2LjM5NCAxNC4wNjItODAuOTM4LS41MzIgMTMuMDQ4LjY0MyAyNi41OCAzLjg3NSA0MC44NzUgNS45OTYtMzQuNTU2IDE3LjU4NS02NC4wMjIgMzcuNS05My42NTctNy41MjYgNDAuNjI2LTUuMjgzIDg0LjIxIDEwLjM3NSAxMzMuNzJoODguNjg4Yy01LjE1OC0zMS41NS0yLjU5Ni02Ni4xMiA4LjIxOC0xMDcgMS43MDQgMzkuOTEgMTEuNTE1IDc1Ljc1NCAzMi40NyAxMDdoNTEuNTYzdi04Ni40MzhjLTcuMDc0IDEzLjkxMy0xMC43MiAyOS4zNzYtMTIuOTcgNDQuOTY4LTcuNjk1LTQzLjg3My05Ljk2My04NC44MDUtNy0xMjIuMDYyLTIzLjI0NiAyMS4yNjctMzQuMDA4IDY1LjgyLTM1LjYyNCAxMjAuMzEyLTIwLjE2LTg2LjAwOC0xOC4wODctMTY2LjMxIDEyLjI4LTIzOS40MzctNzAuNzU3IDIzLjk0LTExNy40NTQgMTQwLjE1LTEyNi43NSAyNTcuNTMtMTIuMzM4LTExMy40MjUgMTQuNjgtMjA3Ljc3NSA2OC4zNDQtMjc5LjE1Ni0zNS4yMTUgOS45NTctNjcuNjIyIDQzLjgwMy05NC42MjUgODkuMzc1IDIxLjA0OC02OC42MjIgNTYuNjItMTIzLjIxIDEwMS42MjQtMTY0LjcyLTExMy41OS0zLjMxNS0yMDcuMTY3IDkzLjg5NS0yNjEuMDYzIDIxNi4wOTQgMTcuMDEzLTcxLjg1NiA1MC44MjgtMTMxLjIwOCA5Ni4zNzYtMTc4LjEyNS04My42MDUgMTMuMTA1LTEyOS44MSA4MC4wNzUtMTY4LjI4IDE5MS44NzRDMTA2LjkzIDE3NC4yNzIgMjA3LjA3MiA3OS40NSAzNzcuOTY4IDM0LjQwNmMtMTYuNjc2LTIuODQtMzMuMTc1LTQuMjQ1LTQ5LjQ3LTQuMjV6TTE5MC4xMjUgMTA4Yy0zMC40OTQgMjEuNzE2LTc4LjcyNyA4MS43ODYtMTEzLjMxMyAxNDEuODc1Qzk1IDE4MC4xOCAxMzEuNTggMTIxLjAzMyAxOTAuMTI1IDEwOHptMjY0LjU5NCA2NC41Yy0yMS4xMzQuNDItNDMuMzkyIDE3LjkxNS01NC45NCA1Mi45NyAyOS4xNS0yMy41MjggNTguODczLTMyLjQzMiA5MS4wNjQtMzIuODQ1LTkuNTE2LTEzLjYzMi0yMi41OC0yMC4zOTUtMzYuMTI1LTIwLjEyNXptLTE2Mi4wOTUgNDAuNDA2QzI1MC4wNSAyOTEuNTk4IDIyNC45NCAzODEuMzQ4IDIxMS45NyA0NzguNzhjLTE5LjAzNi0xMDcuNDU0IDEzLjYxMy0yMjEuOTQzIDgwLjY1NS0yNjUuODc0eiIgZmlsbD0iI2ZmZiIgZmlsbC1vcGFjaXR5PSIxIj48L3BhdGg+PC9nPjwvc3ZnPg==
data:image/svg+xml;base64,PHN2ZyB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIHZpZXdCb3g9IjAgMCA1MTIgNTEyIiBzdHlsZT0iaGVpZ2h0OiA1MTJweDsgd2lkdGg6IDUxMnB4OyI+PGcgY2xhc3M9IiIgdHJhbnNmb3JtPSJ0cmFuc2xhdGUoMCwwKSIgc3R5bGU9InRvdWNoLWFjdGlvbjogbm9uZTsiPjxwYXRoIGQ9Ik0yNTYgNzNjLTYyLjg3NSAwLTkxLjkxMyAxMS45NDgtMTA1LjI3MyAyNi45NzktMTEuNjMyIDEzLjA4Ni0xMy4zMjQgMzAuODQ4LTEzLjU5IDUxLjAyMWgzMC40MzdjMS42MzQtMTMuOTYzIDcuMzA5LTI2LjQ0IDE5LjQzOC0zNC41MThDMjAxLjcwMyAxMDYuNyAyMjMuMjUzIDEwMyAyNTYgMTAzYzMyLjc1MyAwIDU0LjMxMSAzLjczOSA2OC45OTYgMTMuNTQgMTIuMTE1IDguMDg0IDE3Ljc4OCAyMC41NDYgMTkuNDI2IDM0LjQ2aDMwLjQ0MWMtLjI2Ni0yMC4xNzMtMS45NTgtMzcuOTM1LTEzLjU5LTUxLjAyMUMzNDcuOTEzIDg0Ljk0OCAzMTguODc1IDczIDI1NiA3M3ptLTEzNSA5NHYxNmg2MnYtMTZoLTYyem0yMDggMHYxNmg2MnYtMTZoLTYyek04MS40NyAyMDFjLTEzLjg2NiAwLTI4LjIzMiA2LjgzNy0zOC45NyAxNy40MTJDMzEuNzYyIDIyOC45ODggMjUgMjQzIDI1IDI1NnYxOTJjMCAxNC41IDMuNDg1IDIzLjc1NCA5LjM3IDI5LjYzM0M0MC4yNTMgNDgzLjUxIDQ5LjUzIDQ4NyA2NC4wNjMgNDg3aDM4NC4zODdjMTQuMjUzIDAgMjMuMzgyLTMuNDYzIDI5LjIxOS05LjM0MkM0ODMuNTA3IDQ3MS43OCA0ODcgNDYyLjUgNDg3IDQ0OFYyNTZjMC0xMy02Ljc3Ny0yNy4wNS0xNy4zNjMtMzcuNjM3QzQ1OS4wNSAyMDcuNzc3IDQ0NSAyMDEgNDMyIDIwMUg4MS40N3pNMjI0IDI1Nmg2NHY2NGg2NHY2NGgtNjR2NjRoLTY0di02NGgtNjR2LTY0aDY0di02NHoiIGZpbGw9IiNmZmYiIGZpbGwtb3BhY2l0eT0iMSI+PC9wYXRoPjwvZz48L3N2Zz4=
data:image/svg+xml;base64,PHN2ZyBzdHlsZT0iaGVpZ2h0OiA1MTJweDsgd2lkdGg6IDUxMnB4OyIgeG1sbnM9Imh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnIiB2aWV3Qm94PSIwIDAgNTEyIDUxMiI+PGcgY2xhc3M9IiIgc3R5bGU9IiIgdHJhbnNmb3JtPSJ0cmFuc2xhdGUoMCwwKSI+PHBhdGggZD0iTTIyNS40MzggMTguMTU2Yy0xNS4xMDUuMTQtMzIuNTYgMi41MjYtNTIuNDA3IDcuODQ0LTM1LjI2IDkuNDUtNjUuMDM1IDI4Ljk3My04OC4zNzQgNTQuODQ0LTE3LjY2OCAxMy43NTUtMzYuOTggNDYuMzktNTEuNDM3IDg1Ljk3LTE2LjQxNSA1NS4wNDYtMTYuNDQ3IDEyMC4zMDQtMi4xNTcgMTg4LjE1NUMzNC44NCAzNzIuOTEgNDQuMTQgMzg1LjA4IDU3LjUgMzkyLjA5M2MxMy4zNiA3LjAxIDMxLjM1MyA4Ljc3NiA1Mi42ODggMy4wNjIgMTMuNDczLTMuNjA4IDIzLjAyOC0xMi40NCAyOC44MTItMjIuNzUgNS43ODQtMTAuMzEgNy4yMjYtMjIuMDUgNS4zMTMtMjkuMTg3LTQuMzM1LTE2LjE3LTE5LjA3OC0yNS4yMDItMzIuMzEzLTIxLjY1OC05LjAyIDIuNDE3LTEzLjQzMyAxMC4yNy0xMy41IDE2Ljk3LS4wMzQgMy4zNS45NzYgNi4wNjUgMi43NSA3Ljk2OCAxLjc3NCAxLjkwMyA0LjQ5MyAzLjQ5NyAxMCAzLjU5NGwtLjM0NCAxOC42ODdjLTkuNTctLjE2OC0xNy44Ny0zLjY5My0yMy4zMTItOS41M3MtNy44NTYtMTMuNDgyLTcuNzgtMjAuOTA2Yy4xNDgtMTQuODUgMTAuMDY0LTMwLjE4NSAyNy4zNDItMzQuODEzIDI0LjAzLTYuNDM0IDQ4LjUxNSA5Ljg0IDU1LjIyIDM0Ljg0NSAzLjYwNSAxMy40NS44MDIgMjkuMTEtNy4wOTUgNDMuMTg4LTcuODk2IDE0LjA3Ny0yMS40OCAyNi42My00MC4yNSAzMS42NTYtNC4xNzQgMS4xMTctOC4yODIgMS45NzItMTIuMzQzIDIuNjI0IDk4Ljg3NSA5MC4xMyAyNDguODkzIDExMC44MyAzNDkuMzQ0IDkuNzIgMTguMTY0LTE4LjI4MyAzMS4yOS00MC43MzUgMzguNTk1LTY1LjEyNy4wMi0uMDYzLjA0NC0uMTI0LjA2My0uMTg3IDkuOTQtNDAuMjk4IDQuOTEtODQuMzQyLTE3LjUtMTIzLjE1Ni00NC4xNTMtNzYuNDc0LTE0Mi4xOTgtMTA2LjI3Ni0xOTMuMDk0LTc4LjI4LTU3LjI3IDIzLjExLTcxLjY4OCA1Ni44OTItNzYuNjI1IDgxLjg3NC0yMS42MzUgNjEuMDA4IDQuNjUgMTM1LjU1IDY3LjY4NiAxNTYuMzc1IDQzLjcyNCAxNC40NDMgOTcuNDUtNS4zNDggMTExLjY1Ni01MS4yNSA5LjM2NC0zMC4yNjItNC4yOS02Ni45OTItMzUuNDM3LTc1LjUzMi05LjU0My0yLjYxNi0yMC41OC0xLjU4LTI5LjQzOCAyLjY1OC04Ljg1OCA0LjIzNy0xNS40MSAxMS4yLTE3Ljc4IDIxLjA5My0xLjI5NyA1LjQyLS41NSAxMS45MzUgMS45MDYgMTYuODE0IDIuNDU1IDQuODggNS45OSA4LjAxIDExLjI1IDguOTcgMS44ODMuMzQyIDQuMzEtLjA3NCA2LjI4LS44NDUtMi4wMTctLjUxMi0zLjQ4Mi0xLjU2Mi00LjM0My0yLjM0NS0xLjM5LTEuMjg4LTMuMTY4LTMuNjkzLTMuNjU2LTYuNTYzLS43OC00Ljk5OCAyLjIxNC05LjgyIDUuMDMtMTEuOTA2IDIuODE4LTIuMDg2IDUuNTEtMi45MjUgOC44NDUtMi45MDYgNi4yMS4wMzQgMTEuNDUzIDMuOTcgMTQuMDMgOC4xMjUgMi41NzcgNC4xNTQgMy41MSA4LjYyNSAyLjk3IDEzLjI4di4wMzNjLS45ODIgOC4yODMtNi4zODYgMTQuNzUtMTIuNTMzIDE4LjE4Ny02LjE0NiAzLjQzOC0xMy4xNTMgNC41NTYtMTkuOTY4IDMuMzEzLTExLjQzNS0yLjA4Ny0yMC4wMTctOS44NDItMjQuNTk1LTE4LjkzOC00LjU3OC05LjA5Ni01Ljc4LTE5LjY0NC0zLjQwNi0yOS41NjMgMy43NzQtMTUuNzU2IDE0LjgyNC0yNy4zMzYgMjcuOTA1LTMzLjU5MyAxMy4wOC02LjI1NyAyOC4zMjQtNy42ODMgNDIuNDM4LTMuODEzIDQyLjY3NSAxMS43MDIgNjAuNDk3IDU5Ljc4NyA0OC4zNDMgOTkuMDY0LTE3LjYzNyA1Ni45OS04Mi40OTMgODAuOTM2LTEzNS4zNzUgNjMuNDctNjguMTg0LTIyLjUyNi05OS4xNjMtOTcuMS04NC4yOC0xNjMuNDQtMTguOTE4LTE2LjQzNi0zNC4yOC0zOS41MjYtNDAuNDctNjIuNjI0LTE0Ljc0LTU1LjAxNCAzMi42Ny0xMTQuMzgyIDgyLjE5LTEzMC41NjMgNDIuMjYtMTMuNzc1IDc5LjU3NSA1LjQwNCA2MC4xMjQgMzkuMDk0IDMzLjQ0Ni0yOC4yNDMgMTUuMzctNzkuOC01Ny40MDYtNzkuMTI0eiIgZmlsbD0iI2ZmZiIgZmlsbC1vcGFjaXR5PSIxIj48L3BhdGg+PC9nPjwvc3ZnPg==
data:image/svg+xml;base64,PHN2ZyBzdHlsZT0iaGVpZ2h0OiA1MTJweDsgd2lkdGg6IDUxMnB4OyIgeG1sbnM9Imh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnIiB2aWV3Qm94PSIwIDAgNTEyIDUxMiI+PGcgY2xhc3M9IiIgc3R5bGU9IiIgdHJhbnNmb3JtPSJ0cmFuc2xhdGUoMCwwKSI+PHBhdGggZD0iTTM0Mi41IDE3LjljLTMuMSAxMS42My0yLjIgMjEuNTYtMjMuOCAyNS4xMSAyMC4zLTIuNyAyMi4zIDkuNTggMjQuOCAyMS40OS0yLjggMS45NC01LjUgNC4xMS04LjEgNi40OS0yMS45IDIwLjg0LTMzIDQxLjExLTQ5IDYxLjYxLTYuMyAxLjIgNS4zLTUzLjUyIDMxLjEtNzkuODdDMjI1LjEgNDAuOTIgMjA3LjYgMjY4LjQgMjM2LjQgMjc1Yy01MS43IDE4LjQtNzIuNi05OC4zLTU5LjQtMTU3LjMtMzcuMSAzLjktNjIgMzkuOC02Ny45IDYwIDIuOCAyNy4xIDYuMSA1NS4xIDM4LjcgODAuOS0zMi4xIDMuNi00Mi0yNy44LTU1LjMxLTU0QzEzLjkgMzA5LjUgMTk4LjQgMzExLjQgMjI4LjUgMjk5LjFjLTkzIDcwLjUtMTQ5LjYyIDUyLjMtMTk2Ljc3IDM5LTQwLjQ4IDg1LjEgNjEuNDYgNTYgMTA3LjU3IDM1LjctMTguNCAzMC43LTcyLjI1IDM3LjYtODguOTIgNDEgNjEuNjIgNTEuMyAxNzQuNDItNjcgMjAwLjAyLTEwNi41IDIuNSA2NS43LTc0LjMgMTM0LjQtMTIyLjggMTcxLjcgNDMuNiAyLjIgODMuMi0xNy45IDEwMi40LTU1LjUgMCAxMC4xLTQuMSAyMi42LTkuNiAzNS44IDE1LTIuMSAzOS42LTYuMiA0OC44LTI0LjIgMjUtNTQuMSAzNy44LTkzLjEgMTUuMy0xMzguMiAyOS45IDMzLjUgNjMuNiA2NS4zIDU4LjQgMTE0LjUgMjYuOS0xNS42IDQ4LjgtMzMuNiAyNC43LTYwLjEgMTQuMSAxLjQgMjMuNiA3LjcgMzIuOCAxMy43IDEzLjktMi44IDM0LjQtMTkuOSAzMy43LTMzLTMxLjYtMjkuOC04My40LTQzLjctMTMzLjgtNTUuOSA3Mi4xLTE5LjggMTM2LjktMTAuMSAxNzUuNiA1LjYgNS0xMS43IDkuNC0yOS42IDUuOS00MS45LTE2LjQtOS43LTYyLjctNy44LTgzLjMtNS42IDE3LjctMTUuNyA1Ni44LTIxLjEgODEuMy0yMS4yLTItNjcuNy0xNjIuNiAyNy44LTE4Mi4yIDQyLjggMzIuNy01OS4xIDEyMy4yLTExMi43IDE3OC43LTEyMS4xLTEzLjItMzEuMS0zNy4yLTM0LTY0LjMtMjIuNCAyLjQtOS41IDYuNy0xNy40OSAyMy40LTE1LjI5LTIxLjYtMy41MS0yMC43LTEzLjQ0LTIzLjgtMjUuMDctMi40IDEzLjU1LTQuMSAxNy4xMS0xOS40IDI2LjY3IDE0LjMtMi4xNyAxNi40IDYuNjkgMTcuNCAxNC42OS01My41IDI0LjQtMTE3LjggMTAyLjgtMTM1LjEgMTMyLjUtMjIuMS0yNCA1MS0xMjEuNSAxMDcuNy0xODcuNDYtMy4xLTkuNDgtMjEuOC02LjMxLTM4LjIgNC44MSAxLjEtOC42My43LTIyLjE2IDE3LjktMTkuNTQtMTUuMy05LjYtMTctMTMuMTYtMTkuNC0yNi43MXptLTE2Ni4zLjNjNS40IDEwLjczIDEyLjcgMTcuNTMtMSAzNC41NiAxMy44LTE2LjA3IDIzLjctNy4xMyAzMy45LjIyLTQuNi03LjE5LTE2LjMtMTcuNjctLjctMjcuODYtMTcuOCAzLjA5LTIxLjQgMS41Ny0zMi4yLTYuOTJ6TTQ3LjcxIDI2LjYxYy0zLjA4IDExLjYzLTIuMTMgMjEuNTYtMjMuNzYgMjUuMDUgMjEuMDItMi43NCAyMi4zOSAxMC41NSAyNS4wNiAyMi44MSAxLjQzLTguNDMtLjI4LTIzLjk3IDE4LjE0LTIxLjE2LTE1LjI3LTkuNTktMTYuOTgtMTMuMTUtMTkuNDQtMjYuN3ptNDE5LjM5IDUuNWMxLjYgMTAuODMgMS4zIDEzLjkzLTcuOCAyNS4wNyAxMy4xLTYuOCAxNS45IDUuMzkgMTkuMSAxMS4zOC0xLjItOS45Ny0zLjQtMjAuMzYgMTMuMS0yMy42NC0xNy4yIDIuODctMTkuMS00Ljg1LTI0LjQtMTIuODF6TTEyNS4zIDg0LjI4Yy0uNiAxOC4wMi0xMiAxNy4zMi0yMi43IDE3LjkyIDcgMi40IDIwLjMgMyAxNS4zIDE4LjIgMTAuMi0xMS42IDEzLjMtMTIuNSAyNS4yLTEyLjYtOS40LTQuMy0xNy44LTQuOS0xNy44LTIzLjUyek03MS4yMSAxNTMuOWMtOC42MSA4LjUtMTIuODUgMTcuNS0zMy4yNCA5LjYgMTkuNDcgOC4zIDEzLjk4IDIwLjQgMTAuMDggMzIuNCA1LjQ2LTYuNiAxMS45LTIwLjkgMjYuMzUtOS4xLTguMzgtMTYtOC4wMi0xOS45LTMuMTktMzIuOXpNNDUzLjkgMjgyLjdjLTIuNCA4LjktMS43IDE2LjUtMTguMiAxOS4yIDE2LTIuMSAxNy4xIDguMSAxOS4yIDE3LjUgMS4xLTYuNS0uMi0xOC40IDEzLjgtMTYuMy0xMS43LTcuMy0xMy0xMC0xNC44LTIwLjR6TTY5LjI1IDI5My44Yy0xMi44MiAxMi43LTE2LjcyIDEzLjUtMzAuNDEgMTIuNyAxMC41NSA1LjcgMjAuMzkgNy4xIDE4LjcyIDI5IDIuMy0yMS4xIDE1LjQ2LTE5LjQgMjguMDUtMTkuMS03LjgzLTMuMy0yMy40LTUuMy0xNi4zNi0yMi42em0zOTQuNTUgNTAuN2MzLjEgMTEuNiA4LjkgMTkuNy04IDMzLjYgMTYuOC0xMi45IDI0LjYtMi4yIDMzLjIgNy4xLTMuMS04LTEyLjQtMjAuNiA0LjktMjcuNC0xOC0uNS0yMS4zLTIuOC0zMC4xLTEzLjN6bS0xMzkuMiA3Mi4xYy0yLjcgMTIuMy00LjEgMjUuNS0yNS4xIDIyLjggMjEuNiAzLjUgMjAuNyAxMy40IDIzLjggMjUgMi40LTEzLjUgNC4xLTE3LjEgMTkuNC0yNi42LTE4LjQgMi44LTE2LjctMTIuOC0xOC4xLTIxLjJ6TTgzLjkgNDM4LjJjLTIuODMgMTYtNC44NCAyMC4yLTIyLjg2IDMxLjUgMjEuNjgtMy4zIDE5LjY3IDE1LjEgMjEuMzMgMjUgMy4xOS0xNC41IDQuODQtMzAuMSAyOS42My0yNi45LTI1LjUtNC4yLTI0LjQzLTE1LjktMjguMS0yOS42em0zNjYuMiAxMS40Yy03LjMgOS42LTEwLjIgMTkuMS0zMS41IDE0LjIgMjAuNCA1LjQgMTYuOCAxOC4xIDE0LjYgMzAuNiA0LjUtNy4zIDguOC0yMi40IDI0LjgtMTIuOC0xMC42LTE0LjYtMTAuOC0xOC42LTcuOS0zMnoiIGZpbGw9IiNmZmYiIGZpbGwtb3BhY2l0eT0iMSI+PC9wYXRoPjwvZz48L3N2Zz4=
data:image/svg+xml;base64,PHN2ZyBzdHlsZT0iaGVpZ2h0OiA1MTJweDsgd2lkdGg6IDUxMnB4OyIgeG1sbnM9Imh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnIiB2aWV3Qm94PSIwIDAgNTEyIDUxMiI+PGcgY2xhc3M9IiIgc3R5bGU9IiIgdHJhbnNmb3JtPSJ0cmFuc2xhdGUoMCwwKSI+PHBhdGggZD0iTTI0My42OTUgMTcuM0wyMzAuODIgMTIwLjMwNGwtNjAuMjc5LTQ0LjQ3OSAzNy40NTUgNjguNDczLTY0Ljk2LTguMTkzIDU1LjQ5NSAzNC44OTQtNTMuODk4LTEyLjUwOC0yLjIzNyA4LjQyOC0zNS40MSAxMzMuMzI0LS4wMy4xMzdjLTQuNDUgMTkuMTcuMjI5IDM2LjU3MiAxMC4xMDggNDkuMjg1IDguMDIxIDEwLjMyMSAxOS4xNCAxNy43MjMgMzEuMzYgMjIuMDc0bC0yMC45NjUgOTAuMzMyYy0xMC43MjUtMi4zMTItMTkuNTM1LTMuNzc3LTI2LjQ4Ni0zLjg0LTExLjI3NS0uMTAyLTE3Ljc0OSAzLjQ0Ni0xOS45MzggMTIuODhMMTgyLjY5IDQ5NC43YzMuNTM5LTE1LjI0OC05Ljc5MS0yMS42MTktMzcuNjk3LTI4LjU2bDIwLjk2My05MC4zMzNjMTIuODg2IDEuNDc0IDI2LjEzLS4yNzUgMzcuODc1LTYuMDA4IDE0LjQ3LTcuMDYzIDI2LjMzNS0yMC42MjQgMzAuNzgzLTM5Ljc5M2wuMDMyLS4xMzkgMjMuMjY5LTExNi45MDQgMTguNTIyIDg5Ljk4Ni4wMzMuMTM3YzQuNTczIDE5LjE0IDE2LjUyOCAzMi42MjUgMzEuMDQzIDM5LjU5NCAxMS43ODIgNS42NTYgMjUuMDM2IDcuMzE4IDM3LjkxMiA1Ljc2bDIxLjU1MyA5MC4xOTVjLTI3Ljg2IDcuMTIyLTQxLjE0OCAxMy41OC0zNy41MSAyOC44MDRsMTAxLjQ5OC0yNC4yNTNjLTIuMjUxLTkuNDItOC43NDctMTIuOTI0LTIwLjAyMi0xMi43NDgtNi45NS4xMDgtMTUuNzUxIDEuNjMtMjYuNDYgNC4wMTFsLTIxLjU1My05MC4xOTNjMTIuMTktNC40MyAyMy4yNi0xMS45MDUgMzEuMjEzLTIyLjI3NyA5Ljc5Ni0xMi43NzggMTQuMzYyLTMwLjIxIDkuNzg5LTQ5LjM1bC0uMDM0LS4xMzktMzguNTcyLTE0MS41MDItMzkuMTA3IDkuMzQ2IDQ5Ljc0LTMyLjkwNi03Mi41NjggMTkuODk2IDMxLjYwMS04My42ODctNjEuNDQ5IDcxLjk4NHpNMzUyLjU1IDE1Mi41NDhsMTUuNDM1IDU2LjYyOS05NC40MzUtOS41MjYtNS41MzctMjYuOTA0em0tMTk0Ljk5NiAyNy40MThsODQuNjY2IDE5LjY0OC0yLjM3NSAxMS45MjgtOTMuMzczIDEwLjE1em0xMTkuNzk5IDM4LjE1NmwxNi4yODUgMS42NDNjMy41MjYgMjEuMjg0IDEzLjQwNyA3NS40NiAyNC40NTUgODUuODU1IDEwLjkwNCAxMC4yNiA0NC44NCAyLjU5NiA0NC44NCAyLjU5Ni0zNi44NyAyLjg3LTU3LjkwOC01My45MDItNjguMTA4LTg4LjMzMmw3OC4yMyA3Ljg5MiAxMy4zODIgNDkuMDg4YzMuNDA5IDE0LjMyNS4yMzQgMjUuMjgtNi41NzcgMzQuMTY0LTYuODE5IDguODk1LTE3Ljc3OCAxNS40NTUtMjkuNzQ2IDE4LjMxNS0xMS45NjcgMi44Ni0yNC43MDkgMS45NjQtMzQuODEyLTIuODg3LTEwLjA4OC00Ljg0My0xNy44NzItMTMuMTc4LTIxLjMwOS0yNy40ODh6bS00MS4xOSAxMS45MjZsLTE5LjA5OCA5NS45NDdjLTMuMzQzIDE0LjMzNS0xMS4wNzMgMjIuNzIyLTIxLjEzIDI3LjYzMS0xMC4wNzIgNC45MTYtMjIuODA2IDUuODk3LTM0Ljc5MSAzLjExNS0xMS45ODYtMi43ODEtMjIuOTg5LTkuMjctMjkuODY2LTE4LjExOS02Ljg2Ny04LjgzOC0xMC4xMTQtMTkuNzcxLTYuOC0zNC4xMTVsMTcuMDQzLTY0LjE3MiAxOS40MjctMi4xMTFjLTcuOTQ2IDIyLjk5LTIyLjY4NiA2OC45NzctMTguMzg2IDgyLjMwOCA0LjU5NSAxNC4yNSAzOC4wMTMgMjMuOTI0IDM4LjAxMyAyMy45MjQtMzUuMjQ1LTIwLjYyLTI2LjI0My03Mi44MDktMTguMTY4LTEwNi4zOXoiIGZpbGw9IiNmZmYiIGZpbGwtb3BhY2l0eT0iMSI+PC9wYXRoPjwvZz48L3N2Zz4=
data:image/svg+xml;base64,PHN2ZyBzdHlsZT0iaGVpZ2h0OiA1MTJweDsgd2lkdGg6IDUxMnB4OyIgeG1sbnM9Imh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnIiB2aWV3Qm94PSIwIDAgNTEyIDUxMiI+PGcgY2xhc3M9IiIgc3R5bGU9IiIgdHJhbnNmb3JtPSJ0cmFuc2xhdGUoMCwwKSI+PHBhdGggZD0iTTI0Ny45ODkgMzA3LjkyM2wuODguODgtMTE4LjQ3IDExOC40MmMtMjIuNzQgMjIuNzktNzYuMDkgNTQuNDctNzYuMDkgNTQuNDdhMTcuMjEgMTcuMjEgMCAwIDEtMjIuMTgtMjYuMTZsMTgxLjcyLTE4MS43MXptMjMxLjg2LTI3NS43N2ExNy4yMSAxNy4yMSAwIDAgMC0yNC4zMyAwbC0xODEuNzIgMTgxLjcyIDM0LjEgMzQuMS44OC44OCAxMTguNDItMTE4LjQzYzIyLjc0LTIyLjc0IDU0LjQ3LTc2LjA5IDU0LjQ3LTc2LjA5YTE3LjIxIDE3LjIxIDAgMCAwLTEuODItMjIuMTh6bS01Mi40NCAzMTkuMjRhMzIuNzggMzIuNzggMCAwIDAtMjMuMjUgOS42MmwtNDMuMTcgNDMuMTdhMzIuODkgMzIuODkgMCAwIDAgMCA0Ni41MWw2IDYgODkuNjktODkuNjgtNi02YTMyLjc4IDMyLjc4IDAgMCAwLTIzLjI3LTkuNjJ6bS00Ni44IDEwLjU1bC0xOC42OSAxOC42OWMtNDAuODctNDAuNjQtNjQuMjItNjItMTAyLjY2LTg0bC0zOS4yNy0zOS4zMmMtNjQtNjQtNjUuMTQtODYuNDEtNTcuMTItOTQuNDQgMS45MS0xLjkxIDQuNzYtMy4yOSA5LTMuMjkgMTIuNjQgMCAzNy40NyAxMi40MyA4NS40NiA2MC40MWwzOS4yOSAzOS4yOWMyMS45NSAzOC40NyA0My4zNyA2MS44IDgzLjk5IDEwMi42NnptLTE1Ni44OS0xNjIuODJjLTM0LjMtMjkuODQtNDkuODUtMzMuMTEtNTMuNzktMjkuMTctMi43IDIuNy0xLjkxIDguMzggMi4zMyAxNi45IDQuOTEgOS44NCAxMy44OCAyMi4yMSAyNi43OSAzNi45NHoiIGZpbGw9IiNmZmYiIGZpbGwtb3BhY2l0eT0iMSI+PC9wYXRoPjwvZz48L3N2Zz4=
data:image/svg+xml;base64,PHN2ZyB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIHZpZXdCb3g9IjAgMCA1MTIgNTEyIiBzdHlsZT0iaGVpZ2h0OiA1MTJweDsgd2lkdGg6IDUxMnB4OyI+PGcgY2xhc3M9IiIgdHJhbnNmb3JtPSJ0cmFuc2xhdGUoMCwwKSIgc3R5bGU9InRvdWNoLWFjdGlvbjogbm9uZTsiPjxwYXRoIGQ9Ik0yMTYuNzEzIDIxLjYyYy0xLjk2NCAyMy4zNS0xLjk2MyAyMy4zNDktMjEuODIgMzUuNzg3IDIzLjM0OSAxLjk2NCAyMy4zNDggMS45NjUgMzUuNzg3IDIxLjgyMiAxLjk2My0yMy4zNDkgMS45NjUtMjMuMzUgMjEuODIyLTM1Ljc4OS0yMy4zNS0xLjk2My0yMy4zNS0xLjk2My0zNS43OS0yMS44MnptOTIuNDczIDQyLjk4OGwtMTI3LjcxMyA1Ni40OTMtNDIuNDA5IDU1LjQ1IDgyLjM2NiAyMi4zNSA2Ni4wMjMtNDcuMDY4IDI0Ljk0IDIyLjAzM2MtMTEuNDg5IDkuMTg0LTE0LjAxIDguNjA0LTMyLjc5IDQuMTIzIDE0LjIzNSAxNy4xNCAxNC4yMzQgMTcuMTQgOS4wNjMgMzguODEgMTcuMTQtMTQuMjM0IDE3LjE0LTE0LjIzNCAzOC44MS05LjA2NC0xMi4wNTQtMTQuNTE0LTEzLjg4LTE2Ljc4Mi0xMS4wMjMtMzAuMjgzbDEwLjA4MiA4LjkwOCA1NC4wODYtNDkuOTZ6TTkxLjQ2IDk4LjA5M2MxMy40NDYgMjggMTMuNDQ2IDI4LjAwMS0uODg3IDU1LjU1OCAyOC0xMy40NDYgMjguMDAxLTEzLjQ0OCA1NS41NTkuODg1LTEzLjQ0Ny0yOC0xMy40NDgtMjggLjg4NS01NS41NTctMjguMDAxIDEzLjQ0Ny0yOCAxMy40NDYtNTUuNTU3LS44ODZ6bTM0NS44NDggNDMuMTE1Yy0xNC45NzQgMjcuMjE0LTE0Ljk3MyAyNy4yMTMtNDUuNzI5IDMxLjU2MyAxMS44NDIgNi41MTUgMTguNTI3IDEwLjE5NyAyMi42NjQgMTQuODFsLTUzLjUzMSA2MS44MzggNi4zMDcgMjMuNzc1IDg4LjUwMSA4LjY3OC0yMC44MzQtODIuNTA0YzYuNzU5LTguNTQgMTMuNTQ3LTkuNTEzIDM0LjE4Ni0xMi40MzEtMjcuMjE0LTE0Ljk3NC0yNy4yMTUtMTQuOTczLTMxLjU2NC00NS43Mjl6TTU4LjM4IDI3MC4yNjhjLTcuODc2IDM5LjA1OC03Ljg3NSAzOS4wNTYtNDMuODQ2IDU2LjE5IDM5LjA1NyA3Ljg3NiAzOS4wNTYgNy44NzcgNTYuMTkgNDMuODQ4IDcuODc1LTM5LjA1NyA3Ljg3Ni0zOS4wNTggNDMuODQ3LTU2LjE5Mi0zOS4wNTctNy44NzUtMzkuMDU4LTcuODc0LTU2LjE5MS00My44NDV6bTIzNi42OTEgOC40MWMtMTcuMTM5IDE0LjIzNS0xNy4xNCAxNC4yMzYtMzguODEgOS4wNjUgMTEuNTAyIDEzLjg1IDEzLjcwNSAxNi41MTkgMTEuNCAyOC40NjVsLTE4LjI4My0xMC45NjktMTEuNzA1LTI1LjA4LTI3LjkwNCAxNi42MjUtNDEuMTg0LTEyLjgxMi05LjQ0NyA2NC42OTcgNTYuOTcgNjEuODE4IDgxLjU4Mi03Ni4yNjEtMjQuMDMtMTQuNDE4YzkuNjE0LTcuMjc5IDEzLjAyMi02LjQ4MyAzMC40NzYtMi4zMTktMTQuMjM1LTE3LjEzOS0xNC4yMzYtMTcuMTQtOS4wNjUtMzguODF6bTE3MC44MyAzNy42MjhjLTE0Ljk3MyAyNy4yMTQtMTQuOTc0IDI3LjIxNC00NS43MyAzMS41NjQgMjcuMjE0IDE0Ljk3NCAyNy4yMTUgMTQuOTc1IDMxLjU2NCA0NS43MyAxNC45NzQtMjcuMjE0IDE0Ljk3My0yNy4yMTQgNDUuNzI5LTMxLjU2NC0yNy4yMTUtMTQuOTczLTI3LjIxMy0xNC45NzUtMzEuNTYzLTQ1Ljczek0xNDguMDMgMzYyLjc0OWMtMTQuNzEyIDE4LjIzNy0xNC43MTQgMTguMjM2LTM4LjEzIDE3LjQwOCAxOC4yMzYgMTQuNzEzIDE4LjIzNiAxNC43MTQgMTcuNDA4IDM4LjEzMSAxNC43MTItMTguMjM2IDE0LjcxNC0xOC4yMzYgMzguMTMtMTcuNDA4LTE4LjIzNi0xNC43MTMtMTguMjM2LTE0LjcxNC0xNy40MDgtMzguMTMxem0yMTUuMzQgMTEuNTdsLTQyLjgxIDQ2Ljc5M2MtMTMuMTY4LTE1Ljg3Mi0xMy4xNDUtMTYuNTI3LTguMTA2LTM3LjY0NC0xNy4xNCAxNC4yMzQtMTcuMTM4IDE0LjIzMy0zOC44MDggOS4wNjIgMTQuMjM0IDE3LjE0IDE0LjIzMyAxNy4xNCA5LjA2MiAzOC44MSAxNi42NDItMTMuODIgMTcuMjktMTQuMTc0IDM3LjE0My05LjQ1MmwtOS4wNTEgOS44OTIgMjQuODI4IDU2Ljc1IDEzNS43MDkgMS44NS0zMy40LTkyLjQ1em0tMjc0LjA2NiAyLjE4MkwzMS4xNCA0MTYuODlsMTYuMjUgNjguNDg4IDg2LjgxNC0xNy4wMzMtNDAuNDQ1LTQ0LjQ5eiIgZmlsbD0iI2ZmZiIgZmlsbC1vcGFjaXR5PSIxIj48L3BhdGg+PC9nPjwvc3ZnPg==
data:image/svg+xml;base64,PD94bWwgdmVyc2lvbj0iMS4wIiBlbmNvZGluZz0iVVRGLTgiIHN0YW5kYWxvbmU9Im5vIj8+CjxzdmcKICAgeG1sbnM6ZGM9Imh0dHA6Ly9wdXJsLm9yZy9kYy9lbGVtZW50cy8xLjEvIgogICB4bWxuczpjYz0iaHR0cDovL2NyZWF0aXZlY29tbW9ucy5vcmcvbnMjIgogICB4bWxuczpyZGY9Imh0dHA6Ly93d3cudzMub3JnLzE5OTkvMDIvMjItcmRmLXN5bnRheC1ucyMiCiAgIHhtbG5zOnN2Zz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciCiAgIHhtbG5zPSJodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2ZyIKICAgeG1sbnM6c29kaXBvZGk9Imh0dHA6Ly9zb2RpcG9kaS5zb3VyY2Vmb3JnZS5uZXQvRFREL3NvZGlwb2RpLTAuZHRkIgogICB4bWxuczppbmtzY2FwZT0iaHR0cDovL3d3dy5pbmtzY2FwZS5vcmcvbmFtZXNwYWNlcy9pbmtzY2FwZSIKICAgaW5rc2NhcGU6dmVyc2lvbj0iMS4wICg0MDM1YTRmYjQ5LCAyMDIwLTA1LTAxKSIKICAgc29kaXBvZGk6ZG9jbmFtZT0iZ3Jhdi1oaWdoLnN2ZyIKICAgaWQ9InN2ZzMzNjgiCiAgIHZlcnNpb249IjEuMSIKICAgdmlld0JveD0iMCAwIDUxMiA1MTIiCiAgIHN0eWxlPSJoZWlnaHQ6IDUxMnB4OyB3aWR0aDogNTEycHg7Ij4KICA8bWV0YWRhdGEKICAgICBpZD0ibWV0YWRhdGEzMzc0Ij4KICAgIDxyZGY6UkRGPgogICAgICA8Y2M6V29yawogICAgICAgICByZGY6YWJvdXQ9IiI+CiAgICAgICAgPGRjOmZvcm1hdD5pbWFnZS9zdmcreG1sPC9kYzpmb3JtYXQ+CiAgICAgICAgPGRjOnR5cGUKICAgICAgICAgICByZGY6cmVzb3VyY2U9Imh0dHA6Ly9wdXJsLm9yZy9kYy9kY21pdHlwZS9TdGlsbEltYWdlIiAvPgogICAgICAgIDxkYzp0aXRsZT48L2RjOnRpdGxlPgogICAgICA8L2NjOldvcms+CiAgICA8L3JkZjpSREY+CiAgPC9tZXRhZGF0YT4KICA8ZGVmcwogICAgIGlkPSJkZWZzMzM3MiIgLz4KICA8c29kaXBvZGk6bmFtZWR2aWV3CiAgICAgaW5rc2NhcGU6Y3VycmVudC1sYXllcj0ic3ZnMzM2OCIKICAgICBpbmtzY2FwZTp3aW5kb3ctbWF4aW1pemVkPSIxIgogICAgIGlua3NjYXBlOndpbmRvdy15PSItOCIKICAgICBpbmtzY2FwZTp3aW5kb3cteD0iLTgiCiAgICAgaW5rc2NhcGU6Y3k9IjI1NiIKICAgICBpbmtzY2FwZTpjeD0iMjU2IgogICAgIGlua3NjYXBlOnpvb209IjEuNjYwMTU2MiIKICAgICBzaG93Z3JpZD0iZmFsc2UiCiAgICAgaWQ9Im5hbWVkdmlldzMzNzAiCiAgICAgaW5rc2NhcGU6d2luZG93LWhlaWdodD0iMTAxNyIKICAgICBpbmtzY2FwZTp3aW5kb3ctd2lkdGg9IjE5MjAiCiAgICAgaW5rc2NhcGU6cGFnZXNoYWRvdz0iMiIKICAgICBpbmtzY2FwZTpwYWdlb3BhY2l0eT0iMCIKICAgICBndWlkZXRvbGVyYW5jZT0iMTAiCiAgICAgZ3JpZHRvbGVyYW5jZT0iMTAiCiAgICAgb2JqZWN0dG9sZXJhbmNlPSIxMCIKICAgICBib3JkZXJvcGFjaXR5PSIxIgogICAgIGJvcmRlcmNvbG9yPSIjNjY2NjY2IgogICAgIHBhZ2Vjb2xvcj0iIzAwMDAwMCIgLz4KICA8cGF0aAogICAgIGlkPSJwYXRoMzM1NCIKICAgICBmaWxsLW9wYWNpdHk9IjAiCiAgICAgZmlsbD0iIzAwMCIKICAgICBkPSJNMCAwaDUxMnY1MTJIMHoiIC8+CiAgPGcKICAgICBpZD0iZzMzNjYiCiAgICAgdHJhbnNmb3JtPSJ0cmFuc2xhdGUoMCwwKSIKICAgICBzdHlsZT0idG91Y2gtYWN0aW9uOiBub25lOyIKICAgICBjbGFzcz0iIj4KICAgIDxnCiAgICAgICBpZD0iZzMzNjQiPgogICAgICA8cGF0aAogICAgICAgICBpZD0icGF0aDMzNTYiCiAgICAgICAgIGZpbGwtb3BhY2l0eT0iMSIKICAgICAgICAgZmlsbD0iI2ZmZiIKICAgICAgICAgY2xhc3M9InNlbGVjdGVkIgogICAgICAgICBkPSJNMTk2IDE2TDI1NiA3NkwzMTYgMTZMMTk2IDE2WiIgLz4KICAgICAgPHBhdGgKICAgICAgICAgaWQ9InBhdGgzMzU4IgogICAgICAgICBmaWxsLW9wYWNpdHk9IjEiCiAgICAgICAgIGZpbGw9IiNmZmYiCiAgICAgICAgIGNsYXNzPSIiCiAgICAgICAgIGQ9Ik0xNjYgMTA2TDI1NiAxOTZMMzQ2IDEwNkwxNjYgMTA2WiIgLz4KICAgICAgPHBhdGgKICAgICAgICAgaWQ9InBhdGgzMzYwIgogICAgICAgICBmaWxsLW9wYWNpdHk9IjEiCiAgICAgICAgIGZpbGw9IiNmZmYiCiAgICAgICAgIGNsYXNzPSIiCiAgICAgICAgIGQ9Ik0xMzYgMjI2TDI1NiAzNDZMMzc2IDIyNkwxMzYgMjI2WiIgLz4KICAgICAgPHBhdGgKICAgICAgICAgaWQ9InBhdGgzMzYyIgogICAgICAgICBmaWxsLW9wYWNpdHk9IjEiCiAgICAgICAgIGZpbGw9IiNmZmYiCiAgICAgICAgIGNsYXNzPSIiCiAgICAgICAgIGQ9Ik0yNTcuNzUgMzc2LjAzQzIyMy45NDMgMzc1LjA0NCAxOTYuMDAzIDQwMi4xNzkgMTk2IDQzNkMxOTYgNDgyLjE4OCAyNDYgNTExLjA1NiAyODYgNDg3Ljk2MkMzMDQuNTY0IDQ3Ny4yNDQgMzE2IDQ1Ny40MzYgMzE2IDQzNkMzMTUuOTk4IDQwMy41NDYgMjkwLjE5IDM3Ni45NzcgMjU3Ljc1IDM3Ni4wM1oiIC8+CiAgICA8L2c+CiAgPC9nPgo8L3N2Zz4K
data:image/svg+xml;base64,PD94bWwgdmVyc2lvbj0iMS4wIiBlbmNvZGluZz0iVVRGLTgiIHN0YW5kYWxvbmU9Im5vIj8+CjxzdmcKICAgeG1sbnM6ZGM9Imh0dHA6Ly9wdXJsLm9yZy9kYy9lbGVtZW50cy8xLjEvIgogICB4bWxuczpjYz0iaHR0cDovL2NyZWF0aXZlY29tbW9ucy5vcmcvbnMjIgogICB4bWxuczpyZGY9Imh0dHA6Ly93d3cudzMub3JnLzE5OTkvMDIvMjItcmRmLXN5bnRheC1ucyMiCiAgIHhtbG5zOnN2Zz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciCiAgIHhtbG5zPSJodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2ZyIKICAgeG1sbnM6c29kaXBvZGk9Imh0dHA6Ly9zb2RpcG9kaS5zb3VyY2Vmb3JnZS5uZXQvRFREL3NvZGlwb2RpLTAuZHRkIgogICB4bWxuczppbmtzY2FwZT0iaHR0cDovL3d3dy5pbmtzY2FwZS5vcmcvbmFtZXNwYWNlcy9pbmtzY2FwZSIKICAgaW5rc2NhcGU6dmVyc2lvbj0iMS4wICg0MDM1YTRmYjQ5LCAyMDIwLTA1LTAxKSIKICAgc29kaXBvZGk6ZG9jbmFtZT0iZ3Jhdi1sb3cuc3ZnIgogICBpZD0ic3ZnMzM2OCIKICAgdmVyc2lvbj0iMS4xIgogICB2aWV3Qm94PSIwIDAgNTEyIDUxMiIKICAgc3R5bGU9ImhlaWdodDogNTEycHg7IHdpZHRoOiA1MTJweDsiPgogIDxtZXRhZGF0YQogICAgIGlkPSJtZXRhZGF0YTMzNzQiPgogICAgPHJkZjpSREY+CiAgICAgIDxjYzpXb3JrCiAgICAgICAgIHJkZjphYm91dD0iIj4KICAgICAgICA8ZGM6Zm9ybWF0PmltYWdlL3N2Zyt4bWw8L2RjOmZvcm1hdD4KICAgICAgICA8ZGM6dHlwZQogICAgICAgICAgIHJkZjpyZXNvdXJjZT0iaHR0cDovL3B1cmwub3JnL2RjL2RjbWl0eXBlL1N0aWxsSW1hZ2UiIC8+CiAgICAgICAgPGRjOnRpdGxlPjwvZGM6dGl0bGU+CiAgICAgIDwvY2M6V29yaz4KICAgIDwvcmRmOlJERj4KICA8L21ldGFkYXRhPgogIDxkZWZzCiAgICAgaWQ9ImRlZnMzMzcyIiAvPgogIDxzb2RpcG9kaTpuYW1lZHZpZXcKICAgICBpbmtzY2FwZTpjdXJyZW50LWxheWVyPSJzdmczMzY4IgogICAgIGlua3NjYXBlOndpbmRvdy1tYXhpbWl6ZWQ9IjEiCiAgICAgaW5rc2NhcGU6d2luZG93LXk9Ii04IgogICAgIGlua3NjYXBlOndpbmRvdy14PSItOCIKICAgICBpbmtzY2FwZTpjeT0iNDI1LjkzMDgiCiAgICAgaW5rc2NhcGU6Y3g9IjI4NC4zMTA1OSIKICAgICBpbmtzY2FwZTp6b29tPSIwLjgzMDA3ODEzIgogICAgIHNob3dncmlkPSJmYWxzZSIKICAgICBpZD0ibmFtZWR2aWV3MzM3MCIKICAgICBpbmtzY2FwZTp3aW5kb3ctaGVpZ2h0PSIxMDE3IgogICAgIGlua3NjYXBlOndpbmRvdy13aWR0aD0iMTkyMCIKICAgICBpbmtzY2FwZTpwYWdlc2hhZG93PSIyIgogICAgIGlua3NjYXBlOnBhZ2VvcGFjaXR5PSIwIgogICAgIGd1aWRldG9sZXJhbmNlPSIxMCIKICAgICBncmlkdG9sZXJhbmNlPSIxMCIKICAgICBvYmplY3R0b2xlcmFuY2U9IjEwIgogICAgIGJvcmRlcm9wYWNpdHk9IjEiCiAgICAgYm9yZGVyY29sb3I9IiM2NjY2NjYiCiAgICAgcGFnZWNvbG9yPSIjMDAwMDAwIiAvPgogIDxwYXRoCiAgICAgaWQ9InBhdGgzMzU0IgogICAgIGZpbGwtb3BhY2l0eT0iMCIKICAgICBmaWxsPSIjMDAwIgogICAgIGQ9Ik0wIDBoNTEydjUxMkgweiIgLz4KICA8ZwogICAgIHRyYW5zZm9ybT0idHJhbnNsYXRlKDAsLTEzNS4wNDQ5NikiCiAgICAgaWQ9ImczOTQ4Ij4KICAgIDxwYXRoCiAgICAgICBkPSJtIDE5NiwyODYgNjAsNjAgNjAsLTYwIHoiCiAgICAgICBjbGFzcz0ic2VsZWN0ZWQiCiAgICAgICBmaWxsPSIjZmZmZmZmIgogICAgICAgZmlsbC1vcGFjaXR5PSIxIgogICAgICAgaWQ9InBhdGgzMzU2IiAvPgogICAgPHBhdGgKICAgICAgIGQ9Ik0gMjU3Ljc1LDM3Ni4wMyBDIDIyMy45NDMsMzc1LjA0NCAxOTYuMDAzLDQwMi4xNzkgMTk2LDQzNiBjIDAsNDYuMTg4IDUwLDc1LjA1NiA5MCw1MS45NjIgMTguNTY0LC0xMC43MTggMzAsLTMwLjUyNiAzMCwtNTEuOTYyIC0wLjAwMiwtMzIuNDU0IC0yNS44MSwtNTkuMDIzIC01OC4yNSwtNTkuOTcgeiIKICAgICAgIGNsYXNzPSIiCiAgICAgICBmaWxsPSIjZmZmZmZmIgogICAgICAgZmlsbC1vcGFjaXR5PSIxIgogICAgICAgaWQ9InBhdGgzMzYyIiAvPgogIDwvZz4KPC9zdmc+Cg==
data:image/svg+xml;base64,PD94bWwgdmVyc2lvbj0iMS4wIiBlbmNvZGluZz0iVVRGLTgiIHN0YW5kYWxvbmU9Im5vIj8+CjxzdmcKICAgeG1sbnM6ZGM9Imh0dHA6Ly9wdXJsLm9yZy9kYy9lbGVtZW50cy8xLjEvIgogICB4bWxuczpjYz0iaHR0cDovL2NyZWF0aXZlY29tbW9ucy5vcmcvbnMjIgogICB4bWxuczpyZGY9Imh0dHA6Ly93d3cudzMub3JnLzE5OTkvMDIvMjItcmRmLXN5bnRheC1ucyMiCiAgIHhtbG5zOnN2Zz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciCiAgIHhtbG5zPSJodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2ZyIKICAgeG1sbnM6c29kaXBvZGk9Imh0dHA6Ly9zb2RpcG9kaS5zb3VyY2Vmb3JnZS5uZXQvRFREL3NvZGlwb2RpLTAuZHRkIgogICB4bWxuczppbmtzY2FwZT0iaHR0cDovL3d3dy5pbmtzY2FwZS5vcmcvbmFtZXNwYWNlcy9pbmtzY2FwZSIKICAgc3R5bGU9ImhlaWdodDogNTEycHg7IHdpZHRoOiA1MTJweDsiCiAgIHZpZXdCb3g9IjAgMCA1MTIgNTEyIgogICB2ZXJzaW9uPSIxLjEiCiAgIGlkPSJzdmczMzY4IgogICBzb2RpcG9kaTpkb2NuYW1lPSJncmF2LW1lZGl1bS5zdmciCiAgIGlua3NjYXBlOnZlcnNpb249IjEuMCAoNDAzNWE0ZmI0OSwgMjAyMC0wNS0wMSkiPgogIDxtZXRhZGF0YQogICAgIGlkPSJtZXRhZGF0YTMzNzQiPgogICAgPHJkZjpSREY+CiAgICAgIDxjYzpXb3JrCiAgICAgICAgIHJkZjphYm91dD0iIj4KICAgICAgICA8ZGM6Zm9ybWF0PmltYWdlL3N2Zyt4bWw8L2RjOmZvcm1hdD4KICAgICAgICA8ZGM6dHlwZQogICAgICAgICAgIHJkZjpyZXNvdXJjZT0iaHR0cDovL3B1cmwub3JnL2RjL2RjbWl0eXBlL1N0aWxsSW1hZ2UiIC8+CiAgICAgICAgPGRjOnRpdGxlIC8+CiAgICAgIDwvY2M6V29yaz4KICAgIDwvcmRmOlJERj4KICA8L21ldGFkYXRhPgogIDxkZWZzCiAgICAgaWQ9ImRlZnMzMzcyIiAvPgogIDxzb2RpcG9kaTpuYW1lZHZpZXcKICAgICBpbmtzY2FwZTpkb2N1bWVudC1yb3RhdGlvbj0iMCIKICAgICBwYWdlY29sb3I9IiMwMDAwMDAiCiAgICAgYm9yZGVyY29sb3I9IiM2NjY2NjYiCiAgICAgYm9yZGVyb3BhY2l0eT0iMSIKICAgICBvYmplY3R0b2xlcmFuY2U9IjEwIgogICAgIGdyaWR0b2xlcmFuY2U9IjEwIgogICAgIGd1aWRldG9sZXJhbmNlPSIxMCIKICAgICBpbmtzY2FwZTpwYWdlb3BhY2l0eT0iMCIKICAgICBpbmtzY2FwZTpwYWdlc2hhZG93PSIyIgogICAgIGlua3NjYXBlOndpbmRvdy13aWR0aD0iMTkyMCIKICAgICBpbmtzY2FwZTp3aW5kb3ctaGVpZ2h0PSIxMDE3IgogICAgIGlkPSJuYW1lZHZpZXczMzcwIgogICAgIHNob3dncmlkPSJmYWxzZSIKICAgICBpbmtzY2FwZTp6b29tPSIwLjgzMDA3ODEzIgogICAgIGlua3NjYXBlOmN4PSIyODQuMzEwNTkiCiAgICAgaW5rc2NhcGU6Y3k9IjQyNS45MzA4IgogICAgIGlua3NjYXBlOndpbmRvdy14PSItOCIKICAgICBpbmtzY2FwZTp3aW5kb3cteT0iLTgiCiAgICAgaW5rc2NhcGU6d2luZG93LW1heGltaXplZD0iMSIKICAgICBpbmtzY2FwZTpjdXJyZW50LWxheWVyPSJzdmczMzY4IiAvPgogIDxwYXRoCiAgICAgZD0iTTAgMGg1MTJ2NTEySDB6IgogICAgIGZpbGw9IiMwMDAiCiAgICAgZmlsbC1vcGFjaXR5PSIwIgogICAgIGlkPSJwYXRoMzM1NCIgLz4KICA8ZwogICAgIHRyYW5zZm9ybT0idHJhbnNsYXRlKDAsLTc1LjA0NDk1NikiCiAgICAgaWQ9Imc0NTMwIj4KICAgIDxwYXRoCiAgICAgICBpZD0icGF0aDMzNTYiCiAgICAgICBmaWxsLW9wYWNpdHk9IjEiCiAgICAgICBmaWxsPSIjZmZmZmZmIgogICAgICAgY2xhc3M9InNlbGVjdGVkIgogICAgICAgZD0ibSAxOTYsMTY2IDYwLDYwIDYwLC02MCB6IiAvPgogICAgPHBhdGgKICAgICAgIGlkPSJwYXRoMzM1OCIKICAgICAgIGZpbGwtb3BhY2l0eT0iMSIKICAgICAgIGZpbGw9IiNmZmZmZmYiCiAgICAgICBjbGFzcz0iIgogICAgICAgZD0ibSAxNjYsMjU2IDkwLDkwIDkwLC05MCB6IiAvPgogICAgPHBhdGgKICAgICAgIGlkPSJwYXRoMzM2MiIKICAgICAgIGZpbGwtb3BhY2l0eT0iMSIKICAgICAgIGZpbGw9IiNmZmZmZmYiCiAgICAgICBjbGFzcz0iIgogICAgICAgZD0iTSAyNTcuNzUsMzc2LjAzIEMgMjIzLjk0MywzNzUuMDQ0IDE5Ni4wMDMsNDAyLjE3OSAxOTYsNDM2IGMgMCw0Ni4xODggNTAsNzUuMDU2IDkwLDUxLjk2MiAxOC41NjQsLTEwLjcxOCAzMCwtMzAuNTI2IDMwLC01MS45NjIgLTAuMDAyLC0zMi40NTQgLTI1LjgxLC01OS4wMjMgLTU4LjI1LC01OS45NyB6IiAvPgogIDwvZz4KPC9zdmc+Cg==
data:image/svg+xml;base64,PHN2ZyBzdHlsZT0iaGVpZ2h0OiA1MTJweDsgd2lkdGg6IDUxMnB4OyIgeG1sbnM9Imh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnIiB2aWV3Qm94PSIwIDAgNTEyIDUxMiI+PGcgY2xhc3M9IiIgc3R5bGU9IiIgdHJhbnNmb3JtPSJ0cmFuc2xhdGUoMCwwKSI+PHBhdGggZD0iTTI1NiAzMy43OEMyMDUuMiAxMTkuNiAxNTQuMiAxNzcgMTAzLjcgMjI4LjdjMTAxLjMtMzkuMiAyMDMuMy0zOS4yIDMwNC42IDBDMzU3LjggMTc3IDMwNi44IDExOS42IDI1NiAzMy43OHptMCAxODMuMDJjLTEwLjQgMC0yMC44LjUtMzEuMyAxLjQgNi41IDEwNC4yLTQ4LjQgMjE2LjktMTU4LjI5IDI2OC44SDQ0NS42Yy0xMDkuOS01MS45LTE2NC44LTE2NC42LTE1OC4zLTI2OC44LTEwLjUtLjktMjAuOS0xLjQtMzEuMy0xLjR6IiBmaWxsPSIjZmZmIiBmaWxsLW9wYWNpdHk9IjEiPjwvcGF0aD48L2c+PC9zdmc+
data:image/svg+xml;base64,PHN2ZyBzdHlsZT0iaGVpZ2h0OiA1MTJweDsgd2lkdGg6IDUxMnB4OyIgeG1sbnM9Imh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnIiB2aWV3Qm94PSIwIDAgNTEyIDUxMiI+PGcgY2xhc3M9IiIgc3R5bGU9IiIgdHJhbnNmb3JtPSJ0cmFuc2xhdGUoMCwwKSI+PHBhdGggZD0iTTI1NiAzMy43OEMyMDUuMiAxMTkuNiAxNTQuMiAxNzcgMTAzLjcgMjI4LjdjMTAxLjMtMzkuMiAyMDMuMy0zOS4yIDMwNC42IDBDMzU3LjggMTc3IDMwNi44IDExOS42IDI1NiAzMy43OHptMCAxODMuMDJjLTEwLjQgMC0yMC44LjUtMzEuMyAxLjQgNi41IDEwNC4yLTQ4LjQgMjE2LjktMTU4LjI5IDI2OC44SDQ0NS42Yy0xMDkuOS01MS45LTE2NC44LTE2NC42LTE1OC4zLTI2OC44LTEwLjUtLjktMjAuOS0xLjQtMzEuMy0xLjR6IiBmaWxsPSIjZmZmIiBmaWxsLW9wYWNpdHk9IjEiIHRyYW5zZm9ybT0idHJhbnNsYXRlKDAsIDUxMikgc2NhbGUoMSwgLTEpIHJvdGF0ZSgwLCAyNTYsIDI1Nikgc2tld1goMCkgc2tld1koMCkiPjwvcGF0aD48L2c+PC9zdmc+
data:image/svg+xml;base64,PHN2ZyBzdHlsZT0iaGVpZ2h0OiA1MTJweDsgd2lkdGg6IDUxMnB4OyIgeG1sbnM9Imh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnIiB2aWV3Qm94PSIwIDAgNTEyIDUxMiI+PGcgY2xhc3M9IiIgc3R5bGU9IiIgdHJhbnNmb3JtPSJ0cmFuc2xhdGUoMCwwKSI+PHBhdGggZD0iTTI1NiAzMi45NTFsMTE2LjkyNiAzNS42NjYgODMuMTg1IDg4LjgxIDMwLjA2IDExMi4zMy0yNC44MzEgOC44MzktODcuNzQ0LTY2LjkxNC0yNS4wNzMgMTA3LjA2Mi0xNC4wNzYgNS4wMUgzMTkuMTVMMjU2IDIyOS4zNjdsLTYzLjE1IDk0LjM4N2gtMTUuMjk3bC0xNC4wNzYtNS4wMS0yNS4wNzMtMTA3LjA2Mi04Ny43NDQgNjYuOTE0LTI0LjgzMi04LjgzOCAzMC4wNi0xMTIuMzMgODMuMTg2LTg4Ljgxem0wIDE4LjgxOWwtNzEuNTQgMjEuODIyIDI0LjUxIDMuNzM4LjE1Ny0uMjQ2LjEzOS4yOTFMMjU2IDg0LjUwMmw0Ni43MzQtNy4xMjcuMTQtLjI5MS4xNTUuMjQ2IDI0LjUxLTMuNzM4em0xMDguNjcyIDM0LjM2N0wzMTMuNiA5My45MjZsNTEuMDIzIDgwLjExMyAxOC40MDQtNjguMzA1em0tMjE3LjM0NCAwbC0xOC4zNTUgMTkuNTk3IDE4LjQwNCA2OC4zMDVMMTk4LjQgOTMuOTI2em0xNDYuMDI2IDEwLjg3N0wyNTYgMTAyLjcxbC0zNy4zNTQtNS42OTdMMjU2IDE3NS4yMTd6bTExLjc3MSAxNy4xMTVsLTQyLjQ3OSA4OC45MzMgOTAuMzQyLTEzLjc3OXptLTk4LjI1IDBsLTQ3Ljg2MyA3NS4xNTQgOTAuMzQyIDEzLjc4em0xOTAuNjI5IDcuMDZsLTE1Ljk5MiA1OS4zNTIgNTEuMTMzLTIxLjgzNnptLTI4My4wMDggMGwtMzUuMTQgMzcuNTE2IDUxLjEzMiAyMS44Mzh6bTMyNy40OTIgNTMuMDk4bC01Ni4yNDggMjQuMDIgNzguNzUgNjAuMDU0em0tMzcxLjk3NiAwTDQ3LjUxIDI1OC4zNjFsNzguNzUtNjAuMDU0ek0zNTYuMjAzIDIwN2wtODQuODUxIDEyLjk0MSA2MC42MDcgOTAuNTg4em0tMjAwLjQwNiAwbDI0LjI0NCAxMDMuNTMgNjAuNjA3LTkwLjU4OXpNNDg3IDI4OC4yNjR2MzIuMTRMMzM0LjQ0NyAzNzVIMTc3LjU1M0wyNSAzMjAuNDA0di0zMi4xNGwxNDkuNDQ3IDUzLjQ5aDE2My4xMDZ6TTMyOC4xOTMgMzkzbDEzLjQzIDk0SDE3MC4zNzdsMTMuNDI4LTk0eiIgZmlsbD0iI2ZmZiIgZmlsbC1vcGFjaXR5PSIxIj48L3BhdGg+PC9nPjwvc3ZnPg==
data:image/svg+xml;base64,PHN2ZyBzdHlsZT0iaGVpZ2h0OiA1MTJweDsgd2lkdGg6IDUxMnB4OyIgeG1sbnM9Imh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnIiB2aWV3Qm94PSIwIDAgNTEyIDUxMiI+PGcgY2xhc3M9IiIgc3R5bGU9IiIgdHJhbnNmb3JtPSJ0cmFuc2xhdGUoMCwwKSI+PHBhdGggZD0iTTM4OS45MTcgMTI4LjczdjEwMC44MzZoLTIyLjgwMnYtMTU4LjVhMTcuMTEgMTcuMTEgMCAwIDAtMTcuMTEtMTcuMTFoLTExLjg2M2ExNy4xMSAxNy4xMSAwIDAgMC0xNy4xMSAxNy4xMXYxNTguNWgtMjIuNjk4VjQ2Ljk5M2ExNy4xMSAxNy4xMSAwIDAgMC0xNy4xMS0xNy4xMWgtMTEuODYzYTE3LjExIDE3LjExIDAgMCAwLTE3LjExIDE3LjExdjE4Mi41NzNIMjI5LjVWNzcuMzNhMTcuMTEgMTcuMTEgMCAwIDAtMTcuMTA4LTE3LjExaC0xMS44NjRhMTcuMTEgMTcuMTEgMCAwIDAtMTcuMTEgMTcuMTF2MjYzLjg3M2wtNjMuODU4LTUxLjE0YTIzLjM4NSAyMy4zODUgMCAwIDAtMzAuNzQzIDEuMzJsLTUuNTY3IDUuMzFhMjMuMzg1IDIzLjM4NSAwIDAgMC0yLjAxIDMxLjY3OGwxMDIuMTkgMTI1LjY0N2E3Mi4wMjggNzIuMDI4IDAgMCAwIDU3LjA5MiAyOC4xaDYwLjg1QTEzNC42MzcgMTM0LjYzNyAwIDAgMCA0MzYgMzQ3LjVWMTI4LjczYTE3LjExIDE3LjExIDAgMCAwLTE3LjExLTE3LjEwOGgtMTEuODY0YTE3LjExIDE3LjExIDAgMCAwLTE3LjExIDE3LjExeiIgZmlsbD0iI2ZmZiIgZmlsbC1vcGFjaXR5PSIxIj48L3BhdGg+PC9nPjwvc3ZnPg==
data:image/svg+xml;base64,PHN2ZyBzdHlsZT0iaGVpZ2h0OiA1MTJweDsgd2lkdGg6IDUxMnB4OyIgeG1sbnM9Imh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnIiB2aWV3Qm94PSIwIDAgNTEyIDUxMiI+PHBhdGggZD0iTTAgMGg1MTJ2NTEySDB6IiBmaWxsPSIjMDAwIiBmaWxsLW9wYWNpdHk9IjAiPjwvcGF0aD48ZyBjbGFzcz0iIiBzdHlsZT0idG91Y2gtYWN0aW9uOiBub25lOyIgdHJhbnNmb3JtPSJ0cmFuc2xhdGUoMCwwKSI+PHBhdGggZD0iTTI1NC45NyAzNC43NWMtMzAuNDgtLjE2Ny01OS4wMiAyMi4xMi03OS41MzIgNjIuMTU2LS4wNzUuMTQ2LS4xNzYuMjYtLjI1LjQwNkw0My4wNjMgMzI2Ljc4M2wtLjIyLjM0M0MxOC41IDM2NS40MTMgMTMuMzc3IDQwMS41MTUgMjguNDcgNDI4LjAzYzE1LjA4IDI2LjQ5OCA0OC42MjcgNDAuMTI2IDkzLjUgMzcuOTA4SDM4Ny4wNjNjNDQuODg3IDIuMjI3IDc4LjQ0NS0xMS40MDQgOTMuNTMtMzcuOTA3IDE1LjA5LTI2LjUxIDkuOTU2LTYyLjU5NS0xNC4zNzUtMTAwLjg3NGwtLjIyLS4zNzVMMzM1LjI4IDk4LjA2NGMtLjA2LS4xMi0uMTI0LS4yMjUtLjE4Ni0uMzQ0LTIwLjk0OC00MC4yNjMtNDkuNjI2LTYyLjgwMy04MC4xMjUtNjIuOTd6bS4wNiAxOC44NDRjMTMuNTc2LjEzIDI2LjQ1MyA2LjkzIDM4LjEyNiAxOC4zNDMgMTEuNjA2IDExLjM0NyAyMi41NTQgMjcuNDUzIDMzLjQwNiA0OC4zNDQuMDYzLjEyMi4xMjUuMjI0LjE4OC4zNDVsMTE1LjIyIDIwMS41NjNjLjAzMy4wNTMuMDU4LjEwMi4wOTIuMTU2bC4xMjUuMjJjMTIuOTIgMjAuMjc0IDIxLjM5NSAzOC4wNiAyNS4yODIgNTMuOTY3IDMuOTEgMTYuMDEgMy4wNjMgMzAuNjQ4LTMuODQ1IDQyLjQwOC02LjkwOCAxMS43Ni0xOS4yMjIgMTkuNTMzLTM0Ljc4IDIzLjkwNi0xNS40NDQgNC4zNC0zNC41MDggNS42NTYtNTcuNDA4IDQuNUgxMzcuNjI1Yy0yNC44NDUgMS4yNTgtNDQuNzMtLjMyLTYwLjQwNS01LjEyNS0xNS43OC00Ljg0LTI3LjY4LTEzLjQ1LTMzLjcyLTI1LjY5LTYuMDQtMTIuMjM3LTUuODYyLTI2Ljc5Ny0xLjUtNDIuNDM2IDQuMzMzLTE1LjUzNSAxMi44MTUtMzIuNjA4IDI0Ljg3NS01MS41M2wuMjItLjM3N0wxODMuNTYyIDEyMGMuMDgtLjE1Ny4xNy0uMjguMjUtLjQzOEMxOTQuNTEgOTguNjQ0IDIwNS4zMiA4Mi42IDIxNi44NzUgNzEuMzc2YzExLjY0Mi0xMS4zMDcgMjQuNTgtMTcuOTEzIDM4LjE1Ni0xNy43OHptNDcuNjU3IDYyLjA5M2wtMjguNTMgMjI0LjAzMmgtNDEuODQ0TDIwNC40MzggMTIwLjVjLTEuNDA0IDIuNTU2LTIuODEgNS4yMDUtNC4yMiA3Ljk3bC0uMDkzLjIxOC0uMTI1LjIxOC0xMTYuOTM4IDIwMi45Ny0uMDkzLjE4Ny0uMTI2LjE4N0M3MS4yOCAzNTAuMzQ2IDYzLjU5OCAzNjYuMjI2IDYwIDM3OS4xMjVjLTMuNTk4IDEyLjktMy4xMDggMjIuMzIyLjI1IDI5LjEyNSAzLjM1OCA2LjgwMyA5LjkyNSAxMi4yOCAyMi40NyAxNi4xMjUgMTIuNTQyIDMuODQ1IDMwLjY3IDUuNTQ3IDU0LjQwNSA0LjMxM2wuMjUtLjAzMmgyMzQuMzEzbC4yNS4wM2MyMS44NSAxLjEzOCAzOS4zMDgtLjI4IDUxLjg3NS0zLjgxIDEyLjU2Ni0zLjUzMyAxOS44MjItOC44MjcgMjMuNjg3LTE1LjQwNyAzLjg2NS02LjU4IDQuOTc4LTE1LjU0NSAxLjgxMy0yOC41LTMuMTY2LTEyLjk1OC0xMC43MzItMjkuMzc0LTIzLjA5NC00OC43MmwtLjEyNi0uMTg4LS4xMjUtLjIxOC0xMTUuNjU4LTIwMi4yOC0uMDkzLS4xNTgtLjA2NC0uMTg3Yy0yLjUtNC44MjgtNC45OS05LjMyNi03LjQ3LTEzLjUzMnpNMjMxLjI4IDM2MS44NzVoNDMuOTA3djQzLjkwNkgyMzEuMjh2LTQzLjkwNXoiIGZpbGw9IiNmZmYiIGZpbGwtb3BhY2l0eT0iMSI+PC9wYXRoPjwvZz48L3N2Zz4=
data:image/svg+xml;base64,PHN2ZyBzdHlsZT0iaGVpZ2h0OiA1MTJweDsgd2lkdGg6IDUxMnB4OyIgeG1sbnM9Imh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnIiB2aWV3Qm94PSIwIDAgNTEyIDUxMiI+PGcgY2xhc3M9IiIgc3R5bGU9IiIgdHJhbnNmb3JtPSJ0cmFuc2xhdGUoMCwwKSI+PHBhdGggZD0iTTMxNCAyOS43MmwtMTEuNCAxMS4zNSAzMi41IDMyLjU0IDExLjQtMTEuMzktMzIuNS0zMi41em0zOC4zIDIuNzRjLTMuNS0uMDQtNi44LjEtOS42LjM5IDAgMC0uMS4wMS0uMS4wMmw2MS45IDYxLjg3IDMwLjgtMzAuODJjLTE5LjgtMTcuMDMtNDMuMi0yNi02My41LTI5LjU3LTUuNi0uOTktMTEtMS41Ni0xNS45LTEuNzktMS4yLS4wNS0yLjQtLjA5LTMuNi0uMXptLTUxLjEgMzIuNjlMNjUuMTUgMzAxLjMgMTA4LjkgMzQ1bDQuOS00LjkgNi40LTYuMyA1OCA1OC0xMS4zIDExLjMgNDMuOCA0My44IDIzNi4yLTIzNi4xTDMwMS4yIDY1LjE1em01OC4xIDkuODNsLTExLjQgMTEuMzkgNzcuNyA3Ny43MyAxMS40LTExLjQtNzcuNy03Ny43MnptODguOCAxLjdsLTMwLjggMzAuODIgNjEuOSA2MnYtLjJjLjgtNy42LjUtMTcuOS0xLjUtMjkuMS0zLjYtMjAuMy0xMi42LTQzLjczLTI5LjYtNjMuNTJ6bTEuNyA4OC44MmwtMTEuNCAxMS40IDMyLjUgMzIuNSAxMS40LTExLjQtMzIuNS0zMi41em0tMjI3LjcgMTEuM2wzMy45IDMzLjkgMzMuOS0zMy45IDQ1LjMgNDUuMy0zMy45IDMzLjkgMzMuOSAzMy45LTQ1LjMgNDUuMy0zMy45LTMzLjktMzMuOSAzMy45LTQ1LjMtNDUuMyAzMy45LTMzLjktMzMuOS0zMy45IDQ1LjMtNDUuM3pNNDAuOTQgMzAyLjZMMjkuNyAzMTRsNTUuMTQgNTUuMSAxMS4zMS0xMS4zLTU1LjIxLTU1LjJ6bS04LjA4IDQwYzAgLjEtLjAxLjEtLjAxLjEtLjc4IDcuNi0uNDggMTcuOSAxLjUgMjkuMSAzLjk4IDIyLjYgMTQuNjUgNDkuMSAzNS42OCA3MC4xIDIxLjAzIDIxLjEgNDcuNTcgMzEuOCA3MC4xNyAzNS44IDExLjIgMiAyMS41IDIuMyAyOS4xIDEuNWguMmwtMzkuNC0zOS40LTkuOSA5LjktNTcuOTYtNTcuOSA5LjktOS45LTM5LjI4LTM5LjN6bTg3LjM0IDE2LjZsLTMyLjUgMzIuNiAzMi41IDMyLjUgMzIuNi0zMi41LTMyLjYtMzIuNnptMzQgNTYuNmwtMTEuNCAxMS4zIDU1LjIgNTUuMiAxMS40LTExLjMtNTUuMi01NS4yeiIgZmlsbD0iI2ZmZiIgZmlsbC1vcGFjaXR5PSIxIj48L3BhdGg+PC9nPjwvc3ZnPg==
data:image/svg+xml;base64,PHN2ZyBzdHlsZT0iaGVpZ2h0OiA1MTJweDsgd2lkdGg6IDUxMnB4OyIgeG1sbnM9Imh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnIiB2aWV3Qm94PSIwIDAgNTEyIDUxMiI+PGcgY2xhc3M9IiIgc3R5bGU9IiIgdHJhbnNmb3JtPSJ0cmFuc2xhdGUoMCwwKSI+PHBhdGggZD0iTTI1NiAyMS4xN2MtMi44IDAtNS42IDEuMzgtOC4xIDQuNzEtMi42IDMuMzItNC41IDguNDctNC41IDE0LjM0IDAgNS44NyAxLjkgMTEuMDIgNC41IDE0LjM0IDIuNSAzLjMzIDUuMyA0LjcxIDguMSA0LjcxczUuNi0xLjM4IDguMS00LjcxYzIuNi0zLjMyIDQuNS04LjQ3IDQuNS0xNC4zNCAwLTUuODctMS45LTExLjAyLTQuNS0xNC4zNC0yLjUtMy4zMy01LjMtNC43MS04LjEtNC43MXptLTgwIDIzLjI1djE2LjFsNTggMjh2NDUuOThsLTkuNCA3NS42aC0yM2MtNC44IDQuMS0xMC45IDYuNy0xNy42IDYuNy03IDAtMTMuNC0yLjktMTguNC03LjNMMTA0IDE5NC4xdjE2LjFsNTggMTh2NDZsLTkuMSA3Mi40aC0yM2MtNC45IDQuMy0xMS4xIDctMTcuOSA3LTcgMC0xMy4zLTIuOS0xOC4yLTcuM0wzMiAzMzguNnYxNi4ybDU4IDEwdjQ2bC0xMCA4MGgxNmwxMi03MGg4bDEyIDcwaDE2bC0xMC04MHYtNDZsNTAtMS43IDUwIDEuN3Y0NmwtMTAgODBoMTZsMTItNzBoOGwxMiA3MGgxNmwtMTAtODB2LTQ2bDUwLTEuNyA1MCAxLjd2NDZsLTEwIDgwaDE2bDEyLTcwaDhsMTIgNzBoMTZsLTEwLTgwdi00Nmw1OC0xMHYtMTYuMmwtNjEuOCA3LjhjLTUgNC40LTExLjMgNy4yLTE4LjIgNy4yLTYuOCAwLTEzLTIuNy0xNy45LTdoLTIzbC05LjEtNzIuNXYtNDZsNTgtMThWMTk0bC02MS41IDE1LjRjLTUgNC42LTExLjQgNy41LTE4LjUgNy41LTYuOCAwLTEzLTIuNy0xNy45LTYuOWgtMjIuN2wtOS40LTc1LjVWODguNTJsNTgtMjh2LTE2LjFsLTYxIDI0Ljg1Yy01IDQuODEtMTEuNyA4LTE5IDgtNy41IDAtMTQuMi0zLjMxLTE5LjMtOC4yN3ptNzYgMTAwLjA4aDhsMTEuMiA2NS41SDI0OHYuMWgtNy4yem0tNjggMTYuMmMtMi44IDAtNS42IDEuNC04LjEgNC44LTIuNiAzLjMtNC41IDguNC00LjUgMTQuM3MxLjkgMTEgNC41IDE0LjNjMi41IDMuNCA1LjMgNC43IDguMSA0LjdzNS42LTEuMyA4LjEtNC43YzIuNi0zLjMgNC41LTguNCA0LjUtMTQuM3MtMS45LTExLTQuNS0xNC4zYy0yLjUtMy40LTUuMy00LjgtOC4xLTQuOHptMTQ0IC4xYy0yLjggMC01LjYgMS40LTguMSA0LjgtMi42IDMuMy00LjUgOC40LTQuNSAxNC4zczEuOSAxMSA0LjUgMTQuM2MyLjUgMy40IDUuMyA0LjcgOC4xIDQuN3M1LjYtMS4zIDguMS00LjdjMi42LTMuMyA0LjUtOC40IDQuNS0xNC4zcy0xLjktMTEtNC41LTE0LjNjLTIuNS0zLjQtNS4zLTQuOC04LjEtNC44em0tNzAuNiA2NS42bDQ4LjYgMS43djQ2bC05LjEgNzIuNmgtMjMuMWMtNC45IDQuMi0xMSA2LjktMTcuOCA2LjktNi44IDAtMTIuOS0yLjctMTcuOC02LjloLTIzLjFsLTkuMS03Mi41di00NnptNjYuNiA1Ny43aDhsMTAuNyA2Mi41SDMyMHYuMWgtNi43em0tMTQ0IC4xaDhsMTAuNyA2Mi41SDE5MnYtLjFoLTIyLjd6bS02OCAxMy4yYy0yLjggMC01LjYgMS40LTguMSA0LjgtMi42IDMuMy00LjUgOC40LTQuNSAxNC4zczEuOSAxMSA0LjUgMTQuM2MyLjUgMy40IDUuMyA0LjggOC4xIDQuOHM1LjYtMS40IDguMS00LjhjMi42LTMuMyA0LjUtOC40IDQuNS0xNC4zcy0xLjktMTEtNC41LTE0LjNjLTIuNS0zLjQtNS4zLTQuOC04LjEtNC44em0yODggMGMtMi44IDAtNS42IDEuNC04LjEgNC44LTIuNiAzLjMtNC41IDguNC00LjUgMTQuM3MxLjkgMTEgNC41IDE0LjNjMi41IDMuNCA1LjMgNC44IDguMSA0LjhzNS42LTEuNCA4LjEtNC44YzIuNi0zLjMgNC41LTguNCA0LjUtMTQuM3MtMS45LTExLTQuNS0xNC4zYy0yLjUtMy40LTUuMy00LjgtOC4xLTQuOHptLTE0NCAuMWMtMi44IDAtNS42IDEuNC04LjEgNC43LTIuNiAzLjMtNC41IDguNS00LjUgMTQuNCAwIDUuOCAxLjkgMTEgNC41IDE0LjMgMi41IDMuMyA1LjMgNC43IDguMSA0LjdzNS42LTEuNCA4LjEtNC43YzIuNi0zLjMgNC41LTguNSA0LjUtMTQuMyAwLTUuOS0xLjktMTEuMS00LjUtMTQuNC0yLjUtMy4zLTUuMy00LjctOC4xLTQuN3oiIGZpbGw9IiNmZmYiIGZpbGwtb3BhY2l0eT0iMSI+PC9wYXRoPjwvZz48L3N2Zz4=
data:image/svg+xml;base64,PHN2ZyBzdHlsZT0iaGVpZ2h0OiA1MTJweDsgd2lkdGg6IDUxMnB4OyIgeG1sbnM9Imh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnIiB2aWV3Qm94PSIwIDAgNTEyIDUxMiI+PGcgY2xhc3M9IiIgc3R5bGU9IiIgdHJhbnNmb3JtPSJ0cmFuc2xhdGUoMCwwKSI+PHBhdGggZD0iTTI2MC43IDMxLjFjNS4yLjUxIDkuOSAyLjQ1IDE0LjUgNC45bDkuMS0xNi4zYy02LjQtMy44MS0xMy45LTYuMDctMjAuNy03LjMtLjkgNi4yNC0xLjkgMTIuNDctMi45IDE4Ljd6bS05LjEtMTguNGMtNy42LjUxLTE0LjEgMi41Mi0yMS4xIDZsOC4zIDE2LjdjNS4xLTEuODggOS42LTMuNzIgMTQuNi00bC0xLjgtMTguN3ptLTM4LjUgMTguN2MtNSA1LjE3LTkuOCAxMS42OS0xMi43IDE3bDE2LjMgOS4xYzMuMS00LjcxIDUuOS05LjA5IDkuNi0xMi44LTQuMy00LjQ2LTktOC43OC0xMy4yLTEzLjN6bTg4LjEgMS45bC0xNCAxMi40YzMuOCAzLjk4IDYuNiA4LjYzIDkuMyAxMy40bDE2LjctOC41Yy0zLjUtNi4yOS03LjgtMTIuNTQtMTItMTcuM3pNMTkyLjQgNjcuNGMtMi4xIDYuNzEtMy4zIDE0LjE5LTMuOCAyMC4ybDE4LjYgMS44Yy42LTYuMjIgMS40LTEwLjc0IDMtMTYuNXptMTI4LjIgMi4yYy02IDEuODYtMTIgMy40Mi0xOC4xIDQuOSAxLjEgNS41OCAyLjIgMTEuNzkgMi43IDE2LjZsMTguNy0xYy0uOC03LjA0LTEuOC0xNC4yOC0zLjMtMjAuNXptLTExMy4yIDM2LjZsLTE4LjUgMS45Yy40IDcgMi42IDE0LjMgNC4zIDIwLjFsMTcuOC01LjdjLTEuNy01LjgtMi45LTExLTMuNi0xNi4zem05Ny4yIDEuN2MtLjggNS43LTIuNCAxMS4yLTQgMTYuMmwxNy41IDYuNmMyLjMtNi43IDQuMS0xNCA1LTIwem0tODYuNyAyOS40cy0xMS41IDUuNC0xNi4xIDYuN2MwIDAgNC44IDkuNiA2LjkgMTcuMSA3LjYtMi4yIDE1LjUtMy4yIDIzLjMtNC41LTQuNy02LjktMTAuNS0xMy40LTE0LjEtMTkuM3ptNzUuMyAxLjdjLTQuMiA2LjMtOS4yIDEyLTEzLjkgMTcuOSA3LjggMi4xIDE2IDIuNyAyMy42IDUuNSAwIDAgNC40LTEyLjkgNi4xLTE3LjctNS43LTEuOS0xNS44LTUuNy0xNS44LTUuN3ptLTEwOC45IDEyLjdjLTYuNiA0LjQtMTEuMSA4LjEtMTYuMSAxMy40bDEzLjUgMTIuOWM0LjYtNC41IDcuOC03LjUgMTIuNi0xMC41em0xNDMuNiAyLjhsLTEwLjggMTUuMmM0LjYgMy4xIDguNyA2LjkgMTIuMyAxMS4xbDEzLjktMTIuNWMtNS40LTUuNi05LjQtOS44LTE1LjQtMTMuOHptLTE3Mi4xIDI3LjRjLTMuNSA1LjctNi4zIDExLjgtOC43IDE4bDE3LjQgNi45YzItNS40IDQuNS0xMC43IDcuNS0xNS42em0xOTkuNSAzLjJsLTE2LjIgOS4yYzIuOCA1LjEgNS40IDEwLjQgNy42IDE1LjhMMzY0IDIwM2MtMi40LTYuMi01LjUtMTIuMS04LjctMTcuOXptLTIxNC4yIDMzLjhjLTEuNiA2LjItMyAxMi43LTMuOCAxOS4ybDE4LjQgMi44Yy44LTUuOSAyLjItMTEuNyAzLjUtMTcuNXptMjI5LjEgM2wtMTguMSA0LjhjMS44IDUuNyAyLjYgMTEuNSAzLjggMTcuNGwxOC40LTMuMWMtMS4xLTYuNC0yLjMtMTIuOC00LjEtMTkuMXptLTIzNS4xIDM1LjVjLS41IDYuOC0uNiAxMi42LS42IDE5LjNoMTguN2MuMS02LjMuMi0xMi45LjYtMTh6bTI0MS42IDIuOWwtMTguNyAxLjVjLjUgNS44LjggMTIgLjggMThsMTguNy0uMWMtLjEtNy0uNC0xMy4yLS44LTE5LjR6bS0yMjMgMzQuNmwtMTguNyAxYy40IDYuNCAxIDEyLjcgMS43IDE5LjFsMTguNi0yYy0uOC02LTEuMi0xMi4xLTEuNi0xOC4xem0yMDQuNSAyLjljLS4yIDYtMSAxMi0xLjcgMThsMTguNSAyLjRjMS02LjMgMS40LTEyLjcgMS45LTE5LjF6TTEzOSAzMjkuNmMuNSA2LjMgMiAxMi45IDIuOSAxOC4zaDIwLjN2LTE4LjdjLTcuNy0uMi0xNS40LjEtMjMuMi40em00MS45LS40Yy0uMSA2LjQgMCAxMi4zIDAgMTguN2wxOS4yLS41Yy0uNS02LjEtLjktMTIuMS0xLjItMTguMnptMTMwIDBjLS41IDYuMy0xIDEyLjctMS41IDE5bDE4LjcgMS40LS4yLTIwLjR6bTM1LjcgMHYxOC43aDIzLjJjMS4zLTYuNCAyLjMtMTEuNiAzLjQtMTgtOC44LS45LTE3LjctLjctMjYuNi0uN3ptLTE0NS4zIDM2LjlsLTE4LjYgMS4yIDEuMiAxOC43IDE4LjYtMS4zem0xMDYuNy43bC0xLjMgMTguNiAxOC42IDEuNCAxLjQtMTguNnptLTYwLjIgMTEuOXYxOC43aDE4LjZ2LTE4Ljd6bS00NCAyNC43bC0xOC43IDEuMiAxLjMgMTguN0wyMDUgNDIyem0xMDEuNS43bC0xLjQgMTguNiAxOC42IDEuNCAxLjQtMTguNnptLTU3LjUgMTJ2MTguN2gxOC42di0xOC43em0tNDEuNiAyNC42bC0xOC42IDEuMiAxLjIgMTguNyAxOC43LTEuM3ptOTYuMy42bC0xLjQgMTguNyAxOC42IDEuNCAxLjQtMTguN3ptLTU0LjcgMTIuMnYxOC43aDE4LjZ2LTE4Ljd6TTIwOC43IDQ3OGwtMTguNyAxLjJjLjUgNi44LjkgMTMuNiAxLjQgMjAuNGgxNS43em05MSAuNmwuOCAyMWgxNi40Yy40LTYuNSAxLTEzLjEgMS41LTE5LjZ6bS03My45IDIuM3YxOC43aDE4LjZ2LTE4Ljd6bTM3LjMgMHYxOC43aDE4Ljd2LTE4Ljd6IiBmaWxsPSIjZmZmIiBmaWxsLW9wYWNpdHk9IjEiPjwvcGF0aD48L2c+PC9zdmc+
data:image/svg+xml;base64,PHN2ZyBzdHlsZT0iaGVpZ2h0OiA1MTJweDsgd2lkdGg6IDUxMnB4OyIgeG1sbnM9Imh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnIiB2aWV3Qm94PSIwIDAgNTEyIDUxMiI+PGcgY2xhc3M9IiIgc3R5bGU9IiIgdHJhbnNmb3JtPSJ0cmFuc2xhdGUoMCwwKSI+PHBhdGggZD0iTTI1OC4yNSAxOS41OTRjLTc2LjA5NS40OTItMTUyLjI3NSA0Mi40OC0xNzEuODQ0IDEzOS44MTItMi43MDYgMTMuNDYuMjA4IDIyLjE3MiA3LjQwNiAzMC4wNjMgNi4xOCA2Ljc3NCAxNi4yODYgMTIuNjUgMjkuMzEzIDE3LjE1NSA4Ljg3LTYuMDE1IDE3LjQxNy0xOS4zOTUgMjAuNDctMzQuMTU2IDEuMTM2IDE1LjU2OCA3LjEwMiAzMy4wNjYgMTcuMjggNDIuNTMgMTIuODA3IDEuNzI2IDI2LjU5NyAyLjc1MiA0MC43OCAzLjE4OEMyMDUuNSAxMjMuOTY4IDMxMy45OSAxMTQuNzEgMzIzLjIyIDIwOC41YzExLjY1NS0yLjQzNyAyMi44NjgtNS4zMjcgMzMuMjgtOC42NTYgMTEuMTA3LTE1LjY1NiA3LjY5Mi0yNi4wNyA1LjAzLTQxIDguMTYgMTEuMDM1IDExLjMzMiAyMi4wOTUgMjguMzE0IDI3LjI1IDkuOTUyLTUuMzcgMTguMDM0LTExLjMxMiAyMy42ODctMTcuNSA4LjE2My04LjkzNiAxMS40OTQtMTcuNjk1IDkuOTctMjguNDctMTAuNjc2LTc1LjQ1Ny04NC4zNC0xMTkuNjk1LTE2MS42MjUtMTIwLjUzLTEuMjA4LS4wMTMtMi40MTctLjAwOC0zLjYyNSAwem0tMjkuMjIgMjMuMDkzYzI0LjM2NyAwIDQ0LjEyNiAxOS43MyA0NC4xMjYgNDQuMDk0IDAgMjQuMzY3LTE5Ljc2IDQ0LjEyNi00NC4xMjUgNDQuMTI2LTIuMzM4IDAtNC42MzMtLjE4LTYuODc0LS41My0zLjY4NCAxNC41NS0xNi44NjUgMjUuMzQzLTMyLjU2MiAyNS4zNDMtMTguNTUyIDAtMzMuNTk0LTE1LjA0NC0zMy41OTQtMzMuNTk1IDAtMTYuOTg0IDEyLjYwNC0zMS4wMyAyOC45Ny0zMy4yOC0uMDMyLS42ODItLjAzMi0xLjM3NS0uMDMyLTIuMDY0IDAtMjQuMzY1IDE5LjcyNy00NC4wOTMgNDQuMDkzLTQ0LjA5M3ptOTUuMzQ1IDU1Ljk3YzEwLjggMCAxOS41NjMgOC43NjQgMTkuNTYzIDE5LjU2MiAwIDEwLjc5Ny04Ljc2NCAxOS41My0xOS41NjMgMTkuNTMtMTAuOCAwLTE5LjUzLTguNzMzLTE5LjUzLTE5LjUzIDAtMTAuOCA4LjczLTE5LjU2NCAxOS41My0xOS41NjR6bTc3LjE1NiAxMDIuMzEyYy01LjMyIDMtMTEuMDI1IDUuNzg3LTE3LjAzIDguMzc0IDEyLjcxIDE1LjU0NSAxOS44OCAzNC43MSAyMi43NSA1NC4yNSA0Ljg1NSAzMy4wNTUtNC4zNTMgNjYuNDEtMTYuODEzIDc4Ljk3LTI0LjMxIDI0LjUtMzAuNTQ3IDU3LjQ2NC0yMy4xMjUgODguMjQ4IDUuNTczIDIzLjExNSAxOC40OTUgNDUuMjk4IDM2LjkzOCA2My40MDdoMjkuMDNjLTI0LjYyMy0xNy41My00MS43NTItNDIuNjUtNDcuODEtNjcuNzgzLTYuMi0yNS43MDQtMS40MDYtNTAuOTA4IDE4LjI1LTcwLjcxOCAxOS42ODUtMTkuODQyIDI3LjU3My01Ny4xMDcgMjIuMDMtOTQuODQ1LTMuMDYyLTIwLjg1LTEwLjc5LTQyLjA1LTI0LjIyLTU5LjkwNnptLTQxLjA2IDE3LjI1Yy01Ljk5NyAxLjg4Ni0xMi4yIDMuNTk1LTE4LjUzMyA1LjE4NiA4LjkxIDE2LjMxNCAxNC4wNCAzMC41NDUgMTUuNjI1IDQzLjA2MyAyLjY4MiAyMS4xNzMtMy41NDggMzguMTI0LTIwLjE4NyA1Ni41OTItMjMuMTE4IDI1LjY2LTI0LjAxIDU0LjUxMi0yNy41NjMgODIuNjI1LTMuNSAyNy43MDItOS4wNTUgNTUuODItMzguODEyIDg4LjUzMmgyNC4zNDRjMjMuOC0zMS4yOTIgMjkuNzk0LTYwLjgxNiAzMy04Ni4xOSAzLjY4Ny0yOS4xOCA0LjI0LTUxLjcxOCAyMi45MDYtNzIuNDM2IDE5LjEyNy0yMS4yMyAyOC4xODgtNDUuMDY1IDI0Ljg0NC03MS40Ny0xLjgzOC0xNC41MDYtNy4wOTgtMjkuNi0xNS42MjUtNDUuOTA1em0tMzkuNzUgOS45MDVjLTIxLjgzIDQuMjE2LTQ0LjcwNyA2Ljg1My02Ny4wMzMgOC4wMy0xNi40NzYuODctMzMuMzM1IDEuMjQtNDkuODc1Ljg0NS0xNC4zMDYgMTQuMDM1LTI2LjA3IDI5LjU0LTMzLjc4IDQ1LjgxMy0xMi44NzUgMjcuMTc0LTEzLjc3NiA1Ny43NjcgNS41NjIgODIuODEyLjI5NS4zODIuNTcuNzg4Ljg0NCAxLjE4OC0xMC4yMzYgNi4wOC0yMS40MSAxMS41LTMzLjI1IDE2Ljc1LTIzLjAzNyAxMC4yMS00OC4zNSAxOS4zMjQtNzIuODEzIDMxLjEyNSA2LjUwNS0yNy42MzcgMTcuMDY4LTQ5LjcwNCAyOS4xODgtNjIuMDYzIDE2Ljk5Ni0xNy4zMzMgMzUuNDQtMzIuNzYgNDYtNTcuODQ0IDYuODM4LTE2LjI0NSA5Ljk2Ni0zNS45OCA3Ljc1LTYxLjkwNS02LjU5LTEuMDE2LTEyLjk2NC0yLjI3Ni0xOS4wOTQtMy43MiAyLjk3IDI2LjIzLjA2NiA0NC4yNi01Ljg3NiA1OC4zNzYtOC41NjggMjAuMzU1LTI0LjQgMzMuOTU1LTQyLjEyNSA1Mi4wMzMtMTguNDgyIDE4Ljg0NS0zMS43NDQgNDkuNjYtMzcuODE0IDg2Ljc1LTkuMzcgNS40NjMtMTguNDUgMTEuNTAyLTI3LjA2MiAxOC40MDZ2MjQuOTM2YzcuNDU0LTcuMjQ3IDE1LjYtMTMuNjMyIDI0LjI1LTE5LjQwNi0xLjA2NyAxNC4wOTYtMS4xNzggMjguODMzLS4yMiA0My45N2gxOC43NWMtMS4yNTctMTkuNjg1LS40NDgtMzguNjYgMS45NC01Ni4xNTggMjYuNzctMTQuMjg4IDU2LjUwNS0yNC45IDg0LjcxNy0zNy40MDYgMTAuNTI0LTQuNjY0IDIwLjg2NC05LjY5IDMwLjcyLTE1LjM3NS0uMTI1IDEwLjUyNC00LjA3NyAyMy4xNzUtMTIuMzQ0IDM3LjE5LTE0LjI2NiAyNC4xOC00MC45MSA1MC42NjYtNzcuMzQ0IDcxLjc1aDM0LjM0NGMyNi4zODYtMTkuMTI4IDQ2LjQ1Ny00MC44MyA1OS4wOTQtNjIuMjUgMTEuNzc1LTE5Ljk2IDE3LjMyNy00MC41MzcgMTMuOTA2LTU4LjA5NSAyMS4yNS0xNS40MDMgMzguNzItMzUuMzMgNDguMjgtNjMuNDcgOS4xMTIgMS43NSAxOC41MTMuOTk2IDI1LjMxNC0yLjEyNC4yNTYtLjExNi41LS4yNTIuNzUtLjM3NC03Ljk4NiA2OC44NjMtNDIuNzMgMTM3LjIxNy0xMTIuMzEzIDE4Ni4zMTNoMzAuNzJjNjkuNTUzLTU4LjAyNyAxMDAuNjg2LTEzNi44NTUgMTAyLjAzLTIxMy4wMzMgMTguNjUtNy41NSAzMS4zMzctMjYuNzk3IDI2Ljc4Mi01My4wNjJ6TTIxMS43NSAyNTUuNzJjMS4xNzIgMy45NjYgMy4wMjQgNy40ODQgNS4zNzUgMTAuNzE4bDIuOTM4IDQuMDMtMS43MiA0LjY4OGMtMy4zMzUgOS4xMTgtMS40OSAxNS4zMDggMy41IDIxLjM3NSAyLjEyMyAyLjU4IDQuOTUgNC45NzYgOC4yNSA3LjA2NC03LjU0MyAyMy4yOTYtMjAuODk3IDM5Ljc1My0zOC4xMjQgNTIuODQ0LS41MTItLjc1LTEuMDM0LTEuNDkyLTEuNTk1LTIuMjItMTQuODc3LTE5LjI2Ny0xNC4zMzYtNDAuNDY3LTMuNDctNjMuNDA2IDUuNjE4LTExLjg1NSAxNC4yMjMtMjMuOCAyNC44NDUtMzUuMDkzeiIgZmlsbD0iI2ZmZiIgZmlsbC1vcGFjaXR5PSIxIj48L3BhdGg+PC9nPjwvc3ZnPg==
data:image/svg+xml;base64,PHN2ZyB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIHZpZXdCb3g9IjAgMCA1MTIgNTEyIiBzdHlsZT0iaGVpZ2h0OiA1MTJweDsgd2lkdGg6IDUxMnB4OyI+PGcgY2xhc3M9IiIgdHJhbnNmb3JtPSJ0cmFuc2xhdGUoMCwwKSIgc3R5bGU9InRvdWNoLWFjdGlvbjogbm9uZTsiPjxwYXRoIGQ9Ik0yNTYuMTc1IDMyQTIyNCAyMjQgMCAwIDAgMTU2LjExIDU1LjY4aDE5OS43MUEyMjQgMjI0IDAgMCAwIDI1Ni4xNzQgMzJ6TTEwNC4yNDcgOTEuNjhhMjI0IDIyNCAwIDAgMC0zMC42NjggMzQuODRsMzU1LjQ4Mi0xMi42OTRhMjI0IDIyNCAwIDAgMC0yMS4wNjUtMjIuMTQ2aC0zMDMuNzV6TTU0LjA5MyAxNjBhMjI0IDIyNCAwIDAgMC02Ljk4NyAxNi4zMDNsNDIwLjc5NyA3LjQxYTIyNCAyMjQgMCAwIDAtOS41OS0yMy43MTNINTQuMDkzem0tMTMuMDM3IDM0LjJhMjI0IDIyNCAwIDAgMC02LjE2OCAyOC44OTRsNDQxLjM4Ni04LjAyNGEyMjQgMjI0IDAgMCAwLTIuOTc2LTEzLjI1N0w0MS4wNTYgMTk0LjJ6bTQzNy42OTMgMzguODI3TDMyLjkyIDI0MS4xM2EyMjQgMjI0IDAgMCAwLS43NDUgMTQuODcgMjI0IDIyNCAwIDAgMCAxLjQzIDIzaDI1MS41Yy0zLjE5IDEuNDEzLTYuMjE0IDMuMDItOS4wMjQgNC44MTYtNS41NzYgMy41NjgtMTAuNDI1IDguMDM1LTE0LjAwNSAxMy4xODRIMzYuMDlhMjI0IDIyNCAwIDAgMCA3LjkzIDMwSDI1Ny40NmMzLjEwMiA5LjAyMyAxMC4wMDIgMTYuNjcyIDE4LjYyIDIyLjE4NCAzLjE2MiAyLjAyMyA2LjU5MyAzLjgwMiAxMC4yMzUgNS4zMzZsLTIyNS4yIDExLjA1OGEyMjQgMjI0IDAgMCAwIDExLjAxNyAxNy42N2wzNTkuNzg1IDExLjI0NGEyMjQgMjI0IDAgMCAwIDI5LjI2OC00OC41NmwtOTkuNjUyIDQuODk0Yy45My0uNTMgMS44NDQtMS4wNzQgMi43MzMtMS42NDIgOC42MTUtNS41MTIgMTUuNTE2LTEzLjE2IDE4LjYxOC0yMi4xODRoODUuNTNhMjI0IDIyNCAwIDAgMCA3LjgyLTMwaC05Ny45NjRjLTMuNTgtNS4xNS04LjQyOC05LjYxNi0xNC4wMDUtMTMuMTg0LTIuODEyLTEuNzk3LTUuODM0LTMuNDAzLTkuMDI3LTQuODE2SDQ3OC45NmEyMjQgMjI0IDAgMCAwIC44NjUtMTUuOTQ1bC03NS44MDgtMTAuOTE4czQ4LjQ1Mi00LjEzIDc1LjU0LTYuMzQ0YTIyNCAyMjQgMCAwIDAtLjgwOC0xMi43NjZ6TTMyMC4xNzQgMjkwYzEzLjc3IDAgMjYuMSAzLjY3NCAzNC4zOTQgOC45OCA4LjI5MiA1LjMwMyAxMi4xMDUgMTEuNTIgMTIuMTA1IDE3LjUycy0zLjgxMyAxMi4yMTctMTIuMTA2IDE3LjUyYy04LjI5NCA1LjMwNi0yMC42MjUgOC45OC0zNC4zOTUgOC45OC0xMy43NyAwLTI2LjEwMi0zLjY3NC0zNC4zOTUtOC45OC04LjI5My01LjMwMy0xMi4xMDUtMTEuNTItMTIuMTA1LTE3LjUyczMuODEyLTEyLjIxNyAxMi4xMDUtMTcuNTJjOC4yOTMtNS4zMDYgMjAuNjI0LTguOTggMzQuMzk1LTguOTh6TTk2LjQ5MyA0MTNhMjI0IDIyNCAwIDAgMCAxOC44OTcgMTdoMjgxLjY5M2EyMjQgMjI0IDAgMCAwIDE4LjU5LTE3SDk2LjQ5M3ptODIuNTM3IDUzYTIyNCAyMjQgMCAwIDAgNzcuMTQ1IDE0IDIyNCAyMjQgMCAwIDAgNzcuNDg4LTE0SDE3OS4wM3oiIGZpbGw9IiNmZmYiIGZpbGwtb3BhY2l0eT0iMSI+PC9wYXRoPjwvZz48L3N2Zz4=
data:image/svg+xml;base64,PHN2ZyB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIHZpZXdCb3g9IjAgMCA1MTIgNTEyIiBzdHlsZT0iaGVpZ2h0OiA1MTJweDsgd2lkdGg6IDUxMnB4OyI+PGcgY2xhc3M9IiIgdHJhbnNmb3JtPSJ0cmFuc2xhdGUoMCwwKSIgc3R5bGU9InRvdWNoLWFjdGlvbjogbm9uZTsiPjxwYXRoIGQ9Ik0yNTYuMTc1IDMyQTIyNCAyMjQgMCAwIDAgMTU2LjExIDU1LjY4aDE5OS43MUEyMjQgMjI0IDAgMCAwIDI1Ni4xNzQgMzJ6TTEwNC4yNDcgOTEuNjhhMjI0IDIyNCAwIDAgMC0zMC42NjggMzQuODRsMzU1LjQ4Mi0xMi42OTRhMjI0IDIyNCAwIDAgMC0yMS4wNjUtMjIuMTQ2aC0zMDMuNzV6TTU0LjA5MyAxNjBhMjI0IDIyNCAwIDAgMC02Ljk4NyAxNi4zMDNsNDIwLjc5NyA3LjQxYTIyNCAyMjQgMCAwIDAtOS41OS0yMy43MTNINTQuMDkzem0tMTMuMDM3IDM0LjJhMjI0IDIyNCAwIDAgMC02LjE2OCAyOC44OTRsNDQxLjM4Ni04LjAyNGEyMjQgMjI0IDAgMCAwLTIuOTc2LTEzLjI1N0w0MS4wNTYgMTk0LjJ6bTQzNy42OTMgMzguODI3TDMyLjkyIDI0MS4xM2EyMjQgMjI0IDAgMCAwLS43NDUgMTQuODcgMjI0IDIyNCAwIDAgMCAxLjQzIDIzaDI1MS41Yy0zLjE5IDEuNDEzLTYuMjE0IDMuMDItOS4wMjQgNC44MTYtNS41NzYgMy41NjgtMTAuNDI1IDguMDM1LTE0LjAwNSAxMy4xODRIMzYuMDlhMjI0IDIyNCAwIDAgMCA3LjkzIDMwSDI1Ny40NmMzLjEwMiA5LjAyMyAxMC4wMDIgMTYuNjcyIDE4LjYyIDIyLjE4NCAzLjE2MiAyLjAyMyA2LjU5MyAzLjgwMiAxMC4yMzUgNS4zMzZsLTIyNS4yIDExLjA1OGEyMjQgMjI0IDAgMCAwIDExLjAxNyAxNy42N2wzNTkuNzg1IDExLjI0NGEyMjQgMjI0IDAgMCAwIDI5LjI2OC00OC41NmwtOTkuNjUyIDQuODk0Yy45My0uNTMgMS44NDQtMS4wNzQgMi43MzMtMS42NDIgOC42MTUtNS41MTIgMTUuNTE2LTEzLjE2IDE4LjYxOC0yMi4xODRoODUuNTNhMjI0IDIyNCAwIDAgMCA3LjgyLTMwaC05Ny45NjRjLTMuNTgtNS4xNS04LjQyOC05LjYxNi0xNC4wMDUtMTMuMTg0LTIuODEyLTEuNzk3LTUuODM0LTMuNDAzLTkuMDI3LTQuODE2SDQ3OC45NmEyMjQgMjI0IDAgMCAwIC44NjUtMTUuOTQ1bC03NS44MDgtMTAuOTE4czQ4LjQ1Mi00LjEzIDc1LjU0LTYuMzQ0YTIyNCAyMjQgMCAwIDAtLjgwOC0xMi43NjZ6TTMyMC4xNzQgMjkwYzEzLjc3IDAgMjYuMSAzLjY3NCAzNC4zOTQgOC45OCA4LjI5MiA1LjMwMyAxMi4xMDUgMTEuNTIgMTIuMTA1IDE3LjUycy0zLjgxMyAxMi4yMTctMTIuMTA2IDE3LjUyYy04LjI5NCA1LjMwNi0yMC42MjUgOC45OC0zNC4zOTUgOC45OC0xMy43NyAwLTI2LjEwMi0zLjY3NC0zNC4zOTUtOC45OC04LjI5My01LjMwMy0xMi4xMDUtMTEuNTItMTIuMTA1LTE3LjUyczMuODEyLTEyLjIxNyAxMi4xMDUtMTcuNTJjOC4yOTMtNS4zMDYgMjAuNjI0LTguOTggMzQuMzk1LTguOTh6TTk2LjQ5MyA0MTNhMjI0IDIyNCAwIDAgMCAxOC44OTcgMTdoMjgxLjY5M2EyMjQgMjI0IDAgMCAwIDE4LjU5LTE3SDk2LjQ5M3ptODIuNTM3IDUzYTIyNCAyMjQgMCAwIDAgNzcuMTQ1IDE0IDIyNCAyMjQgMCAwIDAgNzcuNDg4LTE0SDE3OS4wM3oiIGZpbGw9IiNmZmYiIGZpbGwtb3BhY2l0eT0iMSIgdHJhbnNmb3JtPSJ0cmFuc2xhdGUoNTEuMiwgNTEuMikgc2NhbGUoMC44LCAwLjgpIHJvdGF0ZSgwLCAyNTYsIDI1NikiPjwvcGF0aD48L2c+PC9zdmc+
data:image/svg+xml;base64,PHN2ZyB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIHZpZXdCb3g9IjAgMCA1MTIgNTEyIiBzdHlsZT0iaGVpZ2h0OiA1MTJweDsgd2lkdGg6IDUxMnB4OyI+PGcgY2xhc3M9IiIgdHJhbnNmb3JtPSJ0cmFuc2xhdGUoMCwwKSIgc3R5bGU9InRvdWNoLWFjdGlvbjogbm9uZTsiPjxwYXRoIGQ9Ik0yNTYuMTc1IDMyQTIyNCAyMjQgMCAwIDAgMTU2LjExIDU1LjY4aDE5OS43MUEyMjQgMjI0IDAgMCAwIDI1Ni4xNzQgMzJ6TTEwNC4yNDcgOTEuNjhhMjI0IDIyNCAwIDAgMC0zMC42NjggMzQuODRsMzU1LjQ4Mi0xMi42OTRhMjI0IDIyNCAwIDAgMC0yMS4wNjUtMjIuMTQ2aC0zMDMuNzV6TTU0LjA5MyAxNjBhMjI0IDIyNCAwIDAgMC02Ljk4NyAxNi4zMDNsNDIwLjc5NyA3LjQxYTIyNCAyMjQgMCAwIDAtOS41OS0yMy43MTNINTQuMDkzem0tMTMuMDM3IDM0LjJhMjI0IDIyNCAwIDAgMC02LjE2OCAyOC44OTRsNDQxLjM4Ni04LjAyNGEyMjQgMjI0IDAgMCAwLTIuOTc2LTEzLjI1N0w0MS4wNTYgMTk0LjJ6bTQzNy42OTMgMzguODI3TDMyLjkyIDI0MS4xM2EyMjQgMjI0IDAgMCAwLS43NDUgMTQuODcgMjI0IDIyNCAwIDAgMCAxLjQzIDIzaDI1MS41Yy0zLjE5IDEuNDEzLTYuMjE0IDMuMDItOS4wMjQgNC44MTYtNS41NzYgMy41NjgtMTAuNDI1IDguMDM1LTE0LjAwNSAxMy4xODRIMzYuMDlhMjI0IDIyNCAwIDAgMCA3LjkzIDMwSDI1Ny40NmMzLjEwMiA5LjAyMyAxMC4wMDIgMTYuNjcyIDE4LjYyIDIyLjE4NCAzLjE2MiAyLjAyMyA2LjU5MyAzLjgwMiAxMC4yMzUgNS4zMzZsLTIyNS4yIDExLjA1OGEyMjQgMjI0IDAgMCAwIDExLjAxNyAxNy42N2wzNTkuNzg1IDExLjI0NGEyMjQgMjI0IDAgMCAwIDI5LjI2OC00OC41NmwtOTkuNjUyIDQuODk0Yy45My0uNTMgMS44NDQtMS4wNzQgMi43MzMtMS42NDIgOC42MTUtNS41MTIgMTUuNTE2LTEzLjE2IDE4LjYxOC0yMi4xODRoODUuNTNhMjI0IDIyNCAwIDAgMCA3LjgyLTMwaC05Ny45NjRjLTMuNTgtNS4xNS04LjQyOC05LjYxNi0xNC4wMDUtMTMuMTg0LTIuODEyLTEuNzk3LTUuODM0LTMuNDAzLTkuMDI3LTQuODE2SDQ3OC45NmEyMjQgMjI0IDAgMCAwIC44NjUtMTUuOTQ1bC03NS44MDgtMTAuOTE4czQ4LjQ1Mi00LjEzIDc1LjU0LTYuMzQ0YTIyNCAyMjQgMCAwIDAtLjgwOC0xMi43NjZ6TTMyMC4xNzQgMjkwYzEzLjc3IDAgMjYuMSAzLjY3NCAzNC4zOTQgOC45OCA4LjI5MiA1LjMwMyAxMi4xMDUgMTEuNTIgMTIuMTA1IDE3LjUycy0zLjgxMyAxMi4yMTctMTIuMTA2IDE3LjUyYy04LjI5NCA1LjMwNi0yMC42MjUgOC45OC0zNC4zOTUgOC45OC0xMy43NyAwLTI2LjEwMi0zLjY3NC0zNC4zOTUtOC45OC04LjI5My01LjMwMy0xMi4xMDUtMTEuNTItMTIuMTA1LTE3LjUyczMuODEyLTEyLjIxNyAxMi4xMDUtMTcuNTJjOC4yOTMtNS4zMDYgMjAuNjI0LTguOTggMzQuMzk1LTguOTh6TTk2LjQ5MyA0MTNhMjI0IDIyNCAwIDAgMCAxOC44OTcgMTdoMjgxLjY5M2EyMjQgMjI0IDAgMCAwIDE4LjU5LTE3SDk2LjQ5M3ptODIuNTM3IDUzYTIyNCAyMjQgMCAwIDAgNzcuMTQ1IDE0IDIyNCAyMjQgMCAwIDAgNzcuNDg4LTE0SDE3OS4wM3oiIGZpbGw9IiNmZmYiIGZpbGwtb3BhY2l0eT0iMSIgdHJhbnNmb3JtPSJ0cmFuc2xhdGUoMTAyLjQsIDEwMi40KSBzY2FsZSgwLjYsIDAuNikgcm90YXRlKDAsIDI1NiwgMjU2KSI+PC9wYXRoPjwvZz48L3N2Zz4=
data:image/svg+xml;base64,PHN2ZyBzdHlsZT0iaGVpZ2h0OiA1MTJweDsgd2lkdGg6IDUxMnB4OyIgeG1sbnM9Imh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnIiB2aWV3Qm94PSIwIDAgNTEyIDUxMiI+PGRlZnM+PGNsaXBQYXRoIGlkPSJpY29uLWJnIj48cGF0aCBkPSJNMCAwaDUxMnY1MTJIMHoiIGZpbGw9IiMwMDAiIGZpbGwtb3BhY2l0eT0iMCI+PC9wYXRoPjwvY2xpcFBhdGg+PC9kZWZzPjxwYXRoIGQ9Ik0wIDBoNTEydjUxMkgweiIgZmlsbD0iIzAwMCIgZmlsbC1vcGFjaXR5PSIwIj48L3BhdGg+PGcgY2xhc3M9IiIgc3R5bGU9InRvdWNoLWFjdGlvbjogbm9uZTsiIHRyYW5zZm9ybT0idHJhbnNsYXRlKDAsMCkiPjxwYXRoIGQ9Ik0zNTguNSAyODMuMjNjLTIyLjg5IDMuMS01MiA1LjIzLTg4LjcyIDYuNDgtMjMuMy43OS00OS40MyAxLjE5LTc3LjY4IDEuMTktMzUuNTcgMC02Ny4yNy0uNjMtODYuODktMS4wOWEyMDguNjkgMjA4LjY5IDAgMCAwIDguOSA1OC41MWMyMi40MiA3NC44OCA4MS4yOSAxMjUuNTUgMTM5Ljg4IDEyNS41NWE5OSA5OSAwIDAgMCAyOC40OC00LjE2YzY1LTE5LjQ2IDk4LjA5LTEwMS45NiA3Ni4wMy0xODYuNDh6bS0xNjIuMzggODcuMjhsLTEzLjU4LTguMjUtNiAxMC41My0xNS43NC05IDYuMjctMTAuOTMtMTQtOC41IDkuNDItMTUuNSAxMy41OCA4LjI1IDYtMTAuNTMgMTUuNzQgOS02LjI3IDEwLjkzIDE0IDguNXptOTguMy0yNS44MmwtMTMuNTgtOC4yNS02IDEwLjUzLTE1Ljc0LTkgNi4yNC0xMC45Ny0xNC04LjQ5IDkuNDUtMTUuNTEgMTMuNTggOC4yNSA2LTEwLjUzIDE1Ljc0IDktNi4yNyAxMC45MyAxNCA4LjV6bTEyMS43OS0yMjcuMjdsMjIgMTguMzMgMjQuMzItMTUuMDgtMTAuNjQgMjYuNTcgMjEuODYgMTguNDctMjguNTUtMS45MS0xMC44NCAyNi41LTctMjcuNzUtMjguNTQtMi4xIDI0LjE3LTE1LjIzem0tLjIyLTc4Ljg0bDIuMDggMTcuODggMTcuNjIgMy42Ny0xNi4zNiA3LjUgMiAxNy44OS0xMi4yMS0xMy4yNC0xNi40MSA3LjM5TDQwMS41MyA2NGwtMTIuMS0xMy4zMyAxNy42NSAzLjU1em0tMzUzLjA3LS40NUw4MS4zNSA2MGwyNi41OS0xMC41OC0xNS4xMyAyNC4zMiAxOC4yOCAyMi0yNy43OC02Ljg3LTE1LjMyIDI0LjE5LTItMjguNTQtMjcuNzQtNy4wNyAyNi41Mi0xMC43NnptMzUzLjA3IDIwNS4zMWMtNC41NiAxMi42Ni0yNS41NiAyNi4xNS0xNDYuNzIgMzAuMjctMjUuODguODgtNTIuNDcgMS4xOC03Ny4xNCAxLjE4LTQxLjkxIDAtMTIxLjItMS4yMS0xMjEuMi0xLjIxdi0xNnM3OS40NyAxLjIxIDEyMS4yMSAxLjIxYzI0LjE0IDAgNTAuMTItLjI5IDc1LjQzLTEuMTQgMzguNzctMS4yOSA2OS45My0zLjY5IDkyLjYyLTcuMTEgMzQuMDctNS4xNSAzOS44MS0xMS4yMyA0MC42My0xMi40NC0uMjQtLjU3LTEuMjItMi4zNS00Ljg2LTUuMjMtMTAuMTQtOC0yOC41My0xNi01My4zLTIzLjQ0YTIwMi40MSAyMDIuNDEgMCAwIDAtMTYuNTYtMjEuMjJjMiAuNTEgNCAxIDUuODggMS41MyAzNS4xNyA5LjM2IDYwIDE5LjY0IDczLjg4IDMwLjU2IDYuNTEgNS4xOCAxMy41OCAxMy4zNiAxMC4xMyAyMy4wNHptLTMwNC44MS0xLjUxYzEuNS03LjMzIDguODQtMjYuNSAxMi40MS0zMS45MiA1Ni4zNSAzLjg2IDE1MC44NS0xNS43MiAxNzYuMzgtMjUuMTYgMTUuMjEgMTMuMjUgMzIuNzEgMzUuODQgNDAuNjEgNTIuMTktNTcuMzEgNi41Mi0xNTkuNDMgNi42NS0yMjkuNDMgNC45em0xOS40LTcyLjA5Yy0xMC4wOC0uNi0zMy43My0yLjA3LTQyLjY1IDIgMTEuODcgMTEuMjEgNzUgMTIuNDYgMTI4LjIzIDQuOTIgNTcuMDYtOC4wOCAxMTAtMjEuNDYgMTQxLjA3LTQyLjYzIDEyLjk0LTguODIgMTkuNzgtMjEuNzEgMTguNTQtMjcuNDMtNi4zLTI5LjE2LTE3NC4xMi0zOS40Ni0xNzQuMTItMzkuNDZzMTc4LjI5IDMuNjkgMTc5LjYxIDM5LjQ1YzEuNDIgMzguMzYtODIuMTQgNjcuOC0xNjIuNDQgODAuMzMtNzYuMjcgMTEuOS0xNDkuMzkgMTIuNzMtMTQ1LjYtMTguNzMgMi4yLTE4LjI4IDUxLjMzLTE0Ljg3IDcyLjU5LTEyLjQ1LTQuMjIgMi45MS0xMS45NSAxMC41Ni0xNS4yNiAxNC4wMXptNzUuODgtMTkuMTNhMTA2LjI4IDEwNi4yOCAwIDAgMSA0Mi41OCA0LjZjLTEyLjczIDMuMTItNTguMjkgOS4zMS04NS4xNiAxMCAyMS4yMS0xMi45MyAzOC43OS0xNC4xNCA0Mi41NS0xNC41OXoiIGZpbGw9IiNmZmZmZmYiIGZpbGwtb3BhY2l0eT0iMSIgY2xpcC1wYXRoPSJ1cmwoI2ljb24tYmcpIj48L3BhdGg+PC9nPjwvc3ZnPg==
data:image/svg+xml;base64,PHN2ZyBzdHlsZT0iaGVpZ2h0OiA1MTJweDsgd2lkdGg6IDUxMnB4OyIgeG1sbnM9Imh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnIiB2aWV3Qm94PSIwIDAgNTEyIDUxMiI+PGcgY2xhc3M9IiIgc3R5bGU9IiIgdHJhbnNmb3JtPSJ0cmFuc2xhdGUoMCwwKSI+PHBhdGggZD0iTTM3NC42ODggMzMuNzhjLTQwLjc1My0uMjUtODIuNDc1IDIxLjIyNi0xMDkuMjIgNzEuNzgybC03LjkwNiAxNC45MzgtOC40NjgtMTQuNjU2Yy0zMi42NDMtNTYuNjI4LTkxLjUyLTc3LjYyOC0xNDEuNDA2LTY3LjgxM0M1Ny44MDEgNDcuODQ4IDE3LjA5IDg3LjA3NSAxOS4zMSAxNTcuMTI2YzEuMjc2IDQwLjIzMiAxOC44ODYgNzIuMzE0IDQ0Ljg3NiAxMDIuMDYzIDcuNDI1LTE5LjE2MyAxMi44Ni00MC43OTQgMTYuMjE4LTY0Ljg0NGwuMDMtLjE4OC4wMzMtLjIyYzMuMjctMTcuNTggMTYuMTMzLTI4LjQ1IDI5LjQwNS0yOS4zMSAxLjg5Ni0uMTI0IDMuOC0uMDQ2IDUuNjg4LjI1IDE0Ljg3IDIuMzIzIDI3LjEwOCAxNy40MjIgMjQuNzE4IDM2LjU5M3YuMDZsLS4wMy4wNjRjLTUuMTk1IDM3LjE5LTE1LjQwOCA3MS44LTMwLjcyIDEwMi4xMjUgMy41NTIgMy4xNTQgNy4xNCA2LjMyIDEwLjc4MiA5LjUgMi4zMTYgMi4wMTggNC43MiA0LjA2MiA3LjA2MyA2LjA5MiAxMC4wMTgtMi40NDggMjAuODg0LTYuMTIzIDMyLjMxMy0xMC44MTIuNDMzLjY5Ny44NzUgMS4zOTUgMS4zNDMgMi4wOTRsOS42MjYgMTQuMzc1Yy04Ljg2IDMuNjktMTcuNTQyIDYuODQ4LTI1Ljk3IDkuMzc0IDQyLjQ4MiAzNi45NTUgODYuMjIgNzcuNDA3IDExMi43NSAxMzIuNDM3IDE2Ljg4Mi0zMy4yMzUgNDAuMTctNjAuNjY4IDY1LjUwMi04NS4xMjQtMS44MTgtMS40NTMtMy40OTMtMy4xMzgtNC45Ny01LjA2Mi04LjAyLTEwLjQ1Ny03LjY2OC0yNC40MjQtMi43MTgtMzdzMTQuNTEzLTI0LjgwNCAyNy41NjMtMzQuODEzYzEzLjA1LTEwLjAwOCAyNy4zMi0xNi4wNCA0MC43NS0xNy41NiAzLjM1Ny0uMzggNi43MTMtLjQ3NiAxMC0uMjIgOS43NC43NiAxOC43OTYgNC41MDUgMjQuODEyIDEyLjE1NiAxOS4yMi0xNy4yMSAzNi4zNzgtMzQuNjggNDkuNDA2LTUzLjYyNSAxNy40MDItMjUuMyAyNy42ODItNTIuOTkgMjYuNTk1LTg3Ljg0My0xLjQyNi00NS43MjUtMjIuMDI3LTgwLjQzLTUwLjkwNi0xMDEuMzEyLTEuMjcgMTAuNjc2LTQuNjMyIDIxLjc3LTkuNjI2IDMzLjE1Ni0uMDc1LS4wNS0uMTQ0LS4xMDUtLjIyLS4xNTVsLTE1Ljg3NC0xMC41M2M1LjA3OC0xMi40NTUgNy43Mi0yMy43NiA3LjU2My0zMy4yNS03LjMxLTMuNTItMTQuOTI3LTYuMjkyLTIyLjc1LTguMjUtOS4xMDQtMi4yOC0xOC40Ny0zLjUwNi0yNy44NzUtMy41NjR6bTEzLjY1NiA1My4xMjZjMy43ODYtLjA0NiAxMC4wMyAxLjU1MiAxNy44NzUgNi43NWwxNy4wOTIgMTEuMzEzYzEyLjY1NiA4LjM4NyAxMi41IDE2LjY2MyAxMC45NyAxOS4yOC0uNzY2IDEuMzA4LTEuOCAyLjMzMy01LjEyNiAyLjUtMy4zMjUuMTY3LTkuMDAzLTEuMTAzLTE2LjM0NC01Ljk3bC0xNy4wNjItMTEuMzFjLTcuMjUtNC44MDYtMTEuMDgtOS44MjUtMTIuNjI1LTEzLjUzMi0xLjU0NS0zLjcwOC0xLjAwMy01Ljc0Mi0uMzQ0LTYuODEzLjY2LTEuMDcgMS43NzgtMi4xNzIgNS41NjQtMi4yMnpNMTEzLjMxMyAxMjQuNDdjMjEuNzYyLjE3NCA0Mi45MTUgMTEuNDYzIDU0LjU2MiAzMS41IDE2LjQ5OCAyOC4zOCA4LjA4NyA2NC40NzItMTguMzEzIDgzLjAzbDYuMzc1LTM4Ljg0NGMzLjM1OC0xMS4yNDMgMi4xOTMtMjMuNzgzLTQuMjE4LTM0LjgxMi03Ljc0OC0xMy4zMjctMjEuMzI0LTIxLjE2My0zNS42NTctMjIuMTU2LTEuMDc2LS4wNzUtMi4xNy0uMDk4LTMuMjUtLjA5NC03LjU3LjAyMy0xNS4yMjIgMS45NTItMjIuMjgyIDYtMTIuODUzIDcuMzctMjAuNjMgMTkuOTU2LTIyLjE1NSAzMy40MzdsLTguMjIgMzkuOTdjLS43NDUtMS4xMTQtMS40NzItMi4yMzItMi4xNTUtMy40MDYtMTcuNDktMzAuMDg1LTcuMDI4LTY4Ljg3NSAyMy4yMi04Ni4yMiA5LjQ1LTUuNDIgMTkuNzczLTguMTIgMzAtOC4zNzQuNzAyLS4wMTggMS4zOS0uMDM3IDIuMDkzLS4wM3ptMjc1LjkzNyAzLjE1NWwxMy4yNSA4Ljc1Yy44MDUuNTM0IDEuNjA3IDEuMDEzIDIuNDA2IDEuNS03LjUyNSAxMC4yMzctMTUuOTI1IDIwLjU1LTI1LjAzIDMwLjg0NGwtMTMuODQ1LTEyLjU2NGM4LjQ2OC05LjU4MiAxNi4yNy0xOS4xMzUgMjMuMjItMjguNTN6bS01NS41NjMgMzIuMTg4Yy42Ni0uMDMgMS40MzguMDI1IDIuMzc1LjE1NiAzLjc1LjUyMiA5LjY4NCAzLjAyMyAxNi42NTcgOS4zNDNsMi42ODYgMi40MzcgMTIuNSAxMS4zNDRjMTEuMjUgMTAuMTk2IDkuODQ1IDE4LjM2IDcuOTM4IDIwLjcyLS45NTQgMS4xNzctMi4xMjUgMi4wMi01LjQzOCAxLjY4Ni0zLjMxMi0uMzM1LTguNzI0LTIuNDMtMTUuMjUtOC4zNDRsLTE1LjE4Ny0xMy43NWMtNi40NDUtNS44NC05LjQ3LTExLjM4My0xMC40NC0xNS4yOC0uOTctMy45LS4xMjUtNS44MjIuNjktNi43ODIuNjEtLjcyIDEuNDg3LTEuNDQzIDMuNDY3LTEuNTN6TTExMC43OCAxODMuMTg4Yy00LjU5Ny4wMzItOS44NTIgMi45NTUtMTEuOTM2IDE0LjE1Ni05LjYzNCA2OC40MzItMzYuMDQgMTIxLjE3LTc5LjAzIDE1My4yNWwtLjAwMiAyNi41NjJDNzYuNiAzNDIuMjggMTEwLjY5OCAyNzguMTM2IDEyMS43NSAxOTljMS4zMjMtMTEuMDc2LTMuOTEzLTE0Ljg1Mi05LjA2My0xNS42NTYtLjYyLS4wOTctMS4yNS0uMTYtMS45MDYtLjE1NnpNMzI2LjU5NSAxOTYuNWMuMjcuMjUyLjUzNi41LjgxMi43NWwxMy4wNjMgMTEuODEzYy03LjMwNSA2LjgzNC0xNC44MDggMTMuNTg0LTIyLjUgMjAuMTg3LTMuMzk2IDIuOTE0LTYuODMzIDUuNzk3LTEwLjI4MyA4LjY1NkwyOTUuNDcgMjIzLjc4YzMuNDgtMi44NjIgNi45MzMtNS43NiAxMC4zNDItOC42ODYgNy4wOTUtNi4wOSAxNC4wMzYtMTIuMzAzIDIwLjc4Mi0xOC41OTR6bS02NC41NjMgMjcuMDYzYy44MjYtLjAzMyAxLjg4LjEwNCAzLjI1LjQ2OCAzLjY2Ljk3MiA5LjI3OCA0LjE3IDE1LjQ0IDExLjI4MmwxMy40MDUgMTUuNDdjOS45NCAxMS40NzYgNy41ODMgMTkuNDIgNS40MDYgMjEuNTMtMS4wODcgMS4wNTUtMi4zNzYgMS43NjQtNS42MjQgMS4wMzItMy4yNDgtLjczMi04LjM2LTMuNDctMTQuMTI1LTEwLjEyNWwtMTMuNDM2LTE1LjQ3Yy01LjY5NC02LjU3NC04LjAwNy0xMi40Mi04LjUtMTYuNDA2LS40OTQtMy45ODcuNTc3LTUuODMzIDEuNS02LjY4OC40Ni0uNDI3IDEuMDIzLS44MjUgMS45MzctMSAuMjMtLjA0My40NzYtLjA4My43NS0uMDk0em0tMTEuNjI0IDM0LjIxOGMuNTg1LjczMiAxLjE4MiAxLjQ2IDEuODEzIDIuMTlsMTAuNjg2IDEyLjMxYy0xMy44NTQgOS43OTItMjcuODI0IDE4Ljg5NS00MS42ODcgMjcuMDY0LS42MDUtMS4wNC0xLjI1LTIuMDY2LTEuOTQtMy4wOTRsLTguODEtMTMuMTI1YzEzLjE4Ny03LjY0IDI2LjU5OC0xNi4xNDMgMzkuOTM2LTI1LjM0NHpNMTc0LjUgMjc1LjY5Yy45MjgtLjA2IDIuMTgyLjEzNiAzLjkzOC44NDMgMy41MSAxLjQxNiA4LjY2OCA1LjI3NyAxMy45MDYgMTMuMDk1bDExLjQwNiAxNy4wM2M4LjQ1IDEyLjYxNSA1LjE0IDIwLjIwNyAyLjcyIDIyLjAzMy0xLjIxLjkxMi0yLjU4NiAxLjQzOC01LjcyLjMxMnMtNy44OC00LjQ2NS0xMi43OC0xMS43OGwtMTEuNDA3LTE3Yy00Ljg0LTcuMjI3LTYuNDA4LTEzLjMyOC02LjQwNy0xNy4zNDUuMDAyLTQuMDE3IDEuMjYtNS43MDMgMi4yOC02LjQzOC41MTItLjM2NyAxLjEzNi0uNjg4IDIuMDY0LS43NXptMjE0LjQ3IDI5Ljg0M2MtMS4wNi4wMy0yLjE1Ny4xMi0zLjMxNC4yNS05LjI1NyAxLjA1LTIwLjgzIDUuNjg1LTMxLjQ3IDEzLjg0NS0xMC42MzggOC4xNi0xOC4xMTggMTguMTQ0LTIxLjUzIDI2LjgxMy0zLjQxMiA4LjY2OC0yLjc1NSAxNC45ODUuMTU2IDE4Ljc4IDIuOTEyIDMuNzk2IDguODA2IDYuMDQ4IDE4LjA2MyA1IDEuOTI2LS4yMTcgMy45NjQtLjYgNi4wNjMtMS4xMjQtMy4wNjMtOC40OC0yLjU4Ni0xNy4xMiAxLjAzLTI0IDUuNTA2LTEwLjQ3NCAxNi43Mi0xNi43MzIgMjguNzItMTYuMzc1IDUuMzcuMTU4IDEwLjY0MyAxLjgyNyAxNS40NjggNC43MTcuNjY3LTEuMzEgMS4yNTMtMi42MTIgMS43NS0zLjg3NSAzLjQxMi04LjY3IDIuNzU1LTE0Ljk1NC0uMTU2LTE4Ljc1LTIuMTgzLTIuODQ1LTYuMDQyLTQuODQ2LTExLjc1LTUuMjE4LS45NS0uMDYyLTEuOTcyLS4wOTItMy4wMy0uMDYzem0tMy43ODMgNDEuODc2Yy00LjYyMy4yMS04Ljg2NSAyLjk3LTEwLjY1NiA2LjM3NS0xLjg5NyAzLjYxMy0yLjUyNyA4LjE0NSA0LjA2NCAxNS42OSAyNy4yMjIgMjguNTg1IDY5LjczNSA1My44OSAxMTYuMjggNjQuMjh2LTI1LjVjLTM5LjMwMi0xMC41MjgtNzUuOTE3LTMyLjItOTguNS01NS44NDQtMy42OS0zLjYxMi03LjE3LTQuOTA4LTEwLjI1LTUtLjMxLS4wMS0uNjI4LS4wMTQtLjkzNyAweiIgZmlsbD0iI2ZmZiIgZmlsbC1vcGFjaXR5PSIxIj48L3BhdGg+PC9nPjwvc3ZnPg==
data:image/svg+xml;base64,PHN2ZyBzdHlsZT0iaGVpZ2h0OiA1MTJweDsgd2lkdGg6IDUxMnB4OyIgeG1sbnM9Imh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnIiB2aWV3Qm94PSIwIDAgNTEyIDUxMiI+PGcgY2xhc3M9IiIgc3R5bGU9IiIgdHJhbnNmb3JtPSJ0cmFuc2xhdGUoMCwwKSI+PHBhdGggZD0iTTEzMi4yNTUgMTguMDkzYy0zMi44NDIgMC01OS41OTIgMzMuOTIzLTU5LjU5MiA3NS45MzUgMCAyMS4yNzQgNy4wNzkgNDAuNDY4IDE4LjA5MiA1NC4yODRDMjIuNjIzIDE1OC44NzkgNy45MDMgMjUzLjczMyAyNC4xIDMzOS44NzRoMjMuNTYzTDQ2LjYzIDIzNC41M2wxOC42ODgtLjE4NSAxLjI1IDEyNi42ODUgOC43NSAxMzIuODc3aDQ2Ljg3NXYtMTcyLjI5Yy0xNS4yNTctMTguNzEzLTI1LjYxNS0zOS4zNTEtMjYuNDI0LTY0LjgyNWwtLjAwNC0uMXYtLjFjLS4xNTQtMTUuOTg4IDYuNDc4LTM1LjY0MyAxOS4yMTktNTIuNTY2IDEyLjc0MS0xNi45MjIgMzIuNDgxLTMwLjk4IDU3Ljc4My0zMS4yOSAxNy4yNTItLjIxMiAzNS40NTggNS4wMTMgNTEuMzM4IDE0Ljc3MS0xMi4xMzEtMjAuMjE0LTI5LjI0NS0zNC4xNzctNTEuMjYtMzguMzIgMTEuNTA3LTEzLjg4IDE4Ljk3MS0zMy4zNDUgMTguOTcxLTU1LjE1Ny4wOTctMzYuOTAzLTI0LjgwNS03Ni4wNDEtNTkuNTYyLTc1LjkzN3ptMjQ3Ljg0MSAwYy0zMi44NDIgMC01OS41OTEgMzMuOTIzLTU5LjU5MSA3NS45MzUgMCAyMS4yNzQgNy4wNzggNDAuNDY4IDE4LjA5MSA1NC4yODQtMjUuMjk2IDMuOTIzLTQzLjIyMyAxOS40NzMtNTQuOTQ1IDQxLjg3NSAxNi44MDMtMTEuNDc2IDM2LjY5Ny0xNy42ODIgNTUuNDY1LTE3LjQ1MiAyNS4zMDIuMzExIDQ1LjA0MiAxNC4zNjkgNTcuNzgzIDMxLjI5MSAxMi43NDEgMTYuOTIzIDE5LjM3MyAzNi41NzggMTkuMjE5IDUyLjU2N3YuMWwtLjAwNC4xYy0uODI2IDI2LjAwNy0xMS42MDggNDYuOTc0LTI3LjM5MyA2NS45OTd2MTcxLjExM2g0NC4zMTVsMTEuNS0xNTQuMDI5aC4wM2wxLjA2Mi0xMDUuNTMxIDE4LjY4Ny4xODUtMS4wNjIgMTA1LjM0NmgyNC41M2MxOC4zNjMtODguNDYtNC43MjQtMTc4Ljk1LTY3LjA5NS0xOTAuNjg3IDExLjUwNy0xMy44OCAxOC45Ny0zMy4zNDUgMTguOTctNTUuMTU3LjA5OC0zNi45MDMtMjQuODA1LTc2LjA0MS01OS41NjItNzUuOTM3ek0xNzIuOTkgMTkwLjczM2MtMTguODM3LjIzMi0zMy4yODEgMTAuMzgxLTQzLjYyNSAyNC4xMi0xMC4zMjYgMTMuNzE1LTE1LjY3NSAzMS4xMy0xNS41OTQgNDEuNTA2IDEuMjI2IDM2LjYzIDI2LjU1NyA2MS44MzMgNjEuMjE5IDkyLjA0NCAyNi43NTggMjMuMzIyIDU4LjE5IDQ4LjUxOSA4MC42MTcgODMuMzhsLjM1Ny0uNjM3LjMzNi42MDFjMjIuNDI3LTM0Ljg0MyA1My44NDctNjAuMDMgODAuNTk2LTgzLjM0NCAzNC42NjItMzAuMjExIDU5Ljk5My01NS40MTQgNjEuMjE5LTkyLjA0NC4wODEtMTAuMzc2LTUuMjY4LTI3Ljc5MS0xNS41OTQtNDEuNTA2LTEwLjM0NC0xMy43MzktMjQuNzg4LTIzLjg4OC00My42MjUtMjQuMTItMjguNDUzLS4zNDktNjMuODQgMjAuMjg4LTc0LjQxNCA1Mi4wMjJsLTguNTM5IDI1LjYyNS04LjU0LTI1LjYyNWMtMTAuNTczLTMxLjczNC00NS45Ni01Mi4zNy03NC40MTMtNTIuMDIxem0tMzIuMTEgMTUwLjk4OXYxNTIuMTgxaDQ0LjMxNWw3Ljg5My0xMDUuNzE0Yy05Ljk0LTkuMDIzLTIwLjA5OC0xNy42NTEtMjkuOTI0LTI2LjIxNS03LjcyNi02LjczNC0xNS4yNDItMTMuNDMtMjIuMjgzLTIwLjI1MnptMjI5LjE1Ny45M2MtNi43NjIgNi41LTEzLjk0IDEyLjg5NC0yMS4zMTUgMTkuMzIyLTEwLjYzNiA5LjI3LTIxLjY2IDE4LjYyMi0zMi4zNzUgMjguNDYzbDYuODE1IDEwMy40N2g0Ni44NzV6IiBmaWxsPSIjZmZmIiBmaWxsLW9wYWNpdHk9IjEiPjwvcGF0aD48L2c+PC9zdmc+
data:image/svg+xml;base64,PHN2ZyBzdHlsZT0iaGVpZ2h0OiA1MTJweDsgd2lkdGg6IDUxMnB4OyIgeG1sbnM9Imh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnIiB2aWV3Qm94PSIwIDAgNTEyIDUxMiI+PGRlZnM+PGNsaXBQYXRoIGlkPSJpY29uLWJnIj48cGF0aCBkPSJNMCAwaDUxMnY1MTJIMHoiIGZpbGw9IiMwMDAiIGZpbGwtb3BhY2l0eT0iMCI+PC9wYXRoPjwvY2xpcFBhdGg+PC9kZWZzPjxwYXRoIGQ9Ik0wIDBoNTEydjUxMkgweiIgZmlsbD0iIzAwMCIgZmlsbC1vcGFjaXR5PSIwIj48L3BhdGg+PGcgY2xhc3M9IiIgc3R5bGU9InRvdWNoLWFjdGlvbjogbm9uZTsiIHRyYW5zZm9ybT0idHJhbnNsYXRlKDAsMCkiPjxwYXRoIGQ9Ik0yMzEuNzMyIDIyLjA2M0wyNTYgNjIuNTA4bDI0LjI2OC00MC40NDZMMjU2IDM0LjMxM3ptLTEwLjc4MyAxNy4wMWExMDguOTgyIDEwOC45ODIgMCAwIDAtNy4wMiA3LjY3Yy0xMC42MTQgMTIuODEtMTguNTkgNDQuMzE2LTIxLjU4MyA1Ni4yNTdoMjMuNjFjMS42NS04LjUwMiA1LjM4My0zMy4zOTEgMTAuMzI3LTQxLjYzYTc2LjgyOCA3Ni44MjggMCAwIDEgNC4yMzUtNi4zNDl6bTcwLjEwMiAwbC05LjU2OSAxNS45NDhhNzYuODI4IDc2LjgyOCAwIDAgMSA0LjIzNSA2LjM0OGM0Ljk0NCA4LjI0IDguNjc2IDMzLjEyOSAxMC4zMjggNDEuNjMxaDIzLjYxYy0yLjk5My0xMS45NC0xMC45Ny00My40NDctMjEuNTg1LTU2LjI1OGExMDguOTgyIDEwOC45ODIgMCAwIDAtNy4wMi03LjY3ek0xNTMuNDEyIDc0Ljc1NWwtNDAuMDk2IDkuMjU0LTIxLjQ4NiAyOS43NTIgNi41MjIgMjMuNDc0TDE1MSAxMjQuN1YxMDNoOS40NzV6bTIwNS4xNzYgMEwzNTEuNTI1IDEwM0gzNjF2MjEuN2w1Mi42NDggMTIuNTM2IDYuNTIyLTIzLjQ3NC0yMS40ODYtMjkuNzUyek0yNDAgODBhOCA4IDAgMSAwIDAgMTYgOCA4IDAgMCAwIDAtMTZ6bTMyIDBhOCA4IDAgMSAwIDAgMTYgOCA4IDAgMCAwIDAtMTZ6bS0xMDMgNDF2MjAuODc1TDE4MS41NjMgMTY3aDQyLjAxOWM1Ljc1LTcuNDI3IDEzLjk4LTEyLjg0NiAyMy40MTgtMTQuOTg0di0yMC4yODdMMjM2LjI3MSAxMjF6bTEwNi43MjkgMEwyNjUgMTMxLjcyOXYyMC4yODdjOS40MzcgMi4xMzggMTcuNjY3IDcuNTU3IDIzLjQxOCAxNC45ODRoNDIuMDJMMzQzIDE0MS44NzVWMTIxek0xNTEgMTQ0LjY2NGwtMjEuMDY2IDMuNTU1LTYuNjQ3IDMzLjIzNGE0My4wMDMgNDMuMDAzIDAgMCAxIDIwLjQ2NyA5LjQ2NWwxNi4xNjgtMjYuOTV6bTIxMCAwbC04LjkyMiAxOS4zMDUgMTYuMTY4IDI2Ljk0OWE0My4wMDMgNDMuMDAzIDAgMCAxIDIwLjQ2Ny05LjQ2NWwtNi42NDctMzMuMjM0ek0yNTYgMTY5Yy0xMi44MSAwLTIzIDEwLjE5LTIzIDIzczEwLjE5IDIzIDIzIDIzIDIzLTEwLjE5IDIzLTIzLTEwLjE5LTIzLTIzLTIzem0tNTUgMTZ2MTRoMTQuNjE1YTQwLjczNCA0MC43MzQgMCAwIDEtLjYxNS03YzAtMi4zODYuMjE4LTQuNzIyLjYxNS03em05NS4zODUgMGMuMzk3IDIuMjc4LjYxNSA0LjYxNC42MTUgN3MtLjIxOCA0LjcyMi0uNjE1IDdIMzExdi0xNHptLTE4MC40NTcgMTMuODhjLTEzLjI0NS4xMDQtMjcuMzg3IDEwLjEyNy0zMy43OCAyNy4yMTYtMi44NzMgNy42OC0zLjYyMSAxNS4zMDctMi42ODEgMjIuMTc3IDMuOTA3LTEuMzI2IDcuNzItMS41NzMgMTEuMTA1LTEuNDUgOC4xMi4yOTQgMTQuNzY4IDIuODk2IDE0Ljc2OCAyLjg5NnM2LjcyNCAyLjQgMTMuMDQzIDcuNTA4YzMuMDA4IDIuNDMgNi4xMjEgNS41OSA4LjI2NyA5Ljk1NSA1LjY2NS00LjYzIDEwLjUwNi0xMS4xODIgMTMuNTY3LTE5LjM2NCA3Ljg2OC0yMS4wMzItLjE0NS00MS42OTMtMTUuMzctNDcuMzg4LTIuODU0LTEuMDY4LTUuODYzLTEuNTczLTguOTItMS41NXptMjgwLjE0NCAwYy0zLjA1Ni0uMDIzLTYuMDY1LjQ4LTguOTIgMS41NDgtMTUuMjI0IDUuNjk1LTIzLjIzNyAyNi4zNTgtMTUuMzY5IDQ3LjM5IDMuMDYxIDguMTgyIDcuOTAyIDE0LjczNSAxMy41NjcgMTkuMzY0IDIuMTQ2LTQuMzY2IDUuMjYtNy41MjQgOC4yNjctOS45NTUgNi4zMTktNS4xMDcgMTMuMDQzLTcuNTA4IDEzLjA0My03LjUwOHM2LjY0OS0yLjYwMiAxNC43NjgtMi44OTdjMy4zODYtLjEyMiA3LjE5OS4xMjUgMTEuMTA3IDEuNDUxLjk0LTYuODcuMTkyLTE0LjQ5OS0yLjY4MS0yMi4xOC02LjM5NC0xNy4wODgtMjAuNTM3LTI3LjExLTMzLjc4Mi0yNy4yMTJ6TTIwMSAyMTd2MS40MzhsMjEuMjIzIDEwLjYxIDYuNTExLTYuNTFhNDEuNTgyIDQxLjU4MiAwIDAgMS01LjE1Mi01LjUzOHptODcuNDE4IDBhNDEuNTgyIDQxLjU4MiAwIDAgMS01LjE1MiA1LjUzN2w2LjUxMSA2LjUxMkwzMTEgMjE4LjQzN1YyMTd6bS00NC42OSAxNmwtMTcuOTUgMTcuOTUxLTI4LjUyLTE0LjI2LTkuODczIDI5LjkxTDIzMyAyODEuODk4djE4LjM3NEwyNDMuNzI5IDMxMWgyNC41NDJMMjc5IDMwMC4yNzF2LTE4LjM3NGw0NS41ODQtMTUuMjk1LTkuNDE2LTMwLjEyMi0yOC45NDUgMTQuNDcxTDI2OC4yNyAyMzN6TTYxLjM0IDI0Ny40NDVjLTEuNC4xMDgtMi41OTUuMzY2LTMuMzM2LjcwMy0xLjA3Ni40OS0xLjQ0Mi42NzQtMi4wNTUgMi4zMTMtNi4xNCAxNi40MTQtMy40NyAzNC4wNDYtLjcyIDQ0LjczMmExMDAuNDIgMTAwLjQyIDAgMCAwIDUuNDIxLTQuMDI1Yy0uMDYtOC42NTYgMS4wNzItMTguMDk3IDQuMzI5LTI3LjYwNi0xLjk1NS01LjA0Ny0zLjE4OC0xMC40ODQtMy42NC0xNi4xMTd6bTM4OS4zMiAwYy0uNDUgNS42MzMtMS42ODQgMTEuMDctMy42MzkgMTYuMTE4IDMuMjU3IDkuNTA4IDQuMzkgMTguOTUgNC4zMjkgMjcuNjA1YTEwMC41NCAxMDAuNTQgMCAwIDAgNS40MjEgNC4wMjVjMi43NS0xMC42ODYgNS40Mi0yOC4zMTgtLjcyLTQ0LjczMi0uNjEzLTEuNjQtLjk4LTEuODIzLTIuMDU1LTIuMzEzLS43NC0uMzM3LTEuOTM2LS41OTUtMy4zMzYtLjcwM3pNODkuOTIgMjY0LjgxMWMtMi4yNi0uMDgyLTQuMjU4LjI2NS01LjMzNC43NTUtMS4wNzYuNDktMS40NDIuNjc0LTIuMDU1IDIuMzEzLTYuMTQgMTYuNDE0LTMuNDcgMzQuMDQ1LS43MiA0NC43MzIgOS4wODgtNi4yNTggMjIuNjc3LTE3LjgwNiAyOC44MTgtMzQuMjIuNjEzLTEuNjQuNDU5LTIuMDE4LS4wMzEtMy4wOTRzLTEuNzcyLTIuNjQ4LTMuNTMyLTQuMDdjLTMuNTE4LTIuODQ1LTguMDMzLTQuNjQ5LTguMDMzLTQuNjQ5cy00LjU5MS0xLjYwNC05LjExMy0xLjc2N3ptMzMyLjE2IDBjLTQuNTIyLjE2My05LjExMyAxLjc2Ny05LjExMyAxLjc2N3MtNC41MTQgMS44MDQtOC4wMzMgNC42NDljLTEuNzYgMS40MjItMy4wNDIgMi45OTQtMy41MzIgNC4wNy0uNDkgMS4wNzYtLjY0NCAxLjQ1NS0uMDMgMy4wOTQgNi4xNCAxNi40MTQgMTkuNzMgMjcuOTYyIDI4LjgxOCAzNC4yMiAyLjc0OS0xMC42ODcgNS40Mi0yOC4zMTgtLjcyMS00NC43MzItLjYxMy0xLjY0LS45OC0xLjgyMy0yLjA1NS0yLjMxMy0xLjA3Ni0uNDktMy4wNzMtLjgzNy01LjMzNC0uNzU1em0tMjgwLjg2NyAxMy40MzFjLTQuNjI4IDQuMzkyLTkuODM0IDcuOTMxLTE1LjM3IDEwLjQ1NS0zLjcxMyA4LjQyNy04LjY5IDE1LjYxNi0xMy45OTMgMjEuNjI3YTEwMC40NCAxMDAuNDQgMCAwIDAgMS40NDkgNi41OTRjOS4wODgtNi4yNTkgMjIuNjc4LTE3LjgwNyAyOC44MTgtMzQuMjIuNjEzLTEuNjQuNDU3LTIuMDE5LS4wMzMtMy4wOTQtLjE4LS4zOTQtLjQ5NS0uODY3LS44NzEtMS4zNjJ6bTIyOS41NzYgMGMtLjM3Ni40OTYtLjY5NC45NjgtLjg3MyAxLjM2Mi0uNDkgMS4wNzUtLjY0NiAxLjQ1NC0uMDMzIDMuMDkzIDYuMTQgMTYuNDE0IDE5LjczIDI3Ljk2MiAyOC44MTggMzQuMjIxYTEwMC40NCAxMDAuNDQgMCAwIDAgMS40NS02LjU5NGMtNS4zMDUtNi4wMTItMTAuMjgzLTEzLjItMTMuOTk3LTIxLjYyOS01LjUzNC0yLjUyNC0xMC43MzgtNi4wNjItMTUuMzY1LTEwLjQ1M3ptLTUxLjc4NSA3LjAxNEwyOTcgMjk5LjEyOXY4LjZsLTguNzE1IDguNzE0IDEyLjg0OCAyNS42OTYgMTAuMDYtMTAuMDZjMS4wNTctMTAuOTgyIDYuNDk4LTIwLjczNiAxNC41NC0yNy40ODF6bS0xMjYuNTIgMGwtNi4yMTYgMTkuMzQyYzguMDQgNi43NDUgMTMuNDgyIDE2LjUgMTQuNTM5IDI3LjQ4bDEwLjA2IDEwLjA2IDEyLjg0OC0yNS42OTVMMjE1IDMwNy43M3YtOC42Yy03LjI1LTQuODIgMCAuMjczLTIyLjUxNi0xMy44NzN6TTE2MCAzMTNjLTEyLjgxIDAtMjMgMTAuMTktMjMgMjNzMTAuMTkgMjMgMjMgMjMgMjMtMTAuMTkgMjMtMjMtMTAuMTktMjMtMjMtMjN6bTE5MiAwYy0xMi44MSAwLTIzIDEwLjE5LTIzIDIzczEwLjE5IDIzIDIzIDIzIDIzLTEwLjE5IDIzLTIzLTEwLjE5LTIzLTIzLTIzem0tMTU1LjA0MSA0MC42ODhjLTMuOTMgOC4xNDMtMTAuNDg0IDE0LjgwNi0xOC41MzcgMTguODk0bDYuMzA4IDI1LjIzNC0xNy40NiA0LjM2OC02LjMwMy0yNS4yMDdjLS4zMjMuMDA4LS42NDMuMDIzLS45NjcuMDIzLTguMDMgMC0xNS41MzYtMi4zNTQtMjEuODgtNi4zOWwtMS4xMiAxLjExOXYyNS4zMjRMMTU2LjAzIDQzM2w0Ni40MDctMTBMMjE1IDM5Ny44NzV2LTI2LjE0NnptMTE4LjA4MiAwTDI5NyAzNzEuNzI4djI2LjE0N0wzMDkuNTYzIDQyM2w0Ni40MDggMTBMMzc1IDM5Ny4wNTN2LTI1LjMyNGwtMS4xMi0xLjEyQzM2Ny41MzcgMzc0LjY0NiAzNjAuMDMgMzc3IDM1MiAzNzdjLS4zMjQgMC0uNjQ0LS4wMTYtLjk2Ny0uMDIzbC02LjMwMyAyNS4yMDctMTcuNDYtNC4zNjggNi4zMDgtMjUuMjM0Yy04LjA1My00LjA4OC0xNC42MDctMTAuNzUtMTguNTM3LTE4Ljg5NHpNMTc2IDQ0MWMtMTIuODIgMC0yNi42NTYgNi42LTM3LjE5IDE2LjkzNiA0LjIgMS43NjkgOC4wNzYgNC4yNTUgMTEuNTE4IDcuMjFDMTU3LjM4MyA0NTkuMDgyIDE2Ni4yOCA0NTUgMTc2IDQ1NWMxMSAwIDIwLjk1IDUuMjIzIDI4LjM2MyAxMi42MzcgNS4zMjggNS4zMjcgOS41MTIgMTEuOTY4IDExLjQ1MSAxOS4zNjNoMTQuMzFjLTQuMzkxLTIzLjg2LTI1LjY1OC00Ni01NC4xMjQtNDZ6bTE2MCAwYy0yOC40NjYgMC00OS43MzMgMjIuMTQtNTQuMTIzIDQ2aDE0LjMwOWMxLjk0LTcuMzk1IDYuMTIzLTE0LjAzNiAxMS40NS0xOS4zNjNDMzE1LjA1MiA0NjAuMjIzIDMyNSA0NTUgMzM2IDQ1NWM5LjcyIDAgMTguNjE3IDQuMDgyIDI1LjY3MiAxMC4xNDYgMy40NDItMi45NTUgNy4zMTgtNS40NDEgMTEuNTE3LTcuMjFDMzYyLjY1NiA0NDcuNiAzNDguODIxIDQ0MSAzMzYgNDQxem0tMjExLjMzNiAzMmMtNSAwLTExLjA1IDIuNzc3LTE1LjYzNyA3LjM2My0xLjk5NyAxLjk5OC0zLjU3MSA0LjI5Mi00LjgwMiA2LjYzN2gzMS45NmEzOS4wMTUgMzkuMDE1IDAgMCAxIDIuOTUtNy43MjljLTQuNDE0LTMuOTI4LTkuODgzLTYuMjcxLTE0LjQ3LTYuMjcxek0xNzYgNDczYy01IDAtMTEuMDUgMi43NzctMTUuNjM3IDcuMzYzLTEuOTk3IDEuOTk4LTMuNTcxIDQuMjkyLTQuODAyIDYuNjM3aDQwLjg3OGMtMS4yMy0yLjM0NS0yLjgwNS00LjY0LTQuODAyLTYuNjM3QzE4Ny4wNSA0NzUuNzc3IDE4MSA0NzMgMTc2IDQ3M3ptMTYwIDBjLTUgMC0xMS4wNSAyLjc3Ny0xNS42MzcgNy4zNjMtMS45OTcgMS45OTgtMy41NzEgNC4yOTItNC44MDIgNi42MzdoNDAuODc4Yy0xLjIzLTIuMzQ1LTIuODA1LTQuNjQtNC44MDItNi42MzdDMzQ3LjA1IDQ3NS43NzcgMzQxIDQ3MyAzMzYgNDczem01MS4zMzYgMGMtNSAwLTkuMDUxLjc3Ny0xMy42MzcgNS4zNjMtMS45OTcgMS45OTguNjI5IDMuNTYgMS4xOTcgOC42MzdoMzIuODhjLTEuMjMyLTIuMzQ1LTIuODA2LTQuNjQtNC44MDMtNi42MzctNC41ODYtNC41ODYtMTAuNjM3LTcuMzYzLTE1LjYzNy03LjM2M3oiIGZpbGw9IiNmZmZmZmYiIGZpbGwtb3BhY2l0eT0iMSIgY2xpcC1wYXRoPSJ1cmwoI2ljb24tYmcpIj48L3BhdGg+PC9nPjwvc3ZnPg==
data:image/svg+xml;base64,PHN2ZyBzdHlsZT0iaGVpZ2h0OiA1MTJweDsgd2lkdGg6IDUxMnB4OyIgeG1sbnM9Imh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnIiB2aWV3Qm94PSIwIDAgNTEyIDUxMiI+PGcgY2xhc3M9IiIgc3R5bGU9IiIgdHJhbnNmb3JtPSJ0cmFuc2xhdGUoMCwwKSI+PHBhdGggZD0iTTM2My42IDM2LjQ4Yy0yMi4yIDAtNDAgMTcuOC00MCA0MCAwIDIyLjIzIDE3LjggNDAuMDIgNDAgNDAuMDJzNDAtMTcuNzkgNDAtNDAuMDJjMC0yMi4yLTE3LjgtNDAtNDAtNDB6bS01Ni43IDUxLjk3Yy01My4yIDE4Ljk1LTEwOC43IDM0Ljk1LTE2OSA0NS4yNSAxLjggNC42IDIuOCA5LjYgMi44IDE0LjggMCA0LjgtLjggOS40LTIuNCAxMy42IDk2LjIgMTIuOSAxODIuOCAzNiAyNTcuOCA3MS45IDEuNi01LjkgNC41LTExLjMgOC4zLTE1LjktNzEuMi0zNC4zLTE1Mi40LTU3LjItMjQxLjUtNzAuNyA1My4yLTEwLjYgMTAyLjgtMjUuNCAxNTAuNC00Mi4yLTMtNS4yLTUuMi0xMC43OS02LjQtMTYuNzV6bTk3LjggMjguODVjLTQuMyA0LjMtOS4yIDgtMTQuNiAxMC44IDE1LjMgMjQuOCAyNiA1MC42IDMxLjggNzcuOCA0LjMtMS41IDktMi40IDEzLjgtMi40IDEuNCAwIDIuOC4xIDQuMS4yLTYuMy0zMC4zLTE4LjItNTkuMS0zNS4xLTg2LjR6bS0zMDUgOC4yYy0xMi44MSAwLTIzIDEwLjItMjMgMjNzMTAuMTkgMjMgMjMgMjNjMTIuOCAwIDIzLTEwLjIgMjMtMjNzLTEwLjItMjMtMjMtMjN6bTM0LjcgNDQuNmMtMy4yIDUuMi03LjUgOS42LTEyLjYgMTIuOSAzMi4xIDMyLjYgNjYuMSA2NS45IDEyMC42IDgwLjQgMC0uOS0uMS0xLjktLjEtMi44IDAtNS4zIDEuMy0xMC4zIDMuNS0xNC44LTQ5LjUtMTMuNS04MC00My44LTExMS40LTc1Ljd6bS01NyAxMi43Yy0yMS43NiA2Ny44LTI3LjEyIDEzNy4yLTMyLjI5IDIwNiAyLjEzLS41IDQuMzQtLjcgNi42LS43IDMuOTkgMCA3LjgxLjcgMTEuMzUgMi4xIDUuMTktNjguNCAxMC41Ny0xMzYgMzEuMjktMjAxLjEtNi4xOC0uOC0xMS45NC0zLTE2Ljk1LTYuM3ptMzU4LjMgMzguN2MtMTIuOCAwLTIzIDEwLjItMjMgMjNzMTAuMiAyMyAyMyAyMyAyMy0xMC4yIDIzLTIzLTEwLjItMjMtMjMtMjN6bS00MSAyMi4yYy0yOC40IDUuOC01Ni42IDEwLjgtODYgMTAuNS40IDIuMS42IDQuMi42IDYuNCAwIDQtLjcgNy45LTIuMSAxMS41IDMyIC42IDYyLTQuNyA5MS4yLTEwLjgtMi40LTUuMS0zLjctMTAuOC0zLjctMTYuOHptLTExOC45IDEuNGMtOC43IDAtMTUuNSA2LjgtMTUuNSAxNS41czYuOCAxNS41IDE1LjUgMTUuNSAxNS41LTYuOCAxNS41LTE1LjUtNi44LTE1LjUtMTUuNS0xNS41ek0zOTkgMjYyLjdjLTU1LjYgNDUuOS0xMDYuNiA5NC40LTE0My4xIDE1MC43IDUuOSAxLjggMTEuMiA1IDE1LjYgOS4xIDM0LjktNTMuNSA4NC4yLTEwMC44IDEzOC44LTE0NS45LTQuNy0zLjctOC42LTguNS0xMS4zLTEzLjl6bS0xNTIgMTVjLTQ3LjkgNDYuNC0xMDkuNiA4My4yLTE3Mi44NSAxMTkuNSA0LjM2IDQuMiA3LjU2IDkuNiA5LjA1IDE1LjZDMTQ2LjggMzc2LjQgMjEwIDMzOC45IDI2MCAyOTAuMWMtNS40LTIuOS05LjktNy4yLTEzLTEyLjR6bTE3OS40IDYuN2MxLjMgMjguOCA2IDU3LjMgMTQuMyA4NS4yIDQuOC0zLjQgMTAuNy01LjYgMTctNi03LjYtMjYtMTEuOS01Mi4zLTEzLjItNzkuMS0yLjkuNy01LjggMS04LjggMS0zLjIgMC02LjMtLjQtOS4zLTEuMXptMzMuMyA5Ny4xYy04LjQgMC0xNSA2LjYtMTUgMTVzNi42IDE1IDE1IDE1IDE1LTYuNiAxNS0xNS02LjYtMTUtMTUtMTV6TTUxLjcxIDQwNi4xYy04LjA3IDAtMTQuNDIgNi40LTE0LjQyIDE0LjQgMCA4LjEgNi4zNSAxNC41IDE0LjQyIDE0LjVzMTQuNDItNi40IDE0LjQyLTE0LjVjMC04LTYuMzUtMTQuNC0xNC40Mi0xNC40em0zNzYuNDkuM2MtNDQuNyAyNC41LTkzLjggMzIuNi0xNDQuOSAzNS42LjkgMy40IDEuNCA2LjkgMS40IDEwLjUgMCAyLjYtLjMgNS4xLS43IDcuNSA1My4xLTMuMSAxMDUuOC0xMS42IDE1NC4zLTM4LjUtNC43LTQtOC4yLTkuMi0xMC4xLTE1LjF6TTgzLjkxIDQxNi44Yy4xNCAxLjIuMjIgMi40LjIyIDMuNyAwIDUtMS4xNSA5LjctMy4xOSAxNGwxMjEuODYgMjAuM2MtLjEtLjgtLjEtMS41LS4xLTIuMyAwLTUuNCAxLjEtMTAuNiAzLTE1LjR6bTE1OS43OSAxMi43Yy0xMi44IDAtMjMgMTAuMi0yMyAyM3MxMC4yIDIzIDIzIDIzIDIzLTEwLjIgMjMtMjMtMTAuMi0yMy0yMy0yM3oiIGZpbGw9IiNmZmYiIGZpbGwtb3BhY2l0eT0iMSI+PC9wYXRoPjwvZz48L3N2Zz4=
data:image/svg+xml;base64,PHN2ZyBzdHlsZT0iaGVpZ2h0OiA1MTJweDsgd2lkdGg6IDUxMnB4OyIgeG1sbnM9Imh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnIiB2aWV3Qm94PSIwIDAgNTEyIDUxMiI+PGcgY2xhc3M9IiIgc3R5bGU9IiIgdHJhbnNmb3JtPSJ0cmFuc2xhdGUoMCwwKSI+PHBhdGggZD0iTTM4LjY3NiAxOC4zNTJWMTIyLjU3bDEyOS4wNDcgMTI5LjA0NVYxOC4zNTJINzkuNzI3bC4wMDIgOTkuMzQzSDYxLjA0VjE4LjM1MkgzOC42NzV6bTE0Ny43MzQgMHYyNDQuNzkzaDE0MS40OTZWMTguMzUySDE4Ni40MXptMTYwLjE4NCAwdjIzMC45NDVMNDczLjMyMiAxMjIuNTdWMTguMzUyaC0xOS44MThsLjAwMiA5OS4zNDNoLTE4LjY5bC0uMDAyLTk5LjM0M2gtODguMjJ6bTgzLjE1MiAxNzQuMjI0bC0xOC40NiAxOC40Ni4wMDMgODAuNjc3SDM5Mi42bC0uMDAyLTYxLjk5Mi01Mi4xMTQgNTIuMTE0aC0xMy42MzJ2MTIyLjQ3TDQyOS43NDYgMzAxLjQxVjE5Mi41NzZ6bS0zNDcuNDkyLjAwMnYxMDguODM0bDEwNC40MDggMTA0LjQwNlYyODEuODM0aC0xNS4xNWwtNTEuNjI3LTUxLjYyNS4wMDIgNjEuNTAzSDEwMS4ybC0uMDAzLTgwLjE5Mi0xOC45NDMtMTguOTQyem0xMjQuMTIzIDM1LjEyNWgxMDEuMjA3djE4LjY5SDIwNi4zNzd2LTE4LjY5em0tMS4wMjcgNTQuMTNWNDEzLjkxaDEwMi44MTZWMjgxLjgzNEgyMDUuMzV6bS04My41NSA4NS41NTh2MTI2LjM0Nmg4MC4wMjZ2LTYxLjEzOEgxODcuMDFsLTI4LjA4LTI4LjA4LjAwMiA2NS40NDNoLTE4LjY5bC0uMDAyLTg0LjEzMi0xOC40NC0xOC40Mzd6bTI2OC4zNDMuMDU1bC0xNy4xNSAxNy4xNXY4NS4zNjZoLTE4LjY4OGwtLjAwMi02Ni42NzctMjkuMzE1IDI5LjMxNWgtMTMuM3Y2MS4xMzhoNzguNDU1di0xMjYuMjl6bS0xNjQuMTA2IDkuNTJoNjQuOTUzdjE4LjY4N2gtNjQuOTUzdi0xOC42ODd6bS01LjUyIDU1LjYzM3Y2MS4xMzhIMjkzdi02MS4xMzhoLTcyLjQ4NHoiIGZpbGw9IiNmZmYiIGZpbGwtb3BhY2l0eT0iMSI+PC9wYXRoPjwvZz48L3N2Zz4=
data:image/svg+xml;base64,PHN2ZyB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIHZpZXdCb3g9IjAgMCA1MTIgNTEyIiBzdHlsZT0iaGVpZ2h0OiA1MTJweDsgd2lkdGg6IDUxMnB4OyI+PGcgY2xhc3M9IiIgdHJhbnNmb3JtPSJ0cmFuc2xhdGUoMCwwKSIgc3R5bGU9InRvdWNoLWFjdGlvbjogbm9uZTsiPjxwYXRoIGQ9Ik0zNjcuNzE3IDI1LjMxOEwzMjUuOTQgNjMuNDc1bDQ5Ljk1MyAzOC4yOTYgMjYuMDAyLTUwLjI0Ny0zNC4xNzgtMjYuMjA1em0tNjIuNzEgNDEuNjA4bC0zOC41NjIgNDkuMjQyIDcwLjkzNiA1NS42NiAzOC42MDQtNDkuMTItNzAuOTc4LTU1Ljc4MnptLTUwLjQ5NSA2NC4yOGwtNTguMDM1IDczLjg1IDExOC42MjggODguODg1czMuNTEzIDIuMzg0IDUuNDggNS45MDRjMi4wMiAzLjYxMiAxLjgxIDYuOTM1IDEuODEgNi45MzV2MTI4LjU0NEgyOTcuMTR2LTI0LjU2SDg5LjI1NXYyNC41Nkg2MS41MXY1OS4zNThINDMyLjk2M1YzMzguMTg0Yy05LjI1IDQuNjUtMTkuNDYyIDcuMDc3LTI5LjgxNyA3LjA4NC0zNi43MDYgMC02Ni40NjMtMjkuNzU4LTY2LjQ2Mi02Ni40NjUuMDM0LTIzLjcyMyAxMi43MS00NS42MyAzMy4yNi01Ny40OEwyNTQuNTEgMTMxLjIwNnpNMTg1IDIyMC4xNzVsLTY4LjIxIDg3LjEwMyAxMTIuODMgMS42NjggMjcuNDk1LTM0Ljk4NEwxODUgMjIwLjE3NXptMjE4LjE0NiAxMS4yODVhNDcuMzQ0IDQ3LjM0NCAwIDAgMC00Ny4zNCA0Ny4zNDMgNDcuMzQ0IDQ3LjM0NCAwIDAgMCA0Ny4zNCA0Ny4zNDMgNDcuMzQ0IDQ3LjM0NCAwIDAgMCA0Ny4zNDQtNDcuMzQzIDQ3LjM0NCA0Ny4zNDQgMCAwIDAtNDcuMzQ0LTQ3LjM0NHptMCAxNy42N2EyOS42NzQgMjkuNjc0IDAgMCAxIDI5LjY3NiAyOS42NzMgMjkuNjc0IDI5LjY3NCAwIDAgMS0yOS42NzYgMjkuNjc0IDI5LjY3NCAyOS42NzQgMCAwIDEtMjkuNjczLTI5LjY3NCAyOS42NzQgMjkuNjc0IDAgMCAxIDI5LjY3My0yOS42NzR6IiBmaWxsPSIjZmZmIiBmaWxsLW9wYWNpdHk9IjEiPjwvcGF0aD48L2c+PC9zdmc+
data:image/svg+xml;base64,PHN2ZyB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIHZpZXdCb3g9IjAgMCA1MTIgNTEyIiBzdHlsZT0iaGVpZ2h0OiA1MTJweDsgd2lkdGg6IDUxMnB4OyI+PGcgY2xhc3M9IiIgdHJhbnNmb3JtPSJ0cmFuc2xhdGUoMCwwKSIgc3R5bGU9InRvdWNoLWFjdGlvbjogbm9uZTsiPjxwYXRoIGQ9Ik0xMTMuODQ0IDE3LjcyYy04LjQyNi4wNC0xNi44MTIuODMzLTI1LjA5NCAyLjQzNkMxOTUuNjUgODQuNTAzIDI3NS40NzMgMTcwLjUxNiAzMzguNDcgMjcwYzIuNTI2LTUzLjc2LTE5LjA3LTEwOS4xMy01My41MzMtMTU0LjI1LTE0LjA5NyA1LjI5OC0zMS40NzcuNzQyLTQzLjQ2OC0xMS4yNS0xMS45OC0xMS45OC0xNi41NTgtMjkuMzQ3LTExLjI4Mi00My40MzhDMTk0LjQ2IDM0LjEwNSAxNTMuNjggMTcuNTIgMTEzLjg0NCAxNy43MnptMzgwLjU2MiAyMC40MDVMNDIzLjQ3IDExNS43NWwzMC4wNiAxMjUuNTYzLTU1LjA5MiA4Ljc4LTE5LjQwNyA4MC42MjYgNzMuNSAzOS4xMjQtNDEuMjUgNTUuOTM3IDI5LjY1OCA0NC4wMzMtODguNzgyLTI3LjYyNSAxNi41LTQzLjg0NEwyOTEuOTcgMzY0LjVsMTMuMTI0LTg0LjU2My0xMTEuMzc1IDU4LjEyNS00LjIyIDc4LjI1LTExMi4yMi0yNy42NTYtMzMuMjUgMTA0LjE1Nmg0NTAuMzc2VjM4LjEyNXpNMjYxLjE1NiA1OC43MmMtLjM4OC4wMS0uNzc2LjAyOC0xLjE1Ni4wNi0zLjY0NC4zMjUtNi44ODIgMS42OTYtOS4xODggNC02LjE0NyA2LjE1LTUuNzQ2IDE4Ljg4IDMuODc1IDI4LjUgOS42MjIgOS42MjMgMjIuMzUzIDEwLjAyNCAyOC41IDMuODc2IDYuMTQ4LTYuMTQ4IDUuNzQ3LTE4Ljg3OC0zLjg3NS0yOC41LTUuNjM3LTUuNjM3LTEyLjMzNS04LjA5Ni0xOC4xNTYtNy45Mzd6TTE5Ni41IDEyNy41OTNMMjUuMjggMjk4Ljg3NGM0LjI3MyAxMS45MjYgMTEuMDI3IDIxLjA1IDI1LjI1IDI1LjYyNkwyMjEuOTcgMTUzYy03Ljc5Ni04Ljg5LTE2LjMwOC0xNy4zMzMtMjUuNDctMjUuNDA2em0xNTguNzggMTEuNjI1bDkuMzE0IDg0LjY4NiAyNy40MzctODQuNjg3aC0zNi43NXptLTEzMi4wMyA3NC45NjhsLTIwLjE1NiAzNS45MzcgOTIuNjg3IDcuMzc1LTcyLjUzLTQzLjMxM3oiIGZpbGw9IiNmZmYiIGZpbGwtb3BhY2l0eT0iMSI+PC9wYXRoPjwvZz48L3N2Zz4=
data:image/svg+xml;base64,PHN2ZyBzdHlsZT0iaGVpZ2h0OiA1MTJweDsgd2lkdGg6IDUxMnB4OyIgeG1sbnM9Imh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnIiB2aWV3Qm94PSIwIDAgNTEyIDUxMiI+PGcgY2xhc3M9IiIgc3R5bGU9IiIgdHJhbnNmb3JtPSJ0cmFuc2xhdGUoMCwwKSI+PHBhdGggZD0iTTQyOC40IDI3Ljh2NDU2LjRoNjAuOVYyNy44aC02MC45ek0zMjcgMTY4LjJ2MzE2aDYwLjh2LTMxNkgzMjd6TTIyNS40IDI3My42djIxMC42aDYxVjI3My42aC02MXpNMTI0IDM0My44djE0MC40aDYwLjlWMzQzLjhIMTI0ek0yMi42NyAzOTQuOXY4OS4zaDYwLjg0di04OS4zSDIyLjY3eiIgZmlsbD0iI2ZmZiIgZmlsbC1vcGFjaXR5PSIxIj48L3BhdGg+PC9nPjwvc3ZnPg==
data:image/svg+xml;base64,PHN2ZyBzdHlsZT0iaGVpZ2h0OiA1MTJweDsgd2lkdGg6IDUxMnB4OyIgeG1sbnM9Imh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnIiB2aWV3Qm94PSIwIDAgNTEyIDUxMiI+PGcgY2xhc3M9IiIgc3R5bGU9IiIgdHJhbnNmb3JtPSJ0cmFuc2xhdGUoMCwwKSI+PHBhdGggZD0iTTI1Ni4yNSAyMC42NTZjLTMyLjc4IDAtNjQuMDMgNi43OS05Mi40MzggMTktOC4xODItMTAuNjE4LTIwLjk5NC0xNy40NjgtMzUuNDM3LTE3LjQ2OC0yNC43MTYgMC00NC43OCAyMC4wMzMtNDQuNzggNDQuNzUgMCA4LjM1NiAyLjMyNCAxNi4xOCA2LjMxIDIyLjg3NC00Mi42MzggNDIuNjU1LTY5LjA5MyAxMDEuNDktNjkuMDkzIDE2Ni4yODIgMCAxMjkuNjE3IDEwNS44MjMgMjM0LjcyIDIzNS40MzggMjM0LjcyIDEyOS42MTUtLjAwMiAyMzQuNzItMTA1LjEwMyAyMzQuNzItMjM0LjcyIDAtMTI5LjYxOC0xMDUuMTA1LTIzNS40MzgtMjM0LjcyLTIzNS40Mzh6bTAgMTkuMzEzYzExOS41MTUgMCAyMTYuMDk0IDk2LjYwNyAyMTYuMDk0IDIxNi4xMjRzLTk2LjU4IDIxNi4wOTQtMjE2LjA5NCAyMTYuMDk0Yy0xMTkuNTE1IDAtMjE2LjgxMy05Ni41NzctMjE2LjgxMy0yMTYuMDk0IDAtNTkuNTY4IDI0LjE3Ni0xMTMuNDM4IDYzLjIyLTE1Mi41IDcuMjczIDUuMTEzIDE2LjE1IDguMDk0IDI1LjcxOCA4LjA5NCAyNC43MTYgMCA0NC43NS0yMC4wMzQgNDQuNzUtNDQuNzUgMC0zLjQ1My0uMzg1LTYuODA0LTEuMTI1LTEwLjAzMkMxOTcuOTEgNDYgMjI2LjM5NiAzOS45NyAyNTYuMjUgMzkuOTd6bS0uMTI1IDUxLjgxYy05MS4zIDAtMTY1Ljg3NSA3NC41NzUtMTY1Ljg3NSAxNjUuODc2IDAgOTEuMyA3NC41NzYgMTY1LjQwNiAxNjUuODc1IDE2NS40MDYgMzUuMTIgMCA2Ny43MDgtMTAuOTY1IDk0LjUtMjkuNjU2IDcuMTMgNC4yMyAxNS40NSA2LjY1NiAyNC4zNDQgNi42NTYgMjYuMzk2IDAgNDcuODEtMjEuMzg0IDQ3LjgxLTQ3Ljc4IDAtMTIuNzYzLTUuMDA1LTI0LjM2Ni0xMy4xNTUtMzIuOTM4IDcuNjc3LTE5LjA2NyAxMS45MDYtMzkuODg0IDExLjkwNi02MS42ODggMC05MS4zLTc0LjEwNi0xNjUuODc1LTE2NS40MDUtMTY1Ljg3NXptMCAxOS4xMjZjODEuMiAwIDE0Ni43OCA2NS41NSAxNDYuNzggMTQ2Ljc1IDAgMTcuODMzLTMuMTcyIDM0LjkyNC04Ljk2NyA1MC43Mi01LjgxLTIuNTEzLTEyLjIzNy0zLjkwNy0xOC45Ny0zLjkwNy0yNi4zOTYgMC00Ny43OCAyMS40MTQtNDcuNzggNDcuODEgMCAxMC41OSAzLjQ1NCAyMC4zNjIgOS4yOCAyOC4yODMtMjMuMDY1IDE1LjA4NC01MC42NiAyMy44NDMtODAuMzQzIDIzLjg0My04MS4yIDAtMTQ3LjIyLTY1LjU1LTE0Ny4yMi0xNDYuNzVzNjYuMDItMTQ2Ljc1IDE0Ny4yMi0xNDYuNzV6bS0xLjA2MyAxOS42MjVjLTcuNDYyIDMxLjk5LTIxLjc2NyA2Mi4xMTItNDIuOTA2IDgzLjI1LTIxLjE0IDIxLjE0LTQ4LjczIDMyLjkxMy04MC43MiA0MC4zNzYgMzEuOTkgNy40NjIgNjIuMTEyIDIxLjczNiA4My4yNSA0Mi44NzUgMjEuMTQgMjEuMTQgMzIuOTE0IDQ4Ljc2NCA0MC4zNzYgODAuNzUgNy40NjMtMzEuOTg2IDE5LjIwNC01OS42MSA0MC4zNDQtODAuNzUgMjEuMTQtMjEuMTM4IDUxLjI2Mi0zNS40MTIgODMuMjUtNDIuODc0LTMyLjIzNi03LjQyOC01OS40NTUtMTkuMTEtODAuNzItNDAuMzc1LTIxLjI2Mi0yMS4yNjMtMzUuNDQ2LTUxLjAxMy00Mi44NzMtODMuMjV6bS4wOTQgODYuNTY0YzIwLjQ5OCAwIDM3LjEyNSAxNi42MjcgMzcuMTI1IDM3LjEyNSAwIDIwLjQ5Ni0xNi42MjYgMzcuMTI0LTM3LjEyNCAzNy4xMjQtMjAuNDk3IDAtMzcuMTI1LTE2LjYyOC0zNy4xMjUtMzcuMTI1IDAtMjAuNSAxNi42My0zNy4xMjYgMzcuMTI2LTM3LjEyNnoiIGZpbGw9IiNmZmYiIGZpbGwtb3BhY2l0eT0iMSI+PC9wYXRoPjwvZz48L3N2Zz4=
data:image/svg+xml;base64,PHN2ZyBzdHlsZT0iaGVpZ2h0OiA1MTJweDsgd2lkdGg6IDUxMnB4OyIgeG1sbnM9Imh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnIiB2aWV3Qm94PSIwIDAgNTEyIDUxMiI+PGcgY2xhc3M9IiIgc3R5bGU9IiIgdHJhbnNmb3JtPSJ0cmFuc2xhdGUoMCwwKSI+PHBhdGggZD0iTTMwMiAyMC4zMWMtNi4zLjEyLTEyLjcuNTYtMTkgMS40bDIgMTcuOGMtNiAuNy0xMiAxLjctMTcgM2wtNS0xN2MtNi43IDEuMjEtMTMuOSAzLjU0LTE5IDUuOTFsNiAxNi4xYy01IDItMTEgNC4zLTE2IDYuOGwtOC0xNC45Yy03LjMgMS42My0xMi41IDUuNTctMTcgMTAuNGwxMCAxMy40Yy00LjggMy40OS0xMC4yIDYuOTgtMTQgMTAuOGwtMTItMTEuNmMtNS4yIDIuOTctMTEgOC42Ny0xMyAxNWwxMyA5LjZjLTQgNC43LTYgOS42LTkgMTQuNzgtNS4xLTIuMDktMTAtNC41NC0xNS02Ljg4LTQgNS44OC01IDEzLjk4LTYgMjAuMzggNS45LjkgMTEuOSAxLjkgMTcgMi44LTEuNCA1LjItMS4xIDExLjUgMCAxNi4ybC0xNyAyLjVjLTIuMSA3LjQuOCAxNS40IDUgMjAuMmwxNi02LjdjMiA1IDUgMTAgOCAxNC45bC0xMyA5LjljMTEuMiAxNS43IDEwLjYgMTQuMSAxNCAxNi41bDExLTExLjVjNS4xIDQuNiA5LjMgOS41IDE0IDEyLjdsLTEyIDExLjljNC45IDQgOS40IDguNiAxNCAxMi45bDEyLTEyLjdjNSA0IDkgOC4yIDE0IDEyLjVsLTEyIDEzLjFjNC42IDQgOC44IDguNCAxMyAxMi44bDEzLTEzYzQgNC4zIDkgOC43IDEzIDEzLjJsLTEzIDEyLjdjNC43IDQuMSA5LjQgOS4zIDE0IDEzbDEyLTEyLjJjNC43IDQgOSAxMCAxMyAxMy45bC0xMyAxMS42YzMuOCA0LjggNy43IDguOSAxMiAxMy42bDEzLTEwLjZjNC41IDUgOC40IDEwLjcgMTIgMTUuOWwtMTQgOC43YzEuNSAzLjUgNC42IDEzLjYgNSAxNGwxNi0yLjZjMSA2LjIgMiAxMiA0IDE3LjVsLTE2IDQuNGMtLjMgNi43IDMuMyAxNC43IDYgMTguN2wxNi02LjNjMS4xIDUuNiA0LjIgMTEuNCA3IDE1LjYtNC42IDMtOS4zIDUuOC0xNCA4LjcgMy41IDYgOS4zIDExLjMgMTMgMTYuM2wxMi0xMS45YzQuNCAzLjcgOC4yIDYuMSAxMyA4bC02IDE2LjFjNyAzIDE2LjIgMy4zIDIzIDMuM3YtLjFjLS42LTYtMS4zLTEyLjEtMi0xOC4xIDUtLjYgOS0yLjIgMTQtNC42bDkgMTUuNWM1LjctMi4zIDEyLjctNy42IDE2LTEzbC0xMi0xMi41YzQtMy43IDgtOC4xIDEyLTEzLjFsMTMgMTAuMWMyLjItMi41IDEwLjctMTQuMiAxMS0xNi43bC0xNC04LjFjMi4zLTUuNyA2LTExLjEgOS0xNmwxNCA3LjNjMi4zLTUuMSA4LTExLjcgOC0xNy41bC0xNC02LjJjMi01LjcgNC0xMS4zIDctMTdsMTQgNS40YzMuMS01LjQgNC41LTEyLjQgNi0xOC41bC0xNS00LjJjMi01LjkgMy0xMS44IDUtMTcuN2wxNSAzYy4yLTYuNCAxLjItMTIuOSAzLTE5LjFsLTE1LTEuOWMwLTYuMSAxLTEyLjIgMS0xOC4xbDE1IC42VjIxMmwtMTUgLjVjMC02LjEtMS0xMi0yLTE3LjlsMTUtMi4yYy4xLTYuNS0xLjYtMTMuNC0zLTE5LjFsLTE1IDMuNGMtMi01LjktMy0xMS43LTUtMTcuNGwxNS00LjljLTMuNC01LjctNS43LTEyLjgtNy0xOC4xbC0xNSA2LjFjLTItNS41LTUtMTAuOS04LTE2LjFsMTQtNy43Yy0zLjItNi03LjUtMTEuOC0xMS0xNi43bC0xMyA5LjFjLTMtNS03LTkuOC0xMS0xNC4yOGwxMy0xMC40Yy00LjctNC45NC05LjYtMTAuMjctMTQtMTQuNC0zLjcgMy44MS03LjQgNy42Ni0xMSAxMS42LTQtNC4yLTktOC4yLTE0LTExLjggMy42LTQuMzMgNy43LTguNDggMTEtMTIuOS01LjMtNC4yOS0xMC45LTguNTMtMTYtMTEuNjFsLTkgMTMuOWMtNS40LTMuODUtMTAuNy01LjQxLTE2LTguNSAyLTUuNDUgNS4xLTEwLjMyIDgtMTUuM3YtLjFjLTYtMi45NC0xMS45LTQuOTQtMTgtNy40bC02IDE2LjZjLTYtMS45LTEyLTMuNC0xNy00LjYgMS4yLTYuMDMgMi40LTExLjc3IDQtMTcuNS02LjUtMS41Mi0xMy4zLTIuNTYtMjAtMi45bC0yIDE4Yy02LS42LTExLS44LTE3LS43LS4zLTYuMTQtLjgtMTIuMjYtMS0xOC40em0zIDM3LjExYzIxIDAgNDIgNC4yIDYxIDEzLjg5IDcyIDM3LjA5IDEyNyAxNDEuNDkgNTYgMjY0LjM5LTEwIDE4LjQtMjAgMjkuNy0yOCAzNS4yLTggNS40LTEzIDUuNS0xOCAzLjItNS0yLjQtMTItOS0xNy0yMC4zLTUtMTEuMi0xMC0yNi43LTEzLTQ1LjItMS05LjQtNy0xNy42LTE1LTI4LjFzLTE4LTIyLjMtMzAtMzQuNmMtMjMtMjQuNS01MC01MC40LTcyLTY4LjQtMjQtMjAtMzItMzguMy0zMS01NC4xIDEtMTUuOSAxMS0zMC44OCAyOC00Mi44OCAxOS0xMy41IDQ3LTIyLjIgNzUtMjMgMiAwIDMtLjEgNC0uMXptLTIzMSAyLjlsNCAxNi44Yy01LjEzIDEuNjEtMTAuMSA0LjA5LTE0IDcuMmwtMTAtMTQuMWMtNi41NCA0LjE1LTExLjYgOS44NS0xNSAxNC41bDEzIDExLjJjLTMgNC4yOC02IDguODgtOCAxMy41OGwtMTYtNS45Yy0zLjkxIDYuMy00IDEzLjctNCAyMS40bDE1IC4yYy0xIDUuOS0xIDExLjkgMCAxNy40bC0xMiAzLjhjMS4wNCA4LjcgNS4yIDE0LjYgMTAgMTkuM2w5LTcuMWMzLjcgMy43IDguNzQgNi45IDEzIDguMWwtOCAxMS40YzguMSA0LjMgMTUuMzcgNy4zIDI0IDYuNHYtLjFjLS44Mi01LjgtMS42MS0xMS42LTMtMTcuMyA1LTEuMiA5LTMuNCAxMi02LjJsMTIgMTEuOGM2LjUtNS42IDEwLjMtMTAuMyAxMy0xNi44bC0xMy03LjRjNC00LjkgNy0xMC4yIDEwLTE1LjRsMTIgNWMyLjgtNi4zIDQuNS0xMi44IDYtMTguMmwtMTEtMy45YzEtNS40IDEtMTAuOS0xLTE2bDE1LTIuOThjLTMtOC45OS00LjgtMTQuNTgtMTAtMjAuOGwtMTIgMTAuN2MtMy43LTMuNzYtOC41Ny03LjI1LTEzLTguOWw2LTE1Yy03LjMyLTMuNzgtMTUuNjktMy41My0yNC0yLjd6bTE3OSAzMi45Yy0xMiAuMy0yMyA2LjUtMjkgMTcuMjgtMTAgMTYuNy00IDM3LjkgMTMgNDcuNSAxNiA5LjUgMzcgMy45IDQ3LTEyLjcgOS0xNi42IDQtMzcuOS0xMy00Ny4zOC02LTMuMy0xMi00LjgtMTgtNC43em0tMTYzIDUuN2MzLjQ4IDQuMzggNSAxMC4zOCA0IDEzLjQ4LTMgOS0xMC40NiAyMi4zLTE4IDMwLjQtNS44OSA2LjQtMTEuNTggNy4xLTE2IDMuNS0zLTMtNS0xMS44LTItMjIuMiA0LjAxLTkuNSAyMS4wOS0zOC4yNiAzMi0yNS4xOHptMjUzIDEyLjk4Yy04IDAtMTQgNi40LTE0IDE0LjQgMCA3LjkgNiAxNC40IDE0IDE0LjRzMTUtNi41IDE1LTE0LjRjMC04LTctMTQuNC0xNS0xNC40em0zOCA2MC45Yy0xNyAuNC0zMyA5LjUtNDMgMjUuNC0xNCAyNC4yLTUgNTUuMyAxOSA2OS4zczU1IDUuNiA2OS0xOC42YzE0LTI0LjMgNi01NS4zLTE4LTY5LjMtOS00LjgtMTgtNy0yNy02Ljh6TTg5IDI1MC4xbC0xIDE3LjRjLTUuMzItLjctMTAuMTEtLjktMTUgMUw2NyAyNTNjLTguNjYgMi40LTE0Ljc2IDYuOC0xOSAxMS41bDExIDEyLjRjLTMuNDYgMy45LTcuNDIgOC4xLTkgMTIuNy01LjI0LTItMTAuMDctNC44LTE1LTcuNC0zLjEzIDYtNS43NCAxNC02IDIwLjRsMTYgMi44Yy0xLjMzIDYuNS0yIDExLjEtMiAxNy4ybC0xNS4xNS41Yy0uMjUgNy40IDAgMTIuNyAxLjE1IDE5LjRsMTUtMS43YzEgNi4yIDIgMTIuMiAzIDE3LjlsLTE1IDMuMWMuNzkgNi42IDEuODcgMTIuNyA1IDE5bDE0LTQuNmMyIDUuOSA0IDExLjYgNyAxN2wtMTUgNmMxLjI4IDQuNyA2LjY5IDEyLjggMTAgMTcuN2wxMy03LjhjMyA1LjIgNiAxMC4xIDEwIDE0LjhsLTEyIDkuNmM0LjQ0IDUuNCA5IDExIDEzIDE0LjlsMTEtMTEuMWM0IDQuMyA5IDguMiAxMyAxMS44bC05IDEyLjRjNC4yNSA0LjEgMTEuNiA5IDE3IDExbDctMTMuM2M1IDMgMTEgNS43IDE2IDcuOWwtNiAxNHMxOS4zIDYuNSAxOSA2LjF2LjJsNC0xNC43YzYgMS41IDEyIDIuNiAxOCAzLjJsLTIgMTVjNS45LjcgMTMuOS45IDIwIC43bC0xLTE1LjRjNi0uNCAxMi0xLjYgMTctMy40bDUgMTUuNmM4LjUtMi40IDE0LjEtNC44IDE5LTguN2wtOS0xNC40YzUtMy4xIDktNi43IDEzLTEwLjdsMTIgMTEuOGM0LjUtNS4xIDEwLjEtMTIuMSAxMy0xNi40bC0xNS04LjhjNC01IDYtMTAuMiA4LTE1LjRsMTYgNS43YzIuOC02LjcgNC0xNCA1LTIwbC0xNi0yLjNjLjctNiAuOS0xMi4yIDEtMTcuNGwxNi0uNmMtLjYtNy4zLTEuNS0xNC42LTMtMjAuOGwtMTUgNC40Yy0xLTUuNS0zLTEwLjYtNy0xNS4ybDEzLTguOGMtMS45LTQuMy0xMC4zLTE0LTE2LTE1LjZsLTkgMTQuNGMtNS0yLjEtOS0zLjctMTUtNC45bDMtMTcuNmMtMTUuMi0xLjEtMTYuNC0uOC0yNiAuMS42IDUuMiAxLjIgOS41IDIgMTQuOC02LjUtLjItMTQtLjctMjAtMS4zbDEtMTIuOGMtNS43LS4xLTExLjQtLjgtMTctMS45bC0zIDExLjljLTctMS4zLTE0LTIuOS0xOS00LjcgMS45LTQuNyA1LTguNSA4LTEyLjUtMy40LTIuMy03LjgtNy4zLTEwLTkuOWwtMTQgOGMtMi43LTUuOC00LjgtMTQtNS0yMC41bDE1LTEuM2MtLjYtOS4yLTEuOS0xNC42LTYtMjEuMmwtMTUgNy4xYy0yLjItNC4xLTYuNS03LjgtMTAtMTAuMiAzLjQtNC44IDYuNy05IDEwLTEzLjktNi4xLTMuOS0xNS4xMi04LjQtMjItOC43em01IDQxYzIgMy4xIDQgOC40IDUgMTQuOSAyIDYuNCAzIDEzLjkgNiAyMS40IDMgNy40IDggMTUuMiAxNyAxOS42IDE4IDkgNDcgMTIuNyA2NyAxMy40IDI1IC45IDM2IDUuMyA0MCAxMC4zIDQgNC45IDUgMTQuMyA1IDMwLjYtMSAxMC45LTYgMjUuMy0xNSAzNi41cy0yMiAxOS4xLTM3IDE5LjhjLTUyIDIuNi0xMjAtNDAuMy0xMjAtMTM3LjUgMC0xMi41IDQtMjEuNyA4LTI3LjMgNi4yNy03LjcgMTcuODEtMTAuNyAyNC0xLjd6bTE4IDc2LjljLTggMC0xNSA2LjUtMTUgMTQuNHM3IDE0LjMgMTUgMTQuM2M3IDAgMTQtNi40IDE0LTE0LjNzLTctMTQuNC0xNC0xNC40em02MyAxNy42Yy0xMyAwLTI0IDExLTI0IDI0LjQgMCAxMy41IDExIDI0LjQgMjQgMjQuNCAxNCAwIDI1LTEwLjkgMjUtMjQuNCAwLTEzLjQtMTEtMjQuNC0yNS0yNC40eiIgZmlsbD0iI2ZmZiIgZmlsbC1vcGFjaXR5PSIxIj48L3BhdGg+PC9nPjwvc3ZnPg==
data:image/svg+xml;base64,PHN2ZyBzdHlsZT0iaGVpZ2h0OiA1MTJweDsgd2lkdGg6IDUxMnB4OyIgeG1sbnM9Imh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnIiB2aWV3Qm94PSIwIDAgNTEyIDUxMiI+PGcgY2xhc3M9IiIgc3R5bGU9IiIgdHJhbnNmb3JtPSJ0cmFuc2xhdGUoMCwwKSI+PHBhdGggZD0iTTEyMi43IDIzLjMybDEuNyAyMS44Ny0xNi43IDE0LjI1IDIxLjQgNS4xNyA4LjQgMjAuMjVMMTQ5IDY2LjE4bDIxLjgtMS43NS0xNC4yLTE2LjcxIDUuMS0yMS4zMi0yMC4zIDguMzUtMTguNy0xMS40M3pNNDY0IDMyYTE2IDE2IDAgMCAwLTE2IDE2IDE2IDE2IDAgMCAwIDE2IDE2IDE2IDE2IDAgMCAwIDE2LTE2IDE2IDE2IDAgMCAwLTE2LTE2ek0yMzkuOCA0Mi41YTE2IDE2IDAgMCAwLTE2IDE2IDE2IDE2IDAgMCAwIDE2IDE2IDE2IDE2IDAgMCAwIDE2LTE2IDE2IDE2IDAgMCAwLTE2LTE2em0xODMuOSA2Ljg0Yy05LjIgMS43NC0xNy43IDcuMTgtMjUuOSAxNC4yOC03LjYgNi41My0xNC43IDE0LjY2LTIwLjcgMjMuNDUtMTguOCAzLjAxLTM3LjYgMTAuNjctNTAuMiAyMS4xMy0xNi4xIDEzLjItMzAuNCAzNS44LTM4LjIgNTkuMS03LjQgMy4xLTE0LjQgNi44LTIwLjEgMTAuOC0xNS41IDEwLjktMjMuNSAzMS44LTI5LjQgNTAtNS45IDE4LjMtOC44IDM0LjMtOC44IDM0LjNsMTcuOCAzLjJzMi43LTE1IDguMS0zMS45YzUuNS0xNi45IDE0LjgtMzUuMyAyMi43LTQwLjggMS4zLS45IDMtMS45IDQuNS0yLjgtLjYgNS43LS42IDExLjQuMyAxNi44IDEuOCAxMS40IDggMjIuMyAxOSAyOC4yIDcuOCA0LjIgMTYuNiAzLjIgMjQgLjIgNy40LTMuMSAxNC04LjIgMTkuNy0xNC4yIDUuNy02IDEwLjQtMTMuMSAxMy4yLTIwLjYgMi44LTcuNSAzLjgtMTYgLjItMjMuOWgtLjFjLTMuOS04LjQtMTEuNC0xMy44LTE5LjQtMTYuMS04LTIuMy0xNi42LTIuMi0yNS4yLS45LTEuNS4yLTIuOS43LTQuNCAxIDcuNC0xNS44IDE4LTMwLjcgMjcuNS0zOC42IDYuMi01LjEgMTYuNi0xMCAyNy43LTEzLjYtMS40IDMuOC0yLjUgNy42LTMgMTEuNS0xLjYgMTAuNS43IDIxLjkgOS4xIDI5LjcgNi4xIDUuNiAxNC4zIDYuNSAyMS41IDUuMyA3LjEtMS4yIDE0LTQuNCAyMC4yLTguNSA2LjItNC4yIDExLjctOS40IDE1LjYtMTUuNSAzLjktNi4xIDYuNS0xMy45IDQtMjEuN3YtLjFjLTMuMy0xMC4wNy0xMS41LTE2Ljk5LTIwLjYtMjAuMjctMy45LTEuNC04LTIuMTktMTIuMi0yLjY2IDIuOS0zLjI2IDUuOS02LjMxIDguOS04LjkyIDYuOC01Ljg0IDEzLjctOS41IDE3LjYtMTAuMjNsLTMuNC0xNy42OHpNMTc0LjggODQuMzlsLTE1LjIgOS41NiAzNC41IDU1LjI1LTU2LjQgMi45IDI2LjUgNTcuOCAxNi40LTcuNi0xNS41LTMzLjYgNjAuNi0zLjEtNTAuOS04MS4yMXptMjE2LjQgMTkuMzFjNi4xLS4xIDExLjUuNiAxNS41IDIuMSA1LjQgMS45IDguMSA0LjMgOS41IDguOC40IDEuMS4yIDMuMy0xLjkgNi42LTIuMiAzLjQtNi4xIDcuMi0xMC41IDEwLjItNC41IDMtOS41IDUuMS0xMy4yIDUuNy0zLjguNy01LjUgMC02LjMtLjctMy41LTMuMi00LjUtNy4yLTMuNS0xMy45LjgtNS40IDMuMy0xMS45IDctMTguNiAxLjIgMCAyLjMtLjIgMy40LS4yek05NC45OSAxMjNhMTYgMTYgMCAwIDAtMTYgMTYgMTYgMTYgMCAwIDAgMTYgMTZBMTYgMTYgMCAwIDAgMTExIDEzOWExNiAxNiAwIDAgMC0xNi4wMS0xNnptMzU2LjExIDM3LjJsLTE0LjQgMTYuNi0yMS44LTEuOCAxMS40IDE4LjgtOC41IDIwLjIgMjEuNC01IDE2LjYgMTQuMyAxLjktMjEuOSAxOC43LTExLjQtMjAuMi04LjUtNS4xLTIxLjN6bS0xMjMuNSAxNi41YzIuOS4xIDUuNi41IDcuNyAxLjEgNC4zIDEuMiA2LjYgMyA4LjIgNi40LjkgMS45IDEgNS40LS43IDEwLTEuNyA0LjctNS4yIDEwLjEtOS40IDE0LjZzLTkuMyA4LjEtMTMuNSA5LjhjLTQuMiAxLjctNi44IDEuNi04LjUuN2gtLjFjLTUuOC0zLjItOC42LTcuOC05LjctMTUuMi0xLTYuMy0uMy0xNC4zIDEuOC0yMi45IDQuOS0xLjcgOS44LTMuMSAxNC41LTMuOCAzLjUtLjUgNi43LS43IDkuNy0uN3ptLTIwMi40IDUxLjljLTcuMi0uMi0xMS43IDEuNS0xNC41IDQuMy0yLjggMi44LTQuNSA3LjMtNC4zIDE0LjUuMiA3LjMgMi42IDE2LjkgNy4yIDI3LjYgOS4yIDIxLjUgMjcuMyA0Ny40IDUxLjYgNzEuOCAyNC4zIDI0LjMgNTAuMyA0Mi4zIDcxLjggNTEuNSAxMC42IDQuNiAyMC4yIDcgMjcuNSA3LjIgNy4zLjMgMTEuNy0xLjUgMTQuNS00LjMgMi44LTIuOCA0LjYtNy4yIDQuMy0xNC41LS4yLTcuMy0yLjYtMTYuOS03LjItMjcuNi05LjItMjEuNC0yNy4yLTQ3LjQtNTEuNS03MS43LTI0LjMtMjQuNC01MC4zLTQyLjQtNzEuOC01MS42LTEwLjctNC42LTIwLjMtNy0yNy42LTcuMnptMjMyIDMxLjNsLTMzIDU0LTI5LjEtMjcuOS0xMi40IDEzIDQ1LjEgNDMuMyAzMy44LTU1LjIgMzguNyAzMi4zIDg5LjMtMzguMi03LTE2LjYtNzkuMyAzNC00Ni4xLTM4Ljd6TTkzLjQzIDI3Mi42bC0xNy42NCA1Ny45YzQxLjQxIDQ5LjEgODkuNzEgNzYuNyAxNDIuMTEgOTQuN2wyMS42LTYuNmMtMy4xLTEuMS02LjQtMi40LTkuNy0zLjgtMjQuNC0xMC40LTUxLjctMjkuNi03Ny4zLTU1LjMtMjUuNy0yNS43LTQ0LjktNTMtNTUuMzQtNzcuNC0xLjQxLTMuMi0yLjY1LTYuNC0zLjczLTkuNXptLTIzLjgyIDc4LjJsLTE0LjAxIDQ2YzI4Ljg5IDI3IDU5IDM5LjIgOTAuNiA1MC4ybDQzLjQtMTMuMmMtNDMuMi0xNy42LTg0LTQzLjMtMTE5Ljk5LTgzek0zNjggMzUyYTE2IDE2IDAgMCAwLTE2IDE2IDE2IDE2IDAgMCAwIDE2IDE2IDE2IDE2IDAgMCAwIDE2LTE2IDE2IDE2IDAgMCAwLTE2LTE2ek00OS44MSA0MTUuOWwtMjAuMjkgNjYuNiA4OC4yOC0yNi45Yy0yMi43Ny05LjEtNDUuNzgtMjAuNy02Ny45OS0zOS43eiIgZmlsbD0iI2ZmZiIgZmlsbC1vcGFjaXR5PSIxIj48L3BhdGg+PC9nPjwvc3ZnPg==
data:image/svg+xml;base64,PHN2ZyBzdHlsZT0iaGVpZ2h0OiA1MTJweDsgd2lkdGg6IDUxMnB4OyIgeG1sbnM9Imh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnIiB2aWV3Qm94PSIwIDAgNTEyIDUxMiI+PGcgY2xhc3M9IiIgc3R5bGU9IiIgdHJhbnNmb3JtPSJ0cmFuc2xhdGUoMCwwKSI+PHBhdGggZD0iTTEzMC44MSAyMS43ODV2MjQ1Ljk1SDQzLjg0TDI1NiA0ODkuMzgybDIxMi4xNTgtMjIxLjY0NEgzODEuMTlWMjEuNzg2SDEzMC44MXoiIGZpbGw9IiNmZmYiIGZpbGwtb3BhY2l0eT0iMSIgdHJhbnNmb3JtPSJ0cmFuc2xhdGUoMCwgMCkgc2NhbGUoMSwgMSkgcm90YXRlKC05MCwgMjU2LCAyNTYpIHNrZXdYKDApIHNrZXdZKDApIj48L3BhdGg+PC9nPjwvc3ZnPg==
data:image/svg+xml;base64,PHN2ZyBzdHlsZT0iaGVpZ2h0OiA1MTJweDsgd2lkdGg6IDUxMnB4OyIgeG1sbnM9Imh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnIiB2aWV3Qm94PSIwIDAgNTEyIDUxMiI+PGRlZnM+PGNsaXBQYXRoIGlkPSJpY29uLWJnIj48cGF0aCBkPSJNMCAwaDUxMnY1MTJIMHoiIGZpbGw9IiMwMDAiIGZpbGwtb3BhY2l0eT0iMCI+PC9wYXRoPjwvY2xpcFBhdGg+PC9kZWZzPjxwYXRoIGQ9Ik0wIDBoNTEydjUxMkgweiIgZmlsbD0iIzAwMCIgZmlsbC1vcGFjaXR5PSIwIj48L3BhdGg+PGcgY2xhc3M9IiIgc3R5bGU9InRvdWNoLWFjdGlvbjogbm9uZTsiIHRyYW5zZm9ybT0idHJhbnNsYXRlKDAsMCkiPjxwYXRoIGQ9Ik0yOTguNzM2IDIxLjAxNmMtOTkuMjk4IDAtMTk1LjkyOCAxMDQuNjQ3LTIxNS44MyAyMzMuNzM2LTcuMDc0IDQ1Ljg4Ny0zLjQ5MyA4OC42OCA4LjUxMiAxMjQuNzg3LTQuMDgyLTYuNDA3LTcuOTItMTMuMDktMTEuNDY3LTIwLjAzNC0xNi41MTYtMzIuMzM1LTI0LjYyNy02NS4zNzgtMjUtOTYuMjcyLTExLjc0IDM2LjI1NC04LjA4MyA4Mi40NyAxNC40ODIgMTI2LjY0MyAyNy43IDU0LjIyNyA4MS41NjMgOTEuOTQgMTM5Ljg3IDk3LjUwMiA1LjY1OC43MjUgMTEuNDQ3IDEuMTA4IDE3LjM2NCAxLjEwOCA5OS4yOTggMCAxOTUuOTMtMTA0LjY0NyAyMTUuODMtMjMzLjczNiA5LjI4LTYwLjE5Ni4yMy0xMTUuMDcyLTIyLjEzMy0xNTYuNTA2IDIxLjYyNSAyMS44NjcgMzYuNTYgNDUuNzg2IDQ0LjYxNyA2OS40OTYuNjIzLTMwLjQwOC0xNC4wNjQtNjUuNzY2LTQ0LjIxLTk1LjgwNi0zMy43MTgtMzMuNTk4LTc3LjIyNy01MC45MS0xMTQuOTk1LTUwLjcyMy0yLjMyOC0uMTE4LTQuNjctLjE5Ny03LjA0LS4xOTd6bS01LjYgMzYuMzU3YzQwLjIyMyAwIDczLjY1IDIwLjM0MiA5NS43MDIgNTMuNTMzIDE1LjkxNSA0Mi44ODggMTIuNTEgMTA4LjMxNS45OCAxNDcuODU4LTE2LjAyIDU0Ljk0NC00MC41OTggOTYuMDM1LTc5Ljc3IDEyNi4xMDctNDEuNzkgMzIuMDg0LTk4LjQ0NyAyNC4zOS0xMTUuODc0LTUuNzk4LTEuMzY1LTIuMzYzLTIuNDg3LTQuODMyLTMuMzgtNy4zODUgMTEuNzI0IDE0LjA2IDM4LjE4OCAxNC45NDQgNjEuODE3IDEuMyAyNS40OC0xNC43MSAzOC4wMDMtNDAuNzI3IDI3Ljk2OC01OC4xMDgtMTAuMDM2LTE3LjM4NC0zOC44MjYtMTkuNTQ4LTY0LjMwNy00LjgzNy05LjgzIDUuNjc2LTE3LjcyIDEzLjAzNy0yMy4xNCAyMC45MzQuNTA3LTEuMjk1IDEuMDQzLTIuNTkgMS42MjYtMy44OC0xOC42ODcgMjQuNDktMjQuNTYyIDUyLjEyNi0xMi44NDggNzIuNDE3IDM4LjcwMiA0NS45MjMgOTguMDcgMjUuNTAzIDE0MC43NDYtNi40MjYgMzcuOTUtMjguMzkyIDcyLjMyLTczLjU1IDg5LjM1Ni0xMzEuOTg4IDEuMjY1LTQuMzQgMi40MTYtOC42NzcgMy40NjctMTMuMDA4LS4yODYgMi4yMTgtLjU5IDQuNDQyLS45MzQgNi42NzgtMTYuODA3IDEwOS4wMi05OC40MTIgMTk3LjM5Ni0xODIuMjcyIDE5Ny4zOTYtMzUuNjQ0IDAtNjUuOTU0LTE1Ljk3NS04Ny43NC00Mi43MS0yNi40OTItNDguMzk2LTE1Ljk4OC0xNDIuMDgzIDQuNjc1LTE4NS4xNSAyNi43NDUtNTUuNzQyIDY2LjEzMy0xMjIuNzcgMTM0LjMyNC0xMTYuODA0IDQ2LjAzIDQuMDI3IDYzLjA5OCA1OC42MzcgMzkuMTI4IDExNi4yMi04LjYxIDIwLjY4NS0yMS4xOTIgMzkuMzE0LTM2LjIxIDU0LjMxMyAyNC45MS0xNi42IDQ2LjcyLTQyLjEzIDU5LjU3Mi03MyAyMy45Ny01Ny41ODMgNi45NC0xMTMuNDIyLTM5LjEzLTExNi44MDUtODUuNzM3LTYuMjk2LTEzNy42MzggNTguNTUtMTc3LjU0MiAxMjguNDg1LTkuMjEgMTkuOS0xNi4xODIgNDAuMzUtMjAuOTc3IDYwLjcwNy40OTQtNy40MzUgMS4zMTItMTQuOTkgMi40OTMtMjIuNjUyQzEyNy42NyAxNDUuNzUgMjA5LjI3NSA1Ny4zNzMgMjkzLjEzNSA1Ny4zNzN6IiBmaWxsPSIjZmZmZmZmIiBmaWxsLW9wYWNpdHk9IjEiIGNsaXAtcGF0aD0idXJsKCNpY29uLWJnKSI+PC9wYXRoPjwvZz48L3N2Zz4=
data:image/svg+xml;base64,PHN2ZyBzdHlsZT0iaGVpZ2h0OiA1MTJweDsgd2lkdGg6IDUxMnB4OyIgeG1sbnM9Imh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnIiB2aWV3Qm94PSIwIDAgNTEyIDUxMiI+PGcgY2xhc3M9IiIgc3R5bGU9IiIgdHJhbnNmb3JtPSJ0cmFuc2xhdGUoMCwwKSI+PHBhdGggZD0iTTY1LjEyNSAxOC4zNDRDNDcuMTEgNDkuODQ0IDM2LjcyIDg2LjI2MiAzNi43MiAxMjUuMTI0YzAgODAuMjkzIDQzLjk3MyAxNTAuNDk3IDEwOS4xMjQgMTg3Ljc1LjQwMy02LjkwNC45Mi0xMy44MzMgMS42MjUtMjAuNzUtNTUuMzMtMzQuOTY1LTkyLjA2NC05Ni42NzYtOTIuMDY0LTE2NyAwLTM5LjQyNiAxMS42My03NS45NjQgMzEuNTYzLTEwNi43OEg2NS4xMjR6bTY5LjAzIDBjLTI1LjYxIDI4LjI3My00MS4zNzQgNjUuNjM1LTQxLjM3NCAxMDYuNzggMCA1MS4wOCAyNC4wNTIgOTYuNjU2IDYxLjQ0IDEyNS45N2wuMDYtLjI1YzEuNjEyLTYuNjEgMy40NzMtMTMuMDA4IDUuNjktMTkuMTI1LTI5LjczLTI1Ljg5Ni00OC41LTY0LjAyNi00OC41LTEwNi41OTUgMC00Mi44NDggMTkuMjU0LTgwLjgzNyA0OS40MzYtMTA2Ljc4aC0yNi43NXptMjEwLjUzMiAwYzMwLjEyNSAyNS45NSA0OS40MzggNjQuMDAzIDQ5LjQzOCAxMDYuNzggMCA0MS4xNTItMTcuNTQ2IDc4LjE1Ny00NS41NjMgMTAzLjk3IDIuMjYgNi4yODIgNC4xMTYgMTIuODc2IDUuNjU3IDE5LjY4NyAzNS43NDgtMjkuMzY2IDU4LjU5Mi03My44ODMgNTguNTkyLTEyMy42NTUgMC00MS4xMjMtMTUuODEtNzguNS00MS40MDYtMTA2Ljc4aC0yNi43MnptNzMuNDA3IDBjMjAuMDYgMzAuODY3IDMyLjA5NCA2Ny4zODcgMzIuMDk0IDEwNi43OCAwIDY5LjQ1Ny0zNS44MiAxMzAuNTA1LTkwIDE2NS42OS41NDUgNy4wMzcuOTMzIDE0LjEwNyAxLjE4NyAyMS4xMjMgNjQuMjY3LTM3LjQ4MyAxMDcuNTMtMTA3LjE4IDEwNy41My0xODYuODEyIDAtMzguOTI1LTEwLjc0NS03NS4zMjgtMjguODc0LTEwNi43OGgtMjEuOTM2em0tMTY1LjMxMyAyLjI4Yy01Ny42MjUgMC0xMDQuNTMgNDYuOTA2LTEwNC41MyAxMDQuNTMyIDAgMjguNjA2IDExLjU2IDU0LjU3MyAzMC4yNSA3My40NyA0LjEzLTQuNzEyIDguODQtOC44MTcgMTQuMDk0LTEyLjE5LTE1Ljg0NC0xNS41Ni0yNS42NTYtMzcuMjM3LTI1LjY1Ni02MS4yOCAwLTQ3LjUyNyAzOC4zMTYtODUuODQ0IDg1Ljg0My04NS44NDQgNDcuNTI4IDAgODUuODQ1IDM4LjMxNyA4NS44NDUgODUuODQ0IDAgMjMuMTYtOS4xMDggNDQuMTE0LTIzLjkzOCA1OS41MyA1LjQ4OCAzLjE0IDEwLjM5NCA3LjAzMyAxNC42ODggMTEuNTMzIDE3LjMyNy0xOC42NjYgMjcuOTM4LTQzLjY1NyAyNy45MzgtNzEuMDY0IDAtNTcuNjI2LTQ2LjkwNS0xMDQuNTMtMTA0LjUzMi0xMDQuNTN6bS00LjE4NiA1NS41NjRjLTIxLjYyMiAyLjgtNDAuOTcgMjcuOTEtNDAuOTcgNjAuMjggMCAxNy44NDYgNi4xNzMgMzMuNjUzIDE1LjI4MiA0NC41OTVsMTAuMTg4IDEyLjIxOC0xNS42NTYgMi45NGMtMTEuODg0IDIuMjI2LTIwLjYyIDguNTEyLTI4LjAzMiAxOC42NTUtNy40MSAxMC4xNDMtMTMuMDIzIDI0LjIxNi0xNi45NyA0MC40MDYtNy4xODggMjkuNS04LjczNiA2NS40OTgtOC45NjcgOTcuMTI2aDM4Ljk5OWwuNjU1IDguNjU2IDkuOTA2IDEzMi41aDgzLjY5bDguNzUtMTMyLjQzNy41OTItOC43MmgzNy4xMjVjLS4wMi0zMi0uMzktNjguNDktNi45MDYtOTguMjE3LTMuNTctMTYuMjk3LTguOTkyLTMwLjM0LTE2LjUtNDAuMzc1LTcuNTA1LTEwLjAzNS0xNi42NTQtMTYuMjg4LTI5Ljk2Ny0xOC4zNDRMMjczLjg3NSAxOTNsMTAuMDk0LTEyLjYyNWM4LjcxMy0xMC44OSAxNC41OTItMjYuNDk1IDE0LjU5Mi00My45MDYgMC0zNC41MTUtMjEuNjU4LTYwLjIyLTQ1LjQ2OC02MC4yMi0yLjY3MiAwLTQuMjc1LS4wOTItNC41LS4wNjN6IiBmaWxsPSIjZmZmIiBmaWxsLW9wYWNpdHk9IjEiPjwvcGF0aD48L2c+PC9zdmc+
data:image/svg+xml;base64,PHN2ZyBzdHlsZT0iaGVpZ2h0OiA1MTJweDsgd2lkdGg6IDUxMnB4OyIgeG1sbnM9Imh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnIiB2aWV3Qm94PSIwIDAgNTEyIDUxMiI+PGcgY2xhc3M9IiIgc3R5bGU9IiIgdHJhbnNmb3JtPSJ0cmFuc2xhdGUoMCwwKSI+PHBhdGggZD0iTTI2NC40MzggMTkuNDA2Yy00NC41MzggMC04NS4zMjUgMjUuNDk4LTExNS41NjMgNjguMzEzLTMwLjIzOCA0Mi44MTQtNDkuMzQ0IDEwMi43Mi00OS4zNDQgMTY5LjA2IDAgNjYuMzQyIDE5LjEwNyAxMjYuMjE4IDQ5LjM0NSAxNjkuMDMzIDMwLjIzOCA0Mi44MTQgNzEuMDI1IDY4LjMxMiAxMTUuNTYzIDY4LjMxMiA1LjU2NyAwIDExLjA2My0uNDA3IDE2LjUtMS4xODhoLTUuMjJ2LTEwMS4wM2MtMy4wNTMtLjExMy02LjE0Ni0uMTg4LTkuMjgtLjE4OC00Mi42NCAwLTc3Ljg4NCAxMC43MTItODkuNTk0IDI1LjA2LTEyLjI0Ny0zMS44IDMxLjg1LTQ0Ljc4MiA3OS45MzctNDUuMjggMy4yMDctLjAzMyA2LjQzMi0uMDEzIDkuNjU4LjA2MyAxMy4zOTguMzE3IDI5LjYyNCAxLjM2NCA0NC44MTIgMy44MTJ2LTk2LjVjLTcuODAzLTQuMzA2LTEzLjI0LTEwLjEwNC0xNC41LTE3LjE1NiAzNC44MSAxMS44NCA5NS4yMzIgMy4zNzcgMTA1LjI4LTMuNTMzLTYuMjc1IDI2LjEtNDMuNTg4IDMzLjI5LTcyLjA5MiAyNy4zMTN2OTMuODc1YzE1LjEyIDQuMjEgMjYuODggMTAuNSAyOS45MzcgMTkuODQ0SDM2MHYuMzc0Yy44NTYgMi44NTcuOTA2IDUuOTk1IDAgOS40MzdWNDUwYzcuMDc0LTcuMjg1IDEzLjc2My0xNS4zNTcgMjAtMjQuMTg4IDMwLjIzOC00Mi44MTQgNDkuMzEzLTEwMi42OSA0OS4zMTMtMTY5LjAzIDAtNjYuMzQyLTE5LjA3NS0xMjYuMjQ4LTQ5LjMxMy0xNjkuMDYzLTMwLjIzOC00Mi44MTYtNzEuMDI1LTY4LjMxNC0xMTUuNTYzLTY4LjMxNHpNMTgwLjAzIDE5Ni4wOTRjMzEuNTMyIDAgNTcuNzU3IDIxLjM5IDYzLjM0NSA0OS42NTYtMTIuOTg2LTEyLjE1LTM2LjY2LTIyLjAzOC02My43Mi0yNS4xODgtMjEuOTUtMi41NTQtNDEuNjgyLS4xNDYtNTUuMjggNS43MiAxMS4xNzgtMTguMDYgMzEuOTEzLTMwLjE4OCA1NS42NTYtMzAuMTg4em0tNjMuMDkzIDczLjMxMmMxMy4xOCAxMS43MzMgMzYuMzQgMjEuMjEgNjIuNzIgMjQuMjggMjIuNDI3IDIuNjEyIDQyLjUwNC4wMjQgNTYuMTI0LTYuMTIzLTExLjE2NCAxOC4xNS0zMS45NCAzMC4zNzUtNTUuNzUgMzAuMzc1LTMxLjEgMC01Ny4wMzQtMjAuODMyLTYzLjA5My00OC41MzJ6bTE3Ny40NyAxMjMuOTA2djk2Ljg3NWMxNi41ODMtNC40IDMyLjM0Ny0xMi4zOCA0Ni45MDYtMjMuNXYtNjEuMDkzYy0xMS43LTUuNzMtMjguMDA4LTEwLjA4LTQ2LjkwNy0xMi4yOHoiIGZpbGw9IiNmZmYiIGZpbGwtb3BhY2l0eT0iMSI+PC9wYXRoPjwvZz48L3N2Zz4=
data:image/svg+xml;base64,PHN2ZyBzdHlsZT0iaGVpZ2h0OiA1MTJweDsgd2lkdGg6IDUxMnB4OyIgeG1sbnM9Imh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnIiB2aWV3Qm94PSIwIDAgNTEyIDUxMiI+PGRlZnM+PGNsaXBQYXRoIGlkPSJpY29uLWJnIj48cGF0aCBkPSJNMCAwaDUxMnY1MTJIMHoiIGZpbGw9IiMwMDAiIGZpbGwtb3BhY2l0eT0iMCI+PC9wYXRoPjwvY2xpcFBhdGg+PC9kZWZzPjxwYXRoIGQ9Ik0wIDBoNTEydjUxMkgweiIgZmlsbD0iIzAwMCIgZmlsbC1vcGFjaXR5PSIwIj48L3BhdGg+PGcgY2xhc3M9IiIgc3R5bGU9InRvdWNoLWFjdGlvbjogbm9uZTsiIHRyYW5zZm9ybT0idHJhbnNsYXRlKDAsMCkiPjxwYXRoIGQ9Ik0yMjcuNDcgMzEuNDdjLTY3LjA0OCA3MC41NDctODMuOTcyIDE3OC45MzYtMzIuOTA3IDI2Ny40NjcgNTEuMDcgODguNTQ0IDE1My4zMzMgMTI4LjA4MyAyNDcuOTA2IDEwNS4yMmwtMjE1LTM3Mi42ODh6bTIzMi44MSA4Mi4xNTVjLTUuMDUuMTMzLTEwLjEyNyAxLjQ4LTE0LjgxIDQuMTg4LTExLjMwMyA2LjUzLTE3LjAyIDE5LjAzNS0xNS40NCAzMS4yMThsLTk2LjMxIDI5LjI1IDM0Ljg0MiA2MC4zNDVMNDQyIDE2OS44MTJjOS43NTUgNy41MDQgMjMuNDU2IDguODI2IDM0Ljc4IDIuMjgyIDE0Ljk5Mi04LjY2MyAyMC4xMTctMjcuODIyIDExLjQ3LTQyLjgxMy01Ljk0NS0xMC4zMDUtMTYuODU2LTE1Ljk0OC0yNy45Ny0xNS42NTV6bS0zMTEuODc0IDEwNy41bC0yNi42NTYgNC42ODggMTAuNjg4IDYwLjUzLTQyLjA2MyAzOS4zNzYgMTguNjg4IDMyLjEyNCA1OC42NTYtMTcuODEzIDMuMTU1IDQuMTU4TDUzLjUzIDQ5My4wOTRoNzguMzQ1bDg1LjM0NC0yMS41MyA1Mi42ODYgMjEuNTNoNTAuNTYzbC03LjA2NC00NS43OC44MTMtLjIyLS45Ny0uNjI1LTQuNzUtMzAuNzJjLTYuODItMi4zNjYtMTMuNTMyLTUuMDY2LTIwLjEyNS04LjAzbDMuODQ0IDI0Ljk2Ny01MS0zMy40MzcgMTguNzUtNi41OTRjLTYuNTI4LTQuMDUtMTIuODgzLTguNDM3LTE5LjAzMy0xMy4xMjVsLTE5LjM3NSA2LjgxNC0zOS42MjUtMjYgNS44MTMtNy4zNzUgMTUuMTU2LTkuNjU4Yy05LjA0My0xMC43NDItMTcuMjY0LTIyLjQzMi0yNC41My0zNS4wMy0xNi0yNy43NC0yNS44MjgtNTcuMy0yOS45Ny04Ny4xNTd6bTIxLjkwNiAxNTMuOTdsMjkuMDk0IDE5LjA2LTYxLjA2MiAyMS41IDMxLjk3LTQwLjU2em00OC43MiAzMS45NjdsNDkuMzQzIDMyLjM0NC00OS43OCAxMi41NjMtNTguODQ1LTI0LjAzMyA1OS4yOC0yMC44NzV6bS05NC44MTMgMjYuNTMybDUuNzE4IDIuMzEyIDU4LjEyNSAyMy43NUw4Mi43NSA0ODYuMjJsNDEuNDctNTIuNjI2em0xNzAuOTY4IDE4LjMxMmw1LjE4NyAzMy40MzgtNTIuNjI1LTIxLjQ3IDQ1LjgxMy0xMS41NjIgMS42MjUtLjQwNnoiIGZpbGw9IiNmZmZmZmYiIGZpbGwtb3BhY2l0eT0iMSIgY2xpcC1wYXRoPSJ1cmwoI2ljb24tYmcpIj48L3BhdGg+PC9nPjwvc3ZnPg==
data:image/svg+xml;base64,PHN2ZyBzdHlsZT0iaGVpZ2h0OiA1MTJweDsgd2lkdGg6IDUxMnB4OyIgeG1sbnM9Imh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnIiB2aWV3Qm94PSIwIDAgNTEyIDUxMiI+PGcgY2xhc3M9IiIgc3R5bGU9IiIgdHJhbnNmb3JtPSJ0cmFuc2xhdGUoMCwwKSI+PHBhdGggZD0iTTI1Mi43OCAyMC44NzVjLTEuMzAyLjAxMi0yLjYuMDMtMy45MDUuMDYzLTM3LjkyOC45NzQtNzYuMTQ4IDExLjE1My0xMTEuMjggMzEuNDM3QzI1LjE2NCAxMTcuMjg1LTEzLjQxIDI2MS4zMjIgNTEuNSAzNzMuNzVzMjA4Ljk0NiAxNTEuMDM2IDMyMS4zNzUgODYuMTI1Yzc3LjctNDQuODYgMTIwLjEtMTI3LjUxMyAxMTcuNDctMjExLjQwNi0zLjU2MyA2NS44NDctMzUuODk4IDEyOC41NzMtOTEgMTY5LjM3NC0xMC44MjggOS42Mi0yMi43NzQgMTguMzE1LTM1LjgxNCAyNS44NDQtMTAzLjY4IDU5Ljg2LTIzNS45ODMgMjQuNC0yOTUuODQyLTc5LjI4Mi01OS44Ni0xMDMuNjgtMjQuNDMtMjM1Ljk4NCA3OS4yNS0yOTUuODQ0IDM1LjY0LTIwLjU3NiA3NC42Ny0yOS44OCAxMTIuOTY4LTI5LjAzIDYzLjMwNCAxLjQgMTI0LjYyMyAzMC41NyAxNjUuNDM4IDgyLjUzbC0zMi41OTQgMjMuMDMyYy0zMy4yNy00Mi44MzUtODQuMDEtNjYuNi0xMzYuMDYzLTY3LS45Ni0uMDA4LTEuOTEtLjAxMi0yLjg3NSAwLS45NjQuMDEtMS45NDMuMDM4LTIuOTA2LjA2Mi0yOC4wMDYuNzE3LTU2LjIyMiA4LjIxNS04Mi4xNTYgMjMuMTg4LTgyLjk5IDQ3LjkxNC0xMTEuNTA4IDE1NC4zMjItNjMuNTk0IDIzNy4zMTIgNDcuOTE0IDgyLjk5IDE1NC4zMiAxMTEuNTEgMjM3LjMxMyA2My41OTQgNTEuMzctMjkuNjYgODEuODYyLTgxLjcyNCA4Ni4yOC0xMzYuNzgtMTIuNTMgNDUuMzctNDIuMzIgODYuNzQ1LTg1LjQzOCAxMTQuMTg2LS4wMi4wMTMtLjA0My4wMTgtLjA2Mi4wM2wtLjM0NC4yMmMtMy4xNiAyLjE0Ny02LjQyIDQuMjE2LTkuNzggNi4xNTYtNzQuMjQ1IDQyLjg2NS0xNjguOTE4IDE3LjQ5NC0yMTEuNzgyLTU2Ljc1LTQyLjg2NC03NC4yNDMtMTcuNDkzLTE2OC45MTcgNTYuNzUtMjExLjc4IDIzLjItMTMuMzk2IDQ4LjM5LTIwLjEyMiA3My4zNzUtMjAuNzgyIDQ3Ljk1My0xLjI2NiA5NS4xMzggMTkuODU4IDEyNS45NjggNTkuMTU2bC0zOS44NDQgMjguMTU2Yy0yMC4yMzItMjQuMzItNTAuMDU1LTM3Ljc5LTgwLjU5NC0zOC4wMy0xLjE3LS4wMS0yLjMzIDAtMy41LjAzLTE3LjAzNS40MzItMzQuMTc2IDQuOTk1LTQ5LjkzOCAxNC4wOTQtNTAuNDM1IDI5LjEyLTY3LjgwNiA5My44NzctMzguNjg3IDE0NC4zMTMgMjkuMTIgNTAuNDM0IDkzLjkwOCA2Ny44MDYgMTQ0LjM0NCAzOC42ODYgMjEuMjQ1LTEyLjI2NyAzNi42MjMtMzAuODUgNDUuMTI0LTUyLjAzLTE4LjgxNSAyMS4wNjQtNDQuMzY0IDM2Ljg4OC03My45MzggNDQuMTU1LS4wNC4wMTMtLjA4NC4wMi0uMTI1LjAzMy0zNy41MDcgMTAuNzg3LTc4Ljc5Ni00LjgxNi05OS4yMTctNDAuMTg4LTI0LjA3LTQxLjY4OC05Ljg0NS05NC43MTIgMzEuODQzLTExOC43OCAxMy4wMjgtNy41MjMgMjcuMTQzLTExLjMxNCA0MS4xNTYtMTEuNjkgMjUuNjYtLjY4NSA1MC44OTggMTAuMDk4IDY4LjE4OCAzMC4yNWwtNDEgMjguOTdjLTUuNDk3LTQuNzk2LTEyLjY2NC03LjcyLTIwLjUzLTcuNzItMTcuMjc3IDAtMzEuMjgzIDE0LjAwNy0zMS4yODMgMzEuMjgyIDAgMTcuMjc2IDE0LjAwNCAzMS4yODIgMzEuMjgyIDMxLjI4MiAxNy4yNzcgMCAzMS4yOC0xNC4wMDcgMzEuMjgtMzEuMjgzIDAtMS4xODctLjA2LTIuMzQ3LS4xODgtMy41bDEyMC4wOTQtNTcuMzEyIDQuMDMtMS43NS0uMDYtLjE1NiA2Mi4yNS0yOS43MiA5LjI1LTQuNDM4LTUuMjgyLTguODEyLTE5Ljk3LTMzLjM3NS01LjE1NS04LjYyNS04LjI1IDUuODEzLTguMDk1IDUuNzE4Yy00NS45LTU4Ljg2NC0xMTYuMTQtOTEuMDUzLTE4Ny44NDQtOTAuNDA1eiIgZmlsbD0iI2ZmZiIgZmlsbC1vcGFjaXR5PSIxIj48L3BhdGg+PC9nPjwvc3ZnPg==
data:image/svg+xml;base64,PHN2ZyBzdHlsZT0iaGVpZ2h0OiA1MTJweDsgd2lkdGg6IDUxMnB4OyIgeG1sbnM9Imh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnIiB2aWV3Qm94PSIwIDAgNTEyIDUxMiI+PGRlZnM+PGNsaXBQYXRoIGlkPSJpY29uLWJnIj48cGF0aCBkPSJNMCAwaDUxMnY1MTJIMHoiIGZpbGw9IiMwMDAiIGZpbGwtb3BhY2l0eT0iMCI+PC9wYXRoPjwvY2xpcFBhdGg+PC9kZWZzPjxwYXRoIGQ9Ik0wIDBoNTEydjUxMkgweiIgZmlsbD0iIzAwMCIgZmlsbC1vcGFjaXR5PSIwIj48L3BhdGg+PGcgY2xhc3M9IiIgc3R5bGU9InRvdWNoLWFjdGlvbjogbm9uZTsiIHRyYW5zZm9ybT0idHJhbnNsYXRlKDAsMCkiPjxwYXRoIGQ9Ik0yNTMuNzggMTcuMTg4Yy0xMzAuNzI4IDAtMjM2LjkwNSAxMDYuMTc3LTIzNi45MDUgMjM2LjkwNkMxNi44NzUgMzg0LjgyNCAxMjMuMDUyIDQ5MSAyNTMuNzggNDkxYzEzMC43MyAwIDIzNi45MDctMTA2LjE4IDIzNi45MDctMjM2LjkwNiAwLTEzMC43My0xMDYuMTc3LTIzNi45MDYtMjM2LjkwNi0yMzYuOTA2em0wIDE4LjY4N2MxMjAuNjMgMCAyMTguMjIgOTcuNTkgMjE4LjIyIDIxOC4yMiAwIDEyMC42MjYtOTcuNTkgMjE4LjIxOC0yMTguMjIgMjE4LjIxOC0xMjAuNjI4IDAtMjE4LjIxOC05Ny41OS0yMTguMjE4LTIxOC4yMnM5Ny41OS0yMTguMjE4IDIxOC4yMi0yMTguMjE4em0xMDEuMTkgNDYuMzEzTDI3OC41NiAyMTUuMDYzYzE1LjkxNiA5LjYzNSAyNS4xNzcgMjYuMzMgMjYuMTI1IDQzLjc4aDE0OC40MDdjMS42NDQtNzAuMDEtMzMuNDktMTM4Ljg2Ny05OC4xMjUtMTc2LjY1NnptLTIwNS4xMjYgMi40NjhjLTI3LjEgMTYuNzI1LTUwLjY4IDQwLjE0Ny02Ny43MiA2OS42NTYtMTkuMDEgMzIuOTI4LTI2LjkyNiA2OS4xMi0yNiAxMDQuNTMySDE5NmMuNDEtOC4zNTMgMi43MzctMTYuNzMgNy4xODgtMjQuNDM4IDUuMjEtOS4wMjQgMTIuNjQtMTYgMjEuMjE4LTIwLjYyNUwxNDkuODQ0IDg0LjY1N3ptMTAwLjU5NCAxNDEuMTU2Yy0uODY0LS4wMDItMS43MzYuMDM1LTIuNTk0LjA5NC0xMS40NDYuNzkzLTIyLjI4OCA3LjA4NC0yOC41IDE3Ljg0NC05Ljk0IDE3LjIxNi00LjA5IDM4Ljk2NyAxMy4xMjUgNDguOTA2IDE3LjIxMyA5Ljk0IDM4LjkzNSA0LjEyIDQ4Ljg3NC0xMy4wOTQgOS45NC0xNy4yMTUgNC4xMi0zOC45NjctMTMuMDk0LTQ4LjkwNi01LjY0OC0zLjI2LTExLjc2OC00LjgyNC0xNy44MTMtNC44NDR6bTI4LjIxOCA4Mi4zNzVjLTE2LjEyNyA5Ljc1LTM2Ljg2NCAxMC44NDYtNTQuNDA2IDEuMjVsLTY4LjAzIDExNy4yMmMyOS40NTQgMTYuNzg1IDYxLjA0NCAyNS4xNzcgOTIuNzUgMjYgMzQuNTY3Ljg5OCA2OC43Mi03Ljc4NiA5OS4xMjQtMjQuMDMybC02OS40MzgtMTIwLjQzOHoiIGZpbGw9IiNmZmZmZmYiIGZpbGwtb3BhY2l0eT0iMSIgY2xpcC1wYXRoPSJ1cmwoI2ljb24tYmcpIj48L3BhdGg+PC9nPjwvc3ZnPg==
data:image/svg+xml;base64,PHN2ZyBzdHlsZT0iaGVpZ2h0OiA1MTJweDsgd2lkdGg6IDUxMnB4OyIgeG1sbnM9Imh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnIiB2aWV3Qm94PSIwIDAgNTEyIDUxMiI+PGcgY2xhc3M9IiIgc3R5bGU9IiIgdHJhbnNmb3JtPSJ0cmFuc2xhdGUoMCwwKSI+PHBhdGggZD0iTTI1NSA0NzFMOTEuNyAzODdWNDFoMzI4LjZ2MzQ2em0tMTQ3LjMtOTMuNzRMMjU1IDQ1M2wxNDkuMy03NS43NlY1N0gxMDcuN3YzMjAuMjZ6bTE0Ni40My02NS43Nmw5OC4yNy00OS44OXYtNDkuOWwtOTguMTQgNDkuODItOTQuNjYtNDguNjl2NTB6bS4xMyAzMi42NmwtOTQuNjYtNDguNjl2NTBsOTQuNTQgNDguNjIgOTguMjctNDkuODl2LTQ5Ljl6IiBmaWxsPSIjZmZmIiBmaWxsLW9wYWNpdHk9IjEiPjwvcGF0aD48L2c+PC9zdmc+
data:image/svg+xml;base64,PHN2ZyBzdHlsZT0iaGVpZ2h0OiA1MTJweDsgd2lkdGg6IDUxMnB4OyIgeG1sbnM9Imh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnIiB2aWV3Qm94PSIwIDAgNTEyIDUxMiI+PGcgY2xhc3M9IiIgc3R5bGU9IiIgdHJhbnNmb3JtPSJ0cmFuc2xhdGUoMCwwKSI+PHBhdGggZD0iTTI1NSA0NzFMOTEuNyAzODdWNDFoMzI4LjZ2MzQ2em0tMTQ3LjMtOTMuNzRMMjU1IDQ1M2wxNDkuMy03NS43NlY1N0gxMDcuN3YzMjAuMjZ6bTE4Ny42MS0xNjguMzRsLTE0LjUtNDYgMzguOC0yOC43My00OC4yNy0uNDNMMjU2IDg3Ljk0bC0xNS4zMyA0NS43OC00OC4yNy40MyAzOC44IDI4LjczLTE0LjUgNDYgMzkuMzEtMjh6TTI1NC4xMyAzMTEuNWw5OC4yNy00OS44OXYtNDkuOWwtOTguMTQgNDkuODItOTQuNjYtNDguNjl2NTB6bS4xMyAzMi42NmwtOTQuNjYtNDguNjl2NTBsOTQuNTQgNDguNjIgOTguMjctNDkuODl2LTQ5Ljl6IiBmaWxsPSIjZmZmIiBmaWxsLW9wYWNpdHk9IjEiPjwvcGF0aD48L2c+PC9zdmc+
data:image/svg+xml;base64,PHN2ZyBzdHlsZT0iaGVpZ2h0OiA1MTJweDsgd2lkdGg6IDUxMnB4OyIgeG1sbnM9Imh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnIiB2aWV3Qm94PSIwIDAgNTEyIDUxMiI+PGcgY2xhc3M9IiIgc3R5bGU9IiIgdHJhbnNmb3JtPSJ0cmFuc2xhdGUoMCwwKSI+PHBhdGggZD0iTTI1OC43OCA0OC4zNzVjLTEuNzc3LjA2NS0zLjU1NC4xMzUtNS4zNDIuMjJsLTEzLjAzMiAzLjQ2OEwyNTYuNDcgMTEybC00MS41MzMgNS4xNTZMMTk4LjAzIDU0LjAzYy0yMC4xNSAyLjk5NS00MC4yOTUgNy4wODUtNTkuODEgMTIuMzE0QzExNS4xMyA3Mi41MyA5NC41MjIgODIuNTU4IDc3LjQwNSA5NS4wMyA3MC41OTYgODQuOTY2IDU3LjkzIDc5LjgwNCA0NS41MyA4My4xMjZjLTE1LjY0IDQuMTktMjQuOTA4IDIwLjI2Ni0yMC43MTggMzUuOTA2IDIuMDkyIDcuODA3IDcuMTQ1IDE0LjAyOCAxMy42MjUgMTcuNzgyLTEzLjMzNCAyMi4zNC0xNy44OTYgNDYuNjM2LTExLjY4NyA2OS44MTMgNy40MjQgMjcuNzEgMjguOTgyIDQ5LjExMiA1OS4wOTQgNjEuMzQ0IDQuNjg0IDEuOTAyIDkuNTY4IDMuNTczIDE0LjYyNSA1LTcxLjgxMyA4NC4xMDYtODEuMzEgMjUxLjM0NCA2Mi45MDUgMjE2LjYyNC05LjE3Ni0zLjQyMy0xNi42MTYtMTEuMDctMTkuMzQ0LTIxLjI1LTQuNDc1LTE2LjcwNiA1LjQzOC0zMy44NjUgMjIuMTI2LTM4LjM3NS00Ljc0NC0zLjk5LTguMzY3LTkuNDAzLTEwLjA5NC0xNS44NDUtMy44MS0xNC4yMjIgMi44MS0yOC43OTcgMTUuMTU3LTM1LjU5NC0zLjU1OC0zLjY5Mi02LjIzNy04LjMyLTcuNjU3LTEzLjYyNC0zLjc2LTE0LjAzNSAyLjYyMi0yOC4zNzQgMTQuNjU2LTM1LjI4bC4xMjQtMS41MzJjLTYuMDMyLTQuMDc4LTEwLjY4Ny0xMC4yNi0xMi43Mi0xNy44NDQtMy42NDYtMTMuNjEgMi4yNTYtMjcuNTMgMTMuNTk1LTM0LjY1NiA0LjcxLS44OSA5LjQ0My0xLjk0OCAxNC4xODYtMy4yMi4zOTQtLjEwNC43OTQtLjIzNiAxLjE4OC0uMzQzIDEuMDQtLjI4IDIuMDgzLS41ODQgMy4xMjUtLjg3NCA5LjAwNiA0Ny40OTMgMzYuMDU4IDY4LjYxNCA1OS40NjggNTIuOTctMjEuNjctMTkuMDEtMjkuMDgtNDAuNDI4LTI5Ljc1LTYyLjI4MiA3Ljk5NC0yLjc3NiAxNS45NjgtNS43MzcgMjMuODc1LTguOTA2bC0xOS42MjUtNzMuMjgyIDM4LjkzNy0xNC44NzUgMTguNDM4IDY4Ljg0NSAxMC43NS0yLjg3NWMyLjMtMS4xOSA0LjYwOC0yLjM4IDYuODc1LTMuNTk0bC0xOC41MzItNjkuMDYyIDM4Ljk3LTE0Ljg3NSAxNS41OTMgNTguMjE4IDEwLjgxLTIuODc1YzIuMjE0LTEuNTQ3IDQuMzk2LTMuMDk1IDYuNTMzLTQuNjU3TDM0NC42ODggMTM2LjVsMzcuNDY4LTE0LjMxMyAxMS41IDQyLjkzOC41LS4xMjVjNS40NTgtNS40OSAxMC4zMDMtMTAuOTUgMTQuNDM4LTE2LjMxM0wzOTkuNzIgMTE1LjVsMTIuMjgtNC42ODggMTUuODc1LTQuMjVjNy4yNzcgMTQuNDA0IDIzLjc0NCAyMi4xMzggNDAgMTcuNzgyIDE4LjY2LTUgMjkuNTkzLTIzLjkzNiAyNC41OTQtNDIuNTk0LTQuMzc2LTE2LjMyNS0xOS40MDItMjYuNzUyLTM1LjU5NS0yNS43NS0yLjMxMy4xNDMtNC42NjguNTMtNyAxLjE1Ni0xNC43NzIgMy45NTgtMjQuNzAzIDE2LjY1Ny0yNS43MiAzMS4wMzJsLTIwLjc1IDUuNTYyLTkuMjE3IDEuMTU2LTcuOTM4LTI5LjY4N2MtNS44NS0yLjQ0LTEyLjI2NC00LjY0Ny0xOS4xODgtNi41OTVsLTEuODEyLjQ3IDEwLjIyIDM4LjE1NS0zOS45NyA0LjkzOC0xMy45MDYtNTEuOTM4Yy0xLjg5OC0uMi0zLjgyLS4zOS01Ljc1LS41NjNMMzAzIDUzLjA5NGwxMy43OCA1MS40MzctNDEuNTkyIDUuMTI2LTE2LjQwNy02MS4yOHoiIGZpbGw9IiNmZmYiIGZpbGwtb3BhY2l0eT0iMSI+PC9wYXRoPjwvZz48L3N2Zz4=
data:image/svg+xml;base64,PHN2ZyBzdHlsZT0iaGVpZ2h0OiA1MTJweDsgd2lkdGg6IDUxMnB4OyIgeG1sbnM9Imh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnIiB2aWV3Qm94PSIwIDAgNTEyIDUxMiI+PGcgY2xhc3M9IiIgc3R5bGU9IiIgdHJhbnNmb3JtPSJ0cmFuc2xhdGUoMCwwKSI+PHBhdGggZD0iTTQ4Ljc3NyAxOGMxNC4zMzggMjEuNCAyOC4zOTMgNDEuMjEgNDMuMzEgNTkuODggOS40My0zLjAyIDIzLjM1Ny05Ljg0NiAzNC44NC0xNi4yMTQgNC41NDMtMi41MiA4LjUtNC44MyAxMi4wNC02LjkzMkE0MjA1Ljg5MiA0MjA1Ljg5MiAwIDAgMSAxMDguNTY3IDE4aC01OS43OXptODMuMDY3IDBhMzkxNC40MzQgMzkxNC40MzQgMCAwIDAgMzUuMTQ4IDQyLjA2OGMyLjkgMy40MiA1LjgyOCA2Ljg1NiA4Ljc3MiAxMC4yOTcgMjEuNDItNy45MDggNDAuOTM4LTEwLjg4IDU4Ljg3LTEwLjM2NSAxOC44NTYuNTQgMzUuOTY1IDQuOTIgNTEuNzEyIDExLjQzMiAyMS41ODIgOC45MjMgNDAuNzkgMjEuNDQ4IDU5LjY1OCAzMy4yNTItMTcuMTE1LTI4LjA5LTQ0LjAyLTU2LjI1OC03Mi41NjUtNzguNzUyQTM3OC43MzYgMzc4LjczNiAwIDAgMCAyNjMuMDA3IDE4SDEzMS44NDR6bTE4Ljg3MyA1MC42ODhjLTQuMTMyIDIuNDgtOS4yMiA1LjQ3OC0xNS4wNiA4LjcxOC05Ljc5NiA1LjQzMy0yMC45MSAxMS4yNjYtMzEuMzQzIDE1LjI4NWE1MzguMjEgNTM4LjIxIDAgMCAwIDguMzkgOS42MDNjMTguNjktNS45MSAzMi41NjItMTQuMjQgNDYuOTU4LTIzLjA2Ni0yLjE0Mi0yLjUxLTQuMjgyLTUuMDItNi4zOTgtNy41MTYtLjg2Ny0xLjAyMi0xLjY4NS0yLjAwNC0yLjU0Ny0zLjAyMnptNzguNjYyIDkuMDI1Yy0xMi41MjIuMTYyLTI2LjAyNiAyLjM3NC00MC45OSA3LjMgMTQuODkzIDE3LjE3IDI5Ljg3IDMzLjk5IDQzLjcxNSA0OC43NzIgMTguODggMjAuMTYgMzYuMDEgMzYuNjczIDQ2Ljc0IDQ0LjZsMjUuNzk2LTE3LjggNDYuMTM3LTMxLjgzM2MtMjQuNDUtMTQuNDEzLTQ2Ljk5OC0zMC42MzUtNzEuMzA4LTQwLjY4Ni0xNS41OTMtNi40NDYtMzEuNzkyLTEwLjU5LTUwLjA5LTEwLjM1M3ptLTU3LjgzMyAxNS4zNTNjLTEzLjQxIDguMjUtMjcuMzY1IDE2LjkxOC00NS40MTYgMjMuNjMgMzAuMDYgMzEuMDUgNjUuNTk0IDU5LjcwMyAxMTMuMzI3IDg4Ljg2NWguMDAybDIzLjQzNy0xNi4xNy4zNy0uMjU3Yy0xMi4zNDMtOS45MTUtMjcuNDItMjUuMDItNDQuMjk4LTQzLjA0My0xNS4wODYtMTYuMTA2LTMxLjM3Mi0zNC40NS00Ny40MjMtNTMuMDI0em0xOTIuMjI4IDQ4LjU4NkwyNjMuMTg4IDIxMS4wNmwxMTMuNzE0IDE4LjcgOC44MDMtMzYuOTUtMjEuOTMtNTEuMTU4em0tMTEzLjAzNyA4NS42Yy0yMS4zMzMgMTYuMzI4LTM0LjE1NSAzNS4yOS00Mi44NSA1NC45Mi05LjY0MiAyMS43NjMtMTQuNjYyIDQ0LjE1Ni0yMi4wMjMgNjUuODlhNDMuMTkzIDQzLjE5MyAwIDAgMSAxNC4wNzYtMi4zNTNjMS44OCAwIDMuNzMuMTMgNS41NTIuMzY0IDYuNDA2LTIwLjA1IDExLjE1Ni0zOS4yMzYgMTguODU0LTU2LjYxIDcuODA2LTE3LjYyMyAxOC4zMTgtMzMuNTMgMzcuMDIzLTQ3Ljc3IDkuMDU4IDE4LjcxNCAyOC4wNjIgMzEuNzc2IDUwLjA1MiAzMi4yNzNhOTAwNy4yMDIgOTAwNy4yMDIgMCAwIDEtMzMuOTkgMzEuNDA0Yy0xOS41NyAxNy45OC0zOS4zNTUgMzUuOTU3LTU0LjYwMiA0OS4zNzRhOTIwLjc3IDkyMC43NyAwIDAgMS0xMi43MiAxMS4wMTJjLTMuMDI3LTEuMzA2LTYuNDYyLTIuMDQ3LTEwLjE3LTIuMDQ3LTEzLjIyIDAtMjMgOS40MjctMjMgMjAuMjlzOS43OCAyMC4yOSAyMyAyMC4yOWMxMy4yMjIgMCAyMy05LjQyNyAyMy0yMC4yOSAwLTEuNjkyLS4yMzUtMy4zNS0uNjg2LTQuOTQzYTk1NS45MDggOTU1LjkwOCAwIDAgMCAxMi40NjctMTAuOGMxNS40MzUtMTMuNTg0IDM1LjI3LTMxLjYwNiA1NC44OS00OS42MjggMzkuMjM4LTM2LjA0NSA3Ny41OTMtNzIuMDcgNzcuNTkzLTcyLjA3bC0uMTc0LS4xODMtMjQuNi00LjA0N2MtNy4xMzYgOC4zNzctMTcuNzY4IDEzLjY3LTI5LjcxNSAxMy42Ny0xNi41MTcgMC0zMC41MjUtMTAuMTEtMzYuMjQtMjQuNTE2bC0yNS43MzctNC4yMzJ6TTE2NS42NCA0MDQuOTNsLTIyLjE4IDMwLjExLTU3LjQzNSAxMi45NTJMNjguMDIgNDg3aDcyLjk3MmM3Ljg2LTIzLjQ5IDIwLjI0LTQ4Ljg2MyAzOC45MS02OS42NDYtNS43MjQtMy4wMTQtMTAuNjM0LTcuMjc2LTE0LjI2LTEyLjQyNHptNTguODAzIDkuNzE2Yy02Ljg0IDQuNzc0LTE1LjI3OCA3LjU5LTI0LjI2IDcuNjQtMTguNTczIDE3Ljc1Ny0zMS42OCA0MS43NTItNDAuMTA1IDY0LjcxNGgxMjEuMjI1YzIuMDQtNy43MTQgMS4yMzctMTQuNTE4LTEuMjQ0LTIxLjc5NS0yLjQyOC03LjExNS02LjczNC0xNC40ODUtMTEuNzUtMjIuMTItMTAuMTktLjU1LTIwLjA5NS0xLjIxOC0yOS40NjQtMi4xMjZsLTUuODItLjU2NS04LjU4My0yNS43NXptNjUuNjUgMjkuNDU4YzIuNzMgNC44NTUgNS4xNyA5LjkxNCA3LjAwMyAxNS4yOTIgMi44ODUgOC40NjMgNC4wOTIgMTcuODQ0IDIuNDk4IDI3LjYwNGgxMDcuMTJ2LTMyLjEyN2MtMTQuMDg3LTMuNDM1LTMwLjk2LTUuODY3LTQ5LjEzOC03LjMyNi0yMS41OS0xLjczMy00NC44NC0yLjQ5OC02Ny40ODItMy40NDN6bTEzNC42MjIgMTkuNzlWNDg3aDM4LjUwOGwtMzguNTA4LTIzLjEwNXoiIGZpbGw9IiNmZmYiIGZpbGwtb3BhY2l0eT0iMSI+PC9wYXRoPjwvZz48L3N2Zz4=
data:image/svg+xml;base64,PHN2ZyB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIHZpZXdCb3g9IjAgMCA1MTIgNTEyIiBzdHlsZT0iaGVpZ2h0OiA1MTJweDsgd2lkdGg6IDUxMnB4OyI+PGcgY2xhc3M9IiIgdHJhbnNmb3JtPSJ0cmFuc2xhdGUoMCwwKSIgc3R5bGU9InRvdWNoLWFjdGlvbjogbm9uZTsiPjxwYXRoIGQ9Ik00ODIuMjIgNDQuODQ0bC01MC41MzMgNDYuMjUtMjEuOTM3IDU3LjIyYy0zNC42MzcgMTUuNDQ1LTQ3Ljk1NSAyNC40NDItNjEuNDcgNzQuODc0bDM5LjU2NC0xNy42NTctMS44NzUgMzIuMDk1IDM3LjM0MiAxNC4zNDQgMjEuNzUtMjQuNSAxNy42MjUgMzkuNTZjMjQuNTItNDIuNDY3IDI1LjY2My02My4yNCA0LjI4Mi05Ni43OGwyMS45MzYtNTcuMjItNi42ODctNjguMTg2ek0zODkuMDkzIDI2My4yMmMtMTYuMzMgMjUuMTYtMzguMDE3IDQ4LjU3LTYzLjA2MyA2OC4yMTctLjAyMi4wMTgtLjAzOC4wNDUtLjA2LjA2My0zNy4zMDIgMjMuNjkzLTgzLjI3IDI5LjEzOC0xMTguMDk1IDE1LjY4OCAxNi4yMzYgMTUuMDU2IDM3LjYzNSAyMC43MDUgNTkuMTU2IDE5LjE1Ni00OS40MSAxNC44NzQtMTAyLjMyIDkuMTE4LTEzOS42MjQtMTQuMjggMTQuMTQyIDE5LjMzNCAzNC40OTMgMzEuMjIgNTYuOTcgMzYuNTkyLTU4LjkzIDMuMzI4LTExNy44OTQtMTkuNzkyLTE2Mi40NC04NGwuMDAyIDE2OC4wM2M2NS45MSAyOC42NSAxMzUuMTQ4IDE5LjYyIDE5Ni4yMTgtMTEuNTZsLTE2Ljk3IDM1Ljc4IDg4LjEyNi04NS4wM2gtLjA5M2MyLTEuNzk2IDMuOTczLTMuNiA1LjkzNi01LjQzOGwtMTEuMjggNDMuOTM3IDU5LjgxMi05OS40MzhjMTkuNjY4LTI3LjU2IDM1LjI1My01Ny4zODQgNDUuNDA2LTg3LjcxOHoiIGZpbGw9IiNmZmYiIGZpbGwtb3BhY2l0eT0iMSI+PC9wYXRoPjwvZz48L3N2Zz4=
data:image/svg+xml;base64,PHN2ZyBzdHlsZT0iaGVpZ2h0OiA1MTJweDsgd2lkdGg6IDUxMnB4OyIgeG1sbnM9Imh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnIiB2aWV3Qm94PSIwIDAgNTEyIDUxMiI+PGcgY2xhc3M9IiIgc3R5bGU9IiIgdHJhbnNmb3JtPSJ0cmFuc2xhdGUoMCwwKSI+PHBhdGggZD0iTTM2LjA3OCAxNkwxNiAzNS41NXY1MC4yNDdMODcuNjg0IDE2SDM2LjA3OHptMTIxLjgzIDBsLTk3LjgzNCA5NS4yNmM4LjgzOC0uNDggMTcuNzItLjk0NiAyNy4yMDctMS4zNjdMMTgzLjcxIDE2SDE1Ny45MXptMTA3Ljc2OCAwTDIxNy43MiA2Mi42OTNjMTEuNzMtNy4xOSAyNC42ODQtMTQuNTM3IDM3Ljk4Ny0yMS40NTUgMTcuOTczLTkuMzQ2IDM2LjMzNC0xNy42NTYgNTIuODA3LTIzLjAyMyAyLjQ2Ni0uODA0IDQuODY1LTEuNTMgNy4yMzQtMi4yMTVoLTUwLjA3MnptMTA1LjYyNyAwbC00LjI5IDMuNDMyYzU2Ljk0NCAyMy4wMDUgOTcuNjIgNjMuNjgyIDEyMC42MjggMTIwLjYyN2w4LjE2LTEwLjJDNDc1LjY3NCA3NS44NCA0NDAuNTEgMzguMzU2IDM4OC45MyAxNmgtMTcuNjN6bTU1Ljg5NCAwQzQ1NS44NiAzNC4yMTQgNDc4Ljg4NCA1OC4zMTggNDk2IDg4LjAyN1Y2My41ODJDNDg0LjQ0MiA0NS4xNCA0NjkuNTcgMjkuMjM0IDQ1MS40ODggMTZoLTI0LjI5em01Mi4xNzYgMEExOTIuMzEgMTkyLjMxIDAgMCAxIDQ5NiAzMy40NDdWMTZoLTE2LjYyN3pNMzQxLjMxNiAzMC4yNjZjLTYuMTI0LS4xMDgtMTUuOTggMS40LTI3LjIyNiA1LjA2NC0xNC45OTQgNC44ODYtMzIuNjk2IDEyLjg0LTUwLjA3OCAyMS44OGE1MTkuNTU4IDUxOS41NTggMCAwIDAtMTguOTQ4IDEwLjM4NGMyNy4wODUgNS4xODggNTQuMzkgMTcuODY2IDc5LjczNyAzNS4zbDY5LjUxNi00OS42NTRjLTE0LjQyLTguOTktMzAuNDY1LTE2LjQzNS00OC4yMDctMjIuMzUtMS4xMjYtLjM3NC0yLjc1Mi0uNTg4LTQuNzk0LS42MjR6bTY4LjcxMyAzMy44N2wtNjkuOTkgNDkuOTk1YTMxNy42NTMgMzE3LjY1MyAwIDAgMSAyOC4wMDcgMjQuODk1IDMxNy42ODQgMzE3LjY4NCAwIDAgMSAyNC45MDIgMjguMDAybDQ5Ljk4OC02OS45ODZhMTgxLjYxNCAxODEuNjE0IDAgMCAwLTMyLjkxLTMyLjkwNXptLTE5My40MSAxOC4wOGMtMTkuMzk0LjE2Mi0zNi42OTggNS45MzItNDkuMzkgMTguNjI2YTU4LjQ5MiA1OC40OTIgMCAwIDAtNi45OTIgOC40NDdjNy43MzcuMzQ1IDE1LjMzNi44NjUgMjIuNjk4IDEuNjA2IDguNi03LjAyNSAyMC4yODYtMTAuNjYgMzQuMjYtMTAuNzEgOS4zOTYtLjAzNCAxOS44MiAxLjU1IDMxLjAyNSA0LjgwMiAyOS44OCA4LjY3NSA2NC4wNzYgMjkuMTk2IDk0LjM3MiA1OS40OTIgMzAuMjk2IDMwLjI5NyA1MC44MiA2NC40OTYgNTkuNDk0IDk0LjM3NCA4LjY3NCAyOS44NzcgNS40NzQgNTQuMjA1LTguNTgyIDY4LjI2YTQwLjUyMyA0MC41MjMgMCAwIDEtNy4wNzYgNS42MyAyMzQuNDkyIDIzNC40OTIgMCAwIDEtNS4zMiAyMi4xMDZjOS41MTgtMyAxOC4wNC03LjkyMyAyNS4xMjQtMTUuMDA2IDIwLjMxLTIwLjMxIDIyLjg5My01Mi40MiAxMy4xNC04Ni4wMS05LjM2LTMyLjI0OC0zMC4xMi02Ni45OTMtNjAuMjQ1LTk4LjJsLS4wOS0uMDkzLS4wNTctLjA1NmEzMDcuODgyIDMwNy44ODIgMCAwIDAtMy42Ni0zLjczaC0uMDAyYTMwOC4xMzggMzA4LjEzOCAwIDAgMC0zLjcyNi0zLjY2bC0uMDYtLjA2Yy0uMDM0LS4wMy0uMDY3LS4wNi0uMS0uMDkzLTMxLjIwNS0zMC4xMi02NS45NDYtNTAuODgtOTguMTkyLTYwLjI0LTEyLjU5Ni0zLjY1OC0yNC45ODUtNS41OC0zNi42Mi01LjQ4M3pNNDUzLjgzIDExMi43NmwtNDkuNjUyIDY5LjUxNWMxNy40MzcgMjUuMzU0IDMwLjEgNTIuNjcgMzUuMjg1IDc5Ljc2MmE1MTkuMzgzIDUxOS4zODMgMCAwIDAgMTAuNC0xOC45NzRjOS4wNC0xNy4zODIgMTYuOTkyLTM1LjA4NCAyMS44NzctNTAuMDc4IDQuODg2LTE0Ljk5MyA1Ljk0LTI3LjUxNiA0LjQ0LTMyLjAxNy01LjkxNC0xNy43NDItMTMuMzYtMzMuNzg1LTIyLjM1LTQ4LjIwN3ptLTMxNS43NjYgMTQuMzA2Yy0yNC40MjQtLjEwMy00OS41MiAxLjA3NC03Mi43OCAyLjIxNyA3LjY5IDIuMDkgMTQuOTMgMy45NjMgMjIuODcyIDYuMzQzIDI5LjY5IDguOSA1OS42OSAxOS41MTIgNzQuNzUgNDAuMjE3bDEyLjQ2NSAxNy4xMzctMjAuOTg4LTIuOTNjLTQ1LjkwMi02LjQxLTc0LjM3IDUuMDQ0LTEwMS40NyAxNS42OTMgMzMuNzcgNy4yODggNTguNTA2IDE1LjI0OCA4Ny42ODMgMzYuNzNsMTMuOTYgMTAuMjc4LTE2LjQ0IDUuNTA0Qzc4LjU2IDI3OC4xOTUgNDcuNDUgMzE1LjA0NyAxNiAzNTcuODM0djIyLjE0M2M5LjU4LTUuMDcgMTkuMjgzLTEwLjU5NiAyOS4wNTctMTUuOTM0IDI3LjE1My0xNC44MzIgNTUuODUtMjguMzQ2IDg1LjUwMi0xOS41NzJsNy44NCAyLjMyLTEuNTYgOC4wMjhjLTYuODAzIDM1LjAxLTI4LjAyNyA5MS40NDUtNDguMDA4IDE0MS4xODJoMTUuNDU1YzQ0LjA3LTUwLjc2OCA5My4zMy0xMTMuODA3IDEwOC45OTQtMTQ2LjU5Nmw3LjE2LTE0Ljk4NCA4LjY0NCAxNC4xNzhjNS43ODQgOS40ODQgMy42NjcgMTkuNzY2Ljk3MyAzMS43MjQtMi42OTQgMTEuOTU4LTcuMjggMjUuNjktMTIuMTc4IDM5Ljg4LTYuMjI0IDE4LjAyNC0xMi41MzYgMzYuNzEtMTYuNTUyIDUyLjE5IDEyLjUzOC0xMi40OCAyNS41OTgtMjkuMjMgMzYuODQyLTQ2LjkxMiAxNi44LTI2LjQyIDI5Ljg4Ni01NS4xIDMzLjU4Ni03Mi41MTVsNS4wMTUtMjMuNjEzIDExLjY2OCAyMS4xMzRjMTIuMzU2IDIyLjM4NSAxMC45NjcgNTIuMyA2Ljk5NiA4NC43MjMtMi4zNyAxOS4zNDYtNS44MiAzOS42MzgtOC44NTQgNTkuNjUzIDE0Ljg3LTIyLjMxIDMyLjU3LTQ4LjM2IDQ4LjMwNy03Ny4zNiAyNC44NDMtNDUuNzkgNDMuMjYyLTk2Ljg4MyAzNC43OS0xNDMuODc2LTIuNzIzLTE1LjEwNy0xMy4xNDYtMzQuMDAzLTI4LjMyNy01Mi44My0yMS4xNjUgNi40NjYtNDIuNDQgMjAuODkyLTYyLjg3NSA0MC44MjIgMTcuMDktMjkuOTUgMjMuNS00OS45NjQgMzcuMTgzLTY1LjIyNS0yNC41NzggMTAuNjgyLTU3LjE3NiAyOS41NzItOTEuMjYzIDYyLjc2NSAxOS42NTQtMjUuMjU4IDQwLjA5NS02NC4wNyA1My45MzUtOTEuNDc4LTIwLjM3MiAxNS42NC01MS40NSAzMS4zNzctNzEuMjEgNDMuODEgOS44LTE1LjExIDMwLjQ3LTQzLjY4IDM2LjUxNy02Ni45NTctMTAuOTgzLTQuOTc2LTIxLjc1OC04LjY4OC0zMS44Ny0xMC43NjVsLS4xNDgtLjAzMi0uMTUtLjAzNWMtMjAuMjIzLTQuODczLTQ2LjE3Ni02LjUyMy03My40MDQtNi42NHpNMzEuNzMgMTM4Ljg2TDE2IDE1NC4xNzdWMTc5LjNsMzUuOTI4LTM0Ljk4NGMtNy4wMTItMS44NDItMTMuOTQ2LTMuNjYzLTIwLjItNS40NTV6bTgyLjA0NyAyNS4wNGwtOC4xMyA3LjkxNmExNzkuNTYzIDE3OS41NjMgMCAwIDEgMjEuNjAzLTEuNTA0Yy00LjE0My0yLjIxNy04LjY4NS00LjM1NS0xMy40NzMtNi40MTJ6TTUyLjE0IDIyMy45MTZMMTYgMjU5LjEwNnY1MC4yNDRsNzUuOTI2LTczLjkyOEM3OS44NyAyMzAuNTc3IDY3LjE5IDIyNy4yIDUyLjE0IDIyMy45MTZ6TTQ5NiAyODcuNzJMMzQ2Ljk3IDQzMi44M2MtMTMuMDIgMjMuMjM1LTI3LjExMyA0NC42ODMtMzkuNDQgNjMuMTcyaDI2LjE2M0w0OTYgMzM3Ljk2NVYyODcuNzJ6bS0zODQuNDUgNzIuMDc1Yy0zLjkyIDAtNy45MS40MjYtMTEuOTcyIDEuMjAzTDE2IDQ0Mi4zNzhWNDY3LjVsOTcuODM0LTk1LjI1OGMxLjIwMi00LjI3NiAyLjI4NS04LjM2IDMuMTkzLTEyLjE2MmE1MS44NTggNTEuODU4IDAgMCAwLTUuNDc2LS4yODV6TTQ5NiAzNjguODFMMzY1LjM3MyA0OTZoMjUuOEw0OTYgMzkzLjkzNFYzNjguODF6bS0yOTUuMjc3IDQ1LjkyNGwtMjcuMzIgMjYuNjAyYy0xNC4xNyAxOC4zMS0yOS40OTggMzYuOTkzLTQ0LjYyNCA1NC42NjRoMTQuMjgybDQ0Ljc0LTQzLjU2YzMuOTA3LTEyLjM4NSA4LjYwNi0yNS4yMjUgMTIuOTItMzcuNzA2eiIgZmlsbD0iI2ZmZiIgZmlsbC1vcGFjaXR5PSIxIj48L3BhdGg+PC9nPjxnIGNsYXNzPSIiIHN0eWxlPSIiIHRyYW5zZm9ybT0idHJhbnNsYXRlKDI1NiwyNTYpIj48Zz48Y2lyY2xlIGN4PSIxMjgiIGN5PSIxMjgiIHI9IjEyOCIgZmlsbD0iIzAwMCIgZmlsbC1vcGFjaXR5PSIxIj48L2NpcmNsZT48Y2lyY2xlIHN0cm9rZT0iI2ZmZiIgc3Ryb2tlLW9wYWNpdHk9IjEiIGZpbGw9IiMwMDAiIGZpbGwtb3BhY2l0eT0iMSIgc3Ryb2tlLXdpZHRoPSIxOCIgY3g9IjEyOCIgY3k9IjEyOCIgcj0iMTAxIj48L2NpcmNsZT48cGF0aCBmaWxsPSIjZmZmIiBmaWxsLW9wYWNpdHk9IjEiIGQ9Ik0xMTEuMSA1OC4wM2gzMy44djUzLjY3bC00LjggMzkuMmgtMjQuMmwtNC44LTM5LjJ6bTAgMTA2LjU3aDMzLjhWMTk4aC0zMy44eiI+PC9wYXRoPjwvZz48L2c+PC9zdmc+
data:image/svg+xml;base64,PHN2ZyB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIHZpZXdCb3g9IjAgMCA1MTIgNTEyIiBzdHlsZT0iaGVpZ2h0OiA1MTJweDsgd2lkdGg6IDUxMnB4OyI+PGcgY2xhc3M9IiIgdHJhbnNmb3JtPSJ0cmFuc2xhdGUoMCwwKSIgc3R5bGU9InRvdWNoLWFjdGlvbjogbm9uZTsiPjxwYXRoIGQ9Ik0xMzguNzk4IDM1LjM0MkwyOC43MyAxMTQuMjY4bDk1Ljc3NyAyOS4wOTUgMTExLjMwNS04Ny4wOS05Ny4wMTQtMjAuOTN6bTExMi45ODYgMzEuMDgybC0xMTguMDQ3IDg5Ljk2IDUxLjA3IDEzMS4xMDIgOC41MzQtNy40NTUgNC4yMy0xNS43MDhhMTguMzM4IDEzLjEwMiA3Ni44NjMgMCAxLTkuMDgtMjAuNDUgMTguMzM4IDEzLjEwMiA3Ni44NjMgMCAxIDEwLjk5Ny0xMy43MjcgMTguMzM4IDEzLjEwMiA3Ni44NjMgMCAxIDMuNjIuNTMgMTguMzM4IDEzLjEwMiA3Ni44NjMgMCAxIDMuMTEzIDEuNTQ0bDcuOTQtMjkuNDhhOSA5IDAgMCAxIC4zNTMtMS4wNCA5IDkgMCAwIDEgLjA1OC0uMTI4IDkgOSAwIDAgMSAuMzItLjY4NSA5IDkgMCAwIDEgLjA5LS4xNTMgOSA5IDAgMCAxIC4zNy0uNjI1IDkgOSAwIDAgMSAuNTM0LS43MjMgOSA5IDAgMCAxIC4wNjYtLjA3NCA5IDkgMCAwIDEgLjU0LS41OTQgOSA5IDAgMCAxIC42NS0uNTkzIDkgOSAwIDAgMSAuMDA0LS4wMDIgOSA5IDAgMCAxIC40Ni0uMzQyIDkgOSAwIDAgMSAuMjY2LS4xOTcgOSA5IDAgMCAxIC41MDItLjMgOSA5IDAgMCAxIC4yNy0uMTU3IDkgOSAwIDAgMSAuNDQtLjIwOCA5IDkgMCAwIDEgLjM4LS4xNzggOSA5IDAgMCAxIC40MzctLjE1MiA5IDkgMCAwIDEgLjQxLS4xNDMgOSA5IDAgMCAxIC40MDQtLjEgOSA5IDAgMCAxIC40Ny0uMTE0IDkgOSAwIDAgMSAuNTEtLjA3IDkgOSAwIDAgMSAuMzctLjA1IDkgOSAwIDAgMSAuMDEgMCA5IDkgMCAwIDEgLjAxLS4wMDNsMzMuNjI0LTIuODczYTE4LjMzOCAxMy4xMDIgNzYuODYzIDAgMSAxMC4zMjYtOS43NzcgMTguMzM4IDEzLjEwMiA3Ni44NjMgMCAxIDMuNjIyLjUzIDE4LjMzOCAxMy4xMDIgNzYuODYzIDAgMSA4LjUyNyA3LjMyN2wxMy4wNDMtMS4xMTMtMzkuNDQyLTEyMy43ODN6TTEzNy4yNSA3NC4wM2E5LjggMTkuNzcgNzcuOTE2IDAgMSAxMi43OTggOC43MzQgOS44IDE5Ljc3IDc3LjkxNiAwIDEtMjEuOTM4IDExLjk5OCA5LjggMTkuNzcgNzcuOTE2IDAgMS0xNi41Ny04LjYwMiA5LjggMTkuNzcgNzcuOTE2IDAgMSAyMS45MzgtMTIgOS44IDE5Ljc3IDc3LjkxNiAwIDEgMy43Ny0uMTN6bTEwMC4yMjggMjMuNTE3YTE4LjMzOCAxMy4xMDIgNzYuODYzIDAgMSAuMDAyIDAgMTguMzM4IDEzLjEwMiA3Ni44NjMgMCAxIDMuNjIuNTMgMTguMzM4IDEzLjEwMiA3Ni44NjMgMCAxIDEyLjExMiAyMS45NCAxOC4zMzggMTMuMTAyIDc2Ljg2MyAwIDEtMTQuNjE3IDEzLjE5NiAxOC4zMzggMTMuMTAyIDc2Ljg2MyAwIDEtMTIuMTE0LTIxLjk0IDE4LjMzOCAxMy4xMDIgNzYuODYzIDAgMSAxMC45OTgtMTMuNzI2ek0yNC4yMiAxMzEuNzFsNDYuOTkyIDExNC4xMjQgOTQuMjM2IDQwLjM4LTQ1Ljk4OC0xMjUuNTctOTUuMjQtMjguOTM1em0xNDcuODg2IDE3LjQzYTE4LjMzOCAxMy4xMDIgNzYuODYzIDAgMSAzLjYyMi41MjggMTguMzM4IDEzLjEwMiA3Ni44NjMgMCAxIDEyLjExIDIxLjk0IDE4LjMzOCAxMy4xMDIgNzYuODYzIDAgMS0xNC42MTYgMTMuMTk3IDE4LjMzOCAxMy4xMDIgNzYuODYzIDAgMS0xMi4xMTItMjEuOTQgMTguMzM4IDEzLjEwMiA3Ni44NjMgMCAxIDEwLjk5Ni0xMy43MjZ6bS03NS4xMjMgMTMuMDE2YTE5LjQ1NCA5LjEzNCA1OS4yNTQgMCAxIDE2Ljk1NSAxNS4wNzggMTkuNDU0IDkuMTM0IDU5LjI1NCAwIDEtLjQyNSAxOS40ODVBMTkuNDU0IDkuMTM0IDU5LjI1NCAwIDEgOTUuNiAxODEuNzhhMTkuNDU0IDkuMTM0IDU5LjI1NCAwIDEgLjQyNC0xOS40OCAxOS40NTQgOS4xMzQgNTkuMjU0IDAgMSAuOTYtLjE0NHptMjYzLjM5MyA0MC4yMWwtMTEyLjEwMiA5LjU3NyAxMTMuNzYyIDc5LjkyNiAxMTMuNTk4LTE2Ljk1Ni0xMTUuMjU4LTcyLjU1ek03MC44MiAyMTIuMDIyQTE5LjQ1NCA5LjEzNCA1OS4yNTQgMCAxIDg3Ljc3NyAyMjcuMWExOS40NTQgOS4xMzQgNTkuMjU0IDAgMS0uNDI1IDE5LjQ4NCAxOS40NTQgOS4xMzQgNTkuMjU0IDAgMS0xNy45MTMtMTQuOTM4IDE5LjQ1NCA5LjEzNCA1OS4yNTQgMCAxIC40MjUtMTkuNDgyIDE5LjQ1NCA5LjEzNCA1OS4yNTQgMCAxIC45Ni0uMTR6bTE1Ny4zNzggNy44MTNMMTg2LjY2IDM3NC4wMjNsMTE1LjYxNiA5OS40NTQgNDcuMTQ3LTE2OC40Ny0xMjEuMjI1LTg1LjE3em0xMjYuOTg3IDExLjE2OGEyMS43NiA4Ljg5OCAxNS4yNjcgMCAxIDE5LjY5MyA0Ljc4MyAyMS43NiA4Ljg5OCAxNS4yNjcgMCAxIDcuNjA3IDE0LjI0NCAyMS43NiA4Ljg5OCAxNS4yNjcgMCAxLTI4Ljg4Ni0zLjE4MiAyMS43NiA4Ljg5OCAxNS4yNjcgMCAxLTcuNjEtMTQuMjQ0IDIxLjc2IDguODk4IDE1LjI2NyAwIDEgOS4xOTUtMS42ek00ODcuNzggMjkxLjNMMzY2LjkgMzA5LjM0M2wtNDYuODIzIDE2Ny4zMTYgMTE2LjI5Ny0zMS43N0w0ODcuNzggMjkxLjN6bS0xODEuODA4IDEwLjhhMjUuODM0IDE1LjU3MyA4NC4yNzcgMCAxIDQuMjM4Ljk0MyAyNS44MzQgMTUuNTczIDg0LjI3NyAwIDEgMTIuODczIDMxLjcyIDI1LjgzNCAxNS41NzMgODQuMjc3IDAgMS0xOC4xMDUgMTcuODkzIDI1LjgzNCAxNS41NzMgODQuMjc3IDAgMS0xMi44NzQtMzEuNzIgMjUuODM0IDE1LjU3MyA4NC4yNzcgMCAxIDEzLjg2OC0xOC44MzZ6bTE1NC4wODYgMTEuNjM2YTEzLjIzNyAyMS45NiAyOC42MiAwIDEgNy42NzMgNC4xMyAxMy4yMzcgMjEuOTYgMjguNjIgMCAxLTYuMTc2IDI4LjQzNSAxMy4yMzcgMjEuOTYgMjguNjIgMCAxLTIxLjI4NyAzLjg3OCAxMy4yMzcgMjEuOTYgMjguNjIgMCAxIDYuMTc1LTI4LjQzNCAxMy4yMzcgMjEuOTYgMjguNjIgMCAxIDEzLjYxNi04LjAwOHpNMzkxLjM2MiAzMjQuNGExMy4yMzcgMjEuOTYgMjguNjIgMCAxIDcuNjcyIDQuMTMgMTMuMjM3IDIxLjk2IDI4LjYyIDAgMS02LjE3NiAyOC40MzUgMTMuMjM3IDIxLjk2IDI4LjYyIDAgMS0yMS4yODcgMy44NzcgMTMuMjM3IDIxLjk2IDI4LjYyIDAgMSA2LjE3Ny0yOC40MzQgMTMuMjM3IDIxLjk2IDI4LjYyIDAgMSAxMy42MTUtOC4wMDh6bS0xNzMuOTk2IDEzLjMwNWEyNS44MzQgMTUuNTczIDg0LjI3NyAwIDEgNC4yNC45NDUgMjUuODM0IDE1LjU3MyA4NC4yNzcgMCAxIDEyLjg3MiAzMS43MiAyNS44MzQgMTUuNTczIDg0LjI3NyAwIDEtMTguMTA2IDE3Ljg5NCAyNS44MzQgMTUuNTczIDg0LjI3NyAwIDEtMTIuODczLTMxLjcyIDI1LjgzNCAxNS41NzMgODQuMjc3IDAgMSAxMy44NjYtMTguODR6bTIxMi4yNzggNjAuODdhMTMuMjM3IDIxLjk2IDI4LjYyIDAgMSA3LjY3IDQuMTMgMTMuMjM3IDIxLjk2IDI4LjYyIDAgMS02LjE3NCAyOC40MzQgMTMuMjM3IDIxLjk2IDI4LjYyIDAgMS0yMS4yODcgMy44NzYgMTMuMjM3IDIxLjk2IDI4LjYyIDAgMSA2LjE3NS0yOC40MzQgMTMuMjM3IDIxLjk2IDI4LjYyIDAgMSAxMy42MTYtOC4wMDh6bS03MC4zMzIgMTkuNDg4YTEzLjIzNyAyMS45NiAyOC42MiAwIDEgNy42NyA0LjEzMiAxMy4yMzcgMjEuOTYgMjguNjIgMCAxLTYuMTc0IDI4LjQzNCAxMy4yMzcgMjEuOTYgMjguNjIgMCAxLTIxLjI4NyAzLjg3NCAxMy4yMzcgMjEuOTYgMjguNjIgMCAxIDYuMTc2LTI4LjQzNCAxMy4yMzcgMjEuOTYgMjguNjIgMCAxIDEzLjYxNi04LjAwN3oiIGZpbGw9IiNmZmYiIGZpbGwtb3BhY2l0eT0iMSI+PC9wYXRoPjwvZz48L3N2Zz4=
data:image/svg+xml;base64,PHN2ZyBzdHlsZT0iaGVpZ2h0OiA1MTJweDsgd2lkdGg6IDUxMnB4OyIgeG1sbnM9Imh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnIiB2aWV3Qm94PSIwIDAgNTEyIDUxMiI+PGcgY2xhc3M9IiIgc3R5bGU9IiIgdHJhbnNmb3JtPSJ0cmFuc2xhdGUoMCwwKSI+PHBhdGggZD0iTTcyLjAyIDIxLjg4bC0uOSA2NC4zNEwzMi44OCAxMDhsLjkzIDYuM2MxOC45NSAxMjggOTIuNDkgMjU0LjEgMjE2Ljc5IDM2OS44bDYuNCA2IDYuNC02YzEyMy4yLTExNS41IDE5NS4yLTI0MiAyMTQuOC0zNjkuNmwuOS02LjMtMzguNy0yMi4yMS0uOC02MC42NEMzMjAuNCA0MS4xNSAxODIgMzguNzIgNzIuMDIgMjEuODh6bTE4LjQgMjEuNzFjMzIuNTggNC45NSA2NC44OCA4LjcyIDk3LjE4IDExLjIydjMxLjg1TDEzOC45IDExNSA4OS44MiA4Ni40NHptMzMwLjc4IDMuNTZsLjUgMzkuMjlMMzcyLjYgMTE1bC00OS4yLTI4LjZWNTYuODJjMzIuMS0xLjYzIDY0LjYtNC42NyA5Ny44LTkuNjd6bS0yMTQuNSA5LjEzYzMyLjUgMS45OCA2NSAyLjQ3IDk3LjkgMS40MnYyOC43bC00OC45IDI4LjUtNDktMjguNTN6TTgwLjIyIDEwMi42bDQ5LjE4IDI4LjZ2NTcuNGwtNDguMzggMjguMmMtMTMuMDItMzIuOS0yMi4yNS02NS45LTI3LjYzLTk5em0zNTEuNDggMGwyNi45IDE1LjNjLTUuNSAzMy4xLTE0LjggNjYuMS0yNy42IDk4LjlsLTQ4LjUtMjguMnYtNTcuNHptLTExNy43IDBsNDkuMSAyOC42djU3LjRMMzE0IDIxNy4ybC00OC43LTI4LjN2LTU4em0tMTE2LjguMmw0OC45IDI4LjR2NTcuN2wtNDguNyAyOC4zLTQ5LjEtMjguNnYtNTcuNHpNMTQwIDIwNi4ybDQ5LjIgMjguNnY1Ny40bC01Mi41IDMwLjZjLTE4LjktMjguNy0zNC44LTU3LjctNDcuNjgtODYuOXptMTE3LjIgMGw0OC43IDI4LjR2NTcuOWwtNDguNyAyOC4zLTQ5LjItMjguNnYtNTcuNHptMTE2LjUgMGw0OS43IDI4LjljLTEyLjggMjkuMy0yOC41IDU4LjQtNDcuMSA4Ny4yTDMyNSAyOTIuNXYtNTcuOXptLTY2LjUgMTA3LjdsNDAuNyAyMy42djI1LjRjLTExLjkgMTUuNy0yNC42IDMxLjMtMzguMyA0Ni44LTE0LjQtOC40LTI4LjctMTYuOS00My4xLTI1LjN2LTQ2Ljl6bS0xMDAuMyAwbDQwLjcgMjMuNnY0Ni44Yy0xNC4zIDguNC0yOS43IDE3LjYtNDMuNSAyNS42YTgxNi43IDgxNi43IDAgMCAxLTM3LjktNDUuNnYtMjYuOHptNTAuMiA4Ni45bDI2LjggMTUuNnYyMC43Yy0xMS4zIDExLjQtMTkuMSAxOS4yLTI2LjkgMjcuMi05LjMtOC44LTE4LjMtMTcuNy0yNy0yNi42di0yMS4yeiIgZmlsbD0iI2ZmZiIgZmlsbC1vcGFjaXR5PSIxIj48L3BhdGg+PC9nPjwvc3ZnPg==
data:image/svg+xml;base64,PHN2ZyBzdHlsZT0iaGVpZ2h0OiA1MTJweDsgd2lkdGg6IDUxMnB4OyIgeG1sbnM9Imh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnIiB2aWV3Qm94PSIwIDAgNTEyIDUxMiI+PGcgY2xhc3M9IiIgc3R5bGU9IiIgdHJhbnNmb3JtPSJ0cmFuc2xhdGUoMCwwKSI+PHBhdGggZD0iTTQyNS4zNDQgMjIuMjJjLTkuMDI3LjA4NS0xOC43IDUuODI2LTI0LjM0NCAxOS40MDUtMTEuMTQzIDI2LjgwMy0zMS45MyA1OS4xNTYtNTguNTYzIDkzLjQ3IDEwLjU3IDguNjk0IDE5Ljg1IDE4LjkyIDI3LjUgMzAuMzEgMzUuMS0yNi41NyA2OC44ODItNDYuODEgOTguMTI1LTU2Ljc1IDQ0LjYtMTUuMTYgMTIuMDItNjkuNzItMzUuMzQzLTM1LjM0MyAyNi45MS0yNy44NDIgMTEuMTA3LTUxLjI3LTcuMzc2LTUxLjA5M3ptLTM0MS4yMi4wM2MtMTguNS4zNzgtMzcuNjA0IDIzLjk2Mi0xNi4zNDMgNDkuODc1QzMxLjUyMyAzOC42MzUtLjgwMiA4NS40OCAzNy4wOTUgMTAyLjgxM2MyOC4wODUgMTIuODQ0IDYyLjU0IDM1LjY2IDk5LjA2MiA2NC4zNDMgOC4xMjUtMTIuNSAxOC4yMDctMjMuNjEgMjkuNzgtMzIuOTM3LTI2Ljc4Mi0zNS43NDMtNDguNDQtNjkuODM1LTYxLjc4LTk4LjQ3LTQuNTE1LTkuNjktMTIuMjItMTMuNjYtMjAuMDMtMTMuNXptMTY5LjUgOTkuNjg4Yy02Ny4xMDQgMC0xMjEuMzEgNTQuMjEtMTIxLjMxIDEyMS4zMTIgMCA0NC42NzYgMjQuMDQgODMuNjEzIDU5LjkwNSAxMDQuNjU2djU2LjQwNmgxOC43MTh2LTQ3LjQ2OGM1LjIwMyAxLjk1IDEwLjU3NiAzLjU1MiAxNi4wOTMgNC43OHY0Mi42ODhoMTguNjl2LTQwLjAzYzIuNjE0LjE2NyA1LjI0Ny4yNSA3LjkwNS4yNSAyLjYzNyAwIDUuMjUtLjA4NiA3Ljg0NC0uMjV2NDAuMDNoMTguNjg2di00Mi42ODdjNS41Mi0xLjIyNiAxMC44OS0yLjgzNCAxNi4wOTQtNC43OHY0Ny40NjdoMTguNjg4VjM0Ny45N2MzNS45Mi0yMS4wMyA2MC02MC4wMDMgNjAtMTA0LjcyIDAtNjcuMTA1LTU0LjIwOC0xMjEuMzEzLTEyMS4zMTMtMTIxLjMxM3ptLTY2Ljg3NCA4OC4yMThjMTkuODggMCAzNiAxNi4xMiAzNiAzNnMtMTYuMTIgMzYtMzYgMzYtMzYtMTYuMTItMzYtMzYgMTYuMTItMzYgMzYtMzZ6bTEzMy41NjMgMGMxOS44NzggMCAzNiAxNi4xMiAzNiAzNnMtMTYuMTIyIDM2LTM2IDM2Yy0xOS44OCAwLTM2LTE2LjEyLTM2LTM2czE2LjEyLTM2IDM2LTM2em0tNjYuNzIgNTIuMzQ0bDI5LjkzOCA0OC4xODhoLTU5Ljg3NGwyOS45MzgtNDguMTg4em0tMTA3LjI4IDcwLjU2M2MtNDAuMjYzIDMyLjQ3Mi03OC41NDYgNTguNDEtMTA5LjIyIDcyLjQzNy0zNy44OTYgMTcuMzM0LTUuNTcgNjQuMTQ2IDMwLjY4OCAzMC42NTYtMzAuMjM3IDM2Ljg1NCAyMS4xNjcgNjkuMDUgMzYuMzc2IDM2LjQwNiAxNS4wNzItMzIuMzUyIDQwLjcyNy03MS43IDcyLjQzOC0xMTIuNS0xMS4zNTItNy41MDYtMjEuNTY0LTE2LjYwMy0zMC4yOC0yN3ptMjEzLjE1NiAxLjcxOGMtOC4xNTUgOS40MTUtMTcuNTQyIDE3LjcyLTI3LjkwOCAyNC42OSAzMS44NDYgMzkuMzkgNTYuODIgNzYuODYyIDY5LjQzOCAxMDcuMjE3IDE3LjIwMyA0MS4zODMgNzEuNzc0IDkuNzIyIDMxLjcyLTMxLjcxOCA0Ny4zNjMgMzQuMzc2IDc5Ljk0LTIwLjE4NSAzNS4zNDItMzUuMzQ1LTMyLjE0Ni0xMC45MjYtNjkuNzU4LTM0LjMtMTA4LjU5My02NC44NDR6IiBmaWxsPSIjZmZmIiBmaWxsLW9wYWNpdHk9IjEiPjwvcGF0aD48L2c+PC9zdmc+
data:image/svg+xml;base64,PHN2ZyBzdHlsZT0iaGVpZ2h0OiA1MTJweDsgd2lkdGg6IDUxMnB4OyIgeG1sbnM9Imh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnIiB2aWV3Qm94PSIwIDAgNTEyIDUxMiI+PGcgY2xhc3M9IiIgc3R5bGU9IiIgdHJhbnNmb3JtPSJ0cmFuc2xhdGUoMCwwKSI+PHBhdGggZD0iTTQwLjQzMyAxOS4zOTdsLTE3LjM2MyA0LjczczcuOTc4IDI5LjM2OSAyMi4yNjIgNjAuNTVjNy4xNDIgMTUuNTkgMTUuODUzIDMxLjcxIDI2LjI5MyA0NS4xNjRzMjIuNjg5IDI0LjYxIDM3LjgyMiAyOC42MmMxOC41ODggNC45MjggMzYuMTkyLS43NjMgNTEuNDU1LTEwLjUxNSAxNS4yNjMtOS43NTEgMjkuMDYtMjMuNTUgNDIuNjA2LTM3LjAxMyAxMy41NDUtMTMuNDY0IDI2LjgzNi0yNi42IDM5LjgxNC0zNS4xMjUgMTIuOTc4LTguNTI2IDI0Ljg0My0xMi4zOTEgMzcuNzI3LTkuNSAxMy45MyAzLjEyNiAzMC42NDMgMTQuNTU1IDQxLjg0NyAyOC43ODMgMTEuMjA1IDE0LjIyOCAxNi41IDMwLjQxMyAxMi43MDUgNDIuNzktNS4yODIgMTcuMjMtMTcuMjI3IDI1LjgxNi0zNS44MDIgMzEuNDY2LTE4LjU3NSA1LjY1LTQzLjExMSA3LjA5OC02OC43MzkgOC4xNDQtMjUuNjI3IDEuMDQ2LTUyLjM1IDEuNzQ1LTc2LjI4NSA3LjA0NS0yMy45MzUgNS4zLTQ1Ljc3NSAxNS42MzctNTguNjQyIDM2LjQzLTExLjA3NCAxNy44OTMtMTUuMjE0IDQxLjQ0LTEyLjk2MSA2My45NzQgMi4yNTIgMjIuNTM1IDExLjAzMiA0NC41NzUgMjguNzA5IDU3LjU5NCAyNS42MzcgMTguODgyIDU1Ljg3OCAxOS42MjIgODUuODc5IDExLjgyIDMwLTcuODAxIDYwLjc3Ni0yMy43NDcgOTEuMzA2LTM5LjU1NCAzMC41My0xNS44MDggNjAuODEtMzEuNDg3IDg4LjQ3Ny0zOS4yNDggMjcuNjY3LTcuNzYxIDUxLjc5OS03LjgzOCA3My4yMTUgNS45OTIgOC4yNzcgNS4zNDUgMTUuMjE0IDE2LjUzMyAxOC4yOCAyOS4wODggMy4wNjggMTIuNTU1IDIuMTQ3IDI2LjA3LTIuNDY2IDM1LjAxNS0xMC40ODIgMjAuMzI4LTI3LjUxOCAzMC42MzktNTAuMyAzNi45Mi0yMi43ODMgNi4yODItNTAuODMyIDcuNzg0LTc5LjkzMiA5LjYyMS0yOS4xMDEgMS44MzgtNTkuMjkyIDQuMDM3LTg2LjkyIDEyLjgxNy0yMC4wMTIgNi4zNi0zOC43NjcgMTYuNDMxLTU0LjA1OSAzMi4yMmw1LjczLTI5LjIzMi0xNy42NjItMy40NjMtMTMuNjk1IDY5Ljg1OCA2OS43NS0xNC4yMjctMy41OTYtMTcuNjM1LTI1Ljc2NyA1LjI1NmMxMi41MDgtMTIuMzAxIDI3LjYyLTIwLjE4MSA0NC43NS0yNS42MjUgMjQuODAyLTcuODgyIDUzLjY1OC0xMC4xNzggODIuNjAxLTEyLjAwNiAyOC45NDQtMS44MjcgNTcuOTM4LTMuMTYzIDgzLjU4Mi0xMC4yMzQgMjUuNjQ0LTcuMDcgNDguNDItMjAuNjI2IDYxLjUxNC00Ni4wMjEgNy4zMi0xNC4xOTggNy44NjktMzEuNTE1IDMuOTU1LTQ3LjUzNi0zLjkxMy0xNi4wMi0xMi40MDYtMzEuMTU1LTI2LjAwMi0zOS45MzUtMjYuNzM4LTE3LjI2Ny01Ny40NDctMTYuNzI5LTg3Ljg0LTguMjAzLTMwLjM5MiA4LjUyNS02MS4zOTIgMjQuODA1LTkxLjg5IDQwLjU5NS0zMC40OTkgMTUuNzkxLTYwLjUwMSAzMS4wODMtODcuNTYgMzguMTItMjcuMDYgNy4wMzYtNTAuMTYxIDYuMjE2LTcwLjY3OS04Ljg5NS0xMS45NTUtOC44MDUtMTkuNTc1LTI1LjkxMi0yMS40NzItNDQuODktMS44OTctMTguOTggMi4wNjQtMzkuMzEzIDEwLjM1Ny01Mi43MTQgOS41MDMtMTUuMzU2IDI1Ljc4NC0yMy41ODEgNDcuMjI5LTI4LjMzIDIxLjQ0NC00Ljc0OCA0Ny4zNTctNS41ODMgNzMuMTI3LTYuNjM0IDI1Ljc3LTEuMDUyIDUxLjM5My0yLjI2MyA3My4yNDItOC45MDkgMjEuODUtNi42NDUgNDAuNTk1LTE5Ljk5NCA0Ny43NzMtNDMuNDA4IDYuMjgtMjAuNDgyLTIuMjUtNDIuMDI5LTE1Ljc3My01OS4yLTEzLjUyMy0xNy4xNzMtMzIuNDQyLTMwLjgxLTUyLjA0Ny0zNS4yMS0xOC43NS00LjIwOC0zNi4yNzcgMS45ODUtNTEuNTQ5IDEyLjAxOC0xNS4yNzIgMTAuMDMzLTI5LjA5MSAyMy45NTgtNDIuNjE5IDM3LjQwNC0xMy41MjggMTMuNDQ2LTI2Ljc2OCAyNi40MDgtMzkuNjA3IDM0LjYxMS0xMi44NCA4LjIwNC0yNC40MDYgMTEuNjYzLTM3LjE1NyA4LjI4My05LjE4NC0yLjQzNC0xOS4wOTItMTAuNTAxLTI4LjIxMy0yMi4yNTUtOS4xMi0xMS43NTQtMTcuMzctMjYuODMtMjQuMTQ4LTQxLjYyNy0xMy41NTgtMjkuNTk3LTIxLjI2Mi01Ny43ODQtMjEuMjYyLTU3Ljc4NHptODcuMzE5IDE4LjM2NmEzMiAzMiAwIDAgMC0zMiAzMiAzMiAzMiAwIDAgMCAzMiAzMiAzMiAzMiAwIDAgMCAzMi0zMiAzMiAzMiAwIDAgMC0zMi0zMnptMTQ0IDQ4YTMyIDMyIDAgMCAwLTMyIDMyIDMyIDMyIDAgMCAwIDMyIDMyIDMyIDMyIDAgMCAwIDMyLTMyIDMyIDMyIDAgMCAwLTMyLTMyem0xMTIuOTYgODUuNTY4YTMyIDMyIDAgMCAwLTMyIDMyIDMyIDMyIDAgMCAwIDMyIDMyIDMyIDMyIDAgMCAwIDMyLTMyIDMyIDMyIDAgMCAwLTMyLTMyek0xNjUuODIgMjM5LjY5NGEzMiAzMiAwIDAgMC0zMiAzMiAzMiAzMiAwIDAgMCAzMiAzMiAzMiAzMiAwIDAgMCAzMi0zMiAzMiAzMiAwIDAgMC0zMi0zMnptMjQ5LjEwNyA1MS44OTFhMzIgMzIgMCAwIDAtMzIgMzIgMzIgMzIgMCAwIDAgMzIgMzIgMzIgMzIgMCAwIDAgMzItMzIgMzIgMzIgMCAwIDAtMzItMzJ6TTg1LjcxMSAzNjMuODMxYTMyIDMyIDAgMCAwLTMyIDMyIDMyIDMyIDAgMCAwIDMyIDMyIDMyIDMyIDAgMCAwIDMyLTMyIDMyIDMyIDAgMCAwLTMyLTMyem0yMjUuMDQ1IDY0Ljc3MmEzMiAzMiAwIDAgMC0zMiAzMiAzMiAzMiAwIDAgMCAzMiAzMiAzMiAzMiAwIDAgMCAzMi0zMiAzMiAzMiAwIDAgMC0zMi0zMnoiIGZpbGw9IiNmZmYiIGZpbGwtb3BhY2l0eT0iMSI+PC9wYXRoPjwvZz48L3N2Zz4=
data:image/svg+xml;base64,PHN2ZyB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIHZpZXdCb3g9IjAgMCA1MTIgNTEyIiBzdHlsZT0iaGVpZ2h0OiA1MTJweDsgd2lkdGg6IDUxMnB4OyI+PGcgY2xhc3M9IiIgdHJhbnNmb3JtPSJ0cmFuc2xhdGUoMCwwKSIgc3R5bGU9InRvdWNoLWFjdGlvbjogbm9uZTsiPjxwYXRoIGQ9Ik0xMjUuNzY0IDE4Yy00LjAyIDguMjcyLTEyLjg5IDE0LjgzOC0yMS43NjQgMTQuODM4IDEyIDAgMjQgMTIgMjQgMjQgMC0xMiAxMi0yNCAyNC0yNC04Ljg3NCAwLTE3Ljc0My02LjU2Ni0yMS43NjQtMTQuODM4ek00MTYgMzJjMCA4LTggMTYtMTYgMTYgOCAwIDE2IDggMTYgMTYgMC04IDgtMTYgMTYtMTYtOCAwLTE2LTgtMTYtMTZ6bS03MiA0MGMwIDEyLTEyIDI0LTI0IDI0IDEyIDAgMjQgMTIgMjQgMjQgMC0xMiAxMi0yNCAyNC0yNC0xMiAwLTI0LTEyLTI0LTI0ek0xOCAxMDYuMDY4djMxNi4yM2M5NC4wMS00IDIwMC4xODMtNS42NTUgMzAyLjM5My0zMy44MjQgNDIuODc3LTEwLjkxNSA3Ni42MS0yMy43NDggMTAwLjMzNy0zOC4zMzIgMjMuNzMtMTQuNTgzIDM4LjY0Ny0zMS43MjMgMzguNjQ3LTUxLjY0Mi0uMDktOC42MjQtMy42MS0xNy42ODItOC4wMTItMjQuNTAyLTMuMzM2LTQuOTM1LTcuNjQtOS42Ni0xMi43OC0xNC4xNzQgMS40ODQtMy42MzggMi4zMDctNy42MjcgMi4zMDctMTEuODI0IDAtMTcuMjI4LTEzLjc3Mi0zMS0zMS0zMS0xNy4yMjcgMC0zMSAxMy43NzItMzEgMzEgMCAxNy4yMjcgMTMuNzczIDMxIDMxIDMxIDYuNDE0IDAgMTIuMzQ2LTEuOTEgMTcuMjctNS4xOTYgNy4zMDQgNi44MDggMTMuODg2IDE1LjMxNCAxNC4yMTUgMjQuNjk2IDAgMTAuNTU2LTguODYgMjMuMjctMzAuMDcyIDM2LjMwNi0yMS4yMTIgMTMuMDM3LTUzLjU4IDI1LjU5LTk1LjM1NCAzNi4yMjVDMjI0IDM5My45OSAxMTIuMDQ1IDQwMi4zNyAyOS40IDQwNC4xNGMyNC4xODMtNC43NTcgNDYuMjc2LTE1LjI3NCA2NC44MDMtMzAuMDY2IDI2Ljg5OC0xLjc3NiA1MC45My0zLjkxMyA3Ni40NDctNy4wNzgtMi42Ny02LjIzNi0zLjk1Ny0xMS43NS0zLjUyNy0xNy43MS0xOC4xNzUgMi4xMTUtMzYuOTU1IDQuMDQtNTIuNjc2IDUuM0MxMzcuMjMzIDMyOC4xNDYgMTUxIDI5My43MDYgMTUxIDI1NmMwLTc3LjQxLTU4LjAxLTE0MS4wNTQtMTMzLTE0OS45MzJ6bTEzMy41ODQgNzUuMjRjMy4wMSA2LjA4NiA1LjY2MyAxMi4zOCA3LjkzNCAxOC44NTQgNTguMjkgNS42ODQgMTExLjc2IDE0LjQzNCAxNTYuNDMzIDI1LjgwNyAxNi43OTQgNC4yNzQgMzIuMDM3IDguODYzIDQ1LjY3NyAxMy42NjUgMS4wNTctNi4wOCAzLjIzMi0xMS43OSA2LjMyNC0xNi44OTMtMTQuMzItNS4wNDUtMzAuMTczLTkuNzktNDcuNTU3LTE0LjIxNy00OC4zNC0xMi4zMDYtMTA2LjA4LTIxLjUyLTE2OC44MS0yNy4yMTh6bTEyLjkyNiAzNS45MTdjMS40MyA2LjA3MyAyLjUyOCAxMi4yNyAzLjI4IDE4LjU3NiAyNi42NzggMy4zMzIgNTEuMTA2IDcuNDAzIDcyLjUyNCAxMi4xMDQgMzAuNjU4IDYuNzMgNTUuMjkgMTQuNzggNzEuNTA4IDIzLjE5NiA4LjExIDQuMjA3IDE0LjA2NSA4LjUyNCAxNy42MDYgMTIuMzIyIDMuNTQgMy43OTggNC41NzIgNi42MzYgNC41NzIgOS4wNzggMCAyLjQ0Mi0xLjAzIDUuMjgtNC41NzIgOS4wNzgtMy41NCAzLjc5OC05LjQ5NyA4LjExNS0xNy42MDYgMTIuMzIyLTE2LjIxNyA4LjQxNi00MC44NSAxNi40NjctNzEuNTA4IDIzLjE5Ni0zLjUwMy43NzMtNi41ODcgMS40MDgtOS45MyAyLjA4NiAyLjI4NSA2LjI2IDMuMTQ2IDExLjg5MyAyLjIxNiAxNy45MTYgMy44MS0uNzU2IDcuOTAzLTEuNjE1IDExLjU3NC0yLjQyIDMxLjU5NC02LjkzNCA1Ny4zNC0xNS4xNSA3NS45MzctMjQuOCA5LjMtNC44MjYgMTYuODYtOS45OTMgMjIuNDg0LTE2LjAyNSA1LjYyMy02LjAzIDkuNDA2LTEzLjM3IDkuNDA2LTIxLjM1MyAwLTcuOTgyLTMuNzgzLTE1LjMyMi05LjQwNi0yMS4zNTQtNS42MjQtNi4wMy0xMy4xODQtMTEuMTk4LTIyLjQ4My0xNi4wMjMtMTguNTk2LTkuNjUtNDQuMzQyLTE3Ljg2Ny03NS45MzYtMjQuOC0yMy41NjMtNS4xNzItNTAuMzY1LTkuNTktNzkuNjY0LTEzLjA5OHpNMjAwIDMzN2MtOC4zOSAwLTE1IDYuNjEtMTUgMTVzNi42MSAxNSAxNSAxNSAxNS02LjYxIDE1LTE1LTYuNjEtMTUtMTUtMTV6bTU2IDk1YzAgOC04IDE2LTE2IDE2IDggMCAxNiA4IDE2IDE2IDAtOCA4LTE2IDE2LTE2LTggMC0xNi04LTE2LTE2eiIgZmlsbD0iI2ZmZiIgZmlsbC1vcGFjaXR5PSIxIj48L3BhdGg+PC9nPjwvc3ZnPg==
data:image/svg+xml;base64,PHN2ZyB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIHZpZXdCb3g9IjAgMCA1MTIgNTEyIiBzdHlsZT0iaGVpZ2h0OiA1MTJweDsgd2lkdGg6IDUxMnB4OyI+PGcgY2xhc3M9IiIgdHJhbnNmb3JtPSJ0cmFuc2xhdGUoMCwwKSIgc3R5bGU9InRvdWNoLWFjdGlvbjogbm9uZTsiPjxwYXRoIGQ9Ik0yNTAuMzc1IDIxLjI1Yy0zOC4xOTIgMC02OC45NyAzMC43NDQtNjguOTcgNjguOTM4IDAgMzguMTkzIDMwLjc3OCA2OC45NjggNjguOTcgNjguOTY4czY4LjkzOC0zMC43NzUgNjguOTM4LTY4Ljk3YzAtMzguMTkyLTMwLjc0Ni02OC45MzYtNjguOTM4LTY4LjkzNnptLTIuNjI1IDMzLjc4Yy4xMTUtLjAwMy4yMy4wMDUuMzQ0IDAtMjYuODUgNTMuODAzIDUyLjQyNyA2Ni42MiA0MC42NTYgOS4wMzIgNC4yNzIgMS43OTMgOC43NiAzLjgzOCAxMy41MyA2LjE1NyAzLjgxNiAxNS4yNTggMy41NSAzMC44MjgtMi4zNDIgNDYuMDkzLTQ2LjY4MyAxMS4wMDctNTQuMDU0IDExLjAyOC05OC4zNzUtMS41OTQtNS4zNDUtMTQuNzQ3LTYuMDMtMjkuNzYyLTIuMzQ0LTQ0LjUgMTkuMzU2LTkuNTYyIDM0LjA3Mi0xNC42MTIgNDguNTMtMTUuMTl6TTM0NS4xODggMTIxYy0xLjI2LS4wMy00LjU5Ny43NS05LjY1NyA0LjYyNS0uMDA2LjAwNi0uMDIyLS4wMDYtLjAzIDAtMi42MSAyLjAwMi01LjIwMiAzLjg5LTcuNzggNS42ODgtMTQuNzY1IDI3LjY0Mi00My45MDYgNDYuNTMtNzcuMzQ1IDQ2LjUzLTMzLjQgMC02Mi41MjMtMTguODQ2LTc3LjMxMy00Ni40MzctMy4wMTItMS42NC02LjAzOC0zLjMyNS05LjA5My01LjA2Mi00LjY0Ny0yLjY0Mi03LjM3LTIuODI1LTguNjU3LTIuNTk0LTEuMjkuMjMtMi4xNzQuNjkyLTMuNjU3IDMtMi45NjYgNC42MTYtNS4zMTYgMTYuMzkzLTQuNjU2IDMwLjAzLjY2IDEzLjY0IDMuODAyIDI5LjE3NiA4Ljc1IDQyLjMxNCA0Ljk0OCAxMy4xMzggMTEuOTU3IDIzLjY3NSAxOC4xNTYgMjcuOTcgNTAuODEgMzUuMTkyIDk5LjM4NSAyNy40NzggMTUxLjUtLjUzMyA2LjM4Ni0zLjQzIDEzLjkxMi0xMy43NjcgMTkuMTI1LTI3LjQ2OCA1LjIxNS0xMy43IDguNC0zMC4zMzggOC45NC00NC44NDMuNTM4LTE0LjUwNi0yLjI5Mi0yNi45OC01LjIyLTMxLjA5NS0xLjQ2NC0yLjA1OC0xLjgtMi4wOTYtMy4wNjMtMi4xMjV6TTEyOC4yNSAxNDQuODc1Yy0yMC42MzIgOS4yNC0zNi45NTggMjUuODI3LTQ5LjY1NiA0OC41OTQgNC40MS4xODMgOC43OC44NDIgMTMgMS45NjggMTIuMjIgMy4yNiAyMi41MTIgMTAuMjQzIDMwLjA2MiAxOS4zNzUgNC41ODctNS4wNCA5LjU2NS05LjY1MiAxNC45MzgtMTMuODQ0LTQuNzE4LTEzLjk1NC03LjU5Ny0yOS4xNC04LjI4LTQzLjI4Mi0uMjE0LTQuMzkyLS4yNi04LjY4LS4wNjQtMTIuODEzem0yNDIuNzIgMjQuMjVjLTEuNTggMTIuNDA1LTQuNTkyIDI1LjA1OC04Ljk3IDM2LjU2My0yLjQxMyA2LjM0Mi01LjE5MyAxMi4zOTMtOC41IDE3Ljg0MyAzLjU5IDQuMDYgNi45NDQgOC4zNyAxMC4wMyAxMi45NyAyLjMzNC0zLjY0NiA1LjAzNy03LjAzIDguMDY0LTEwLjA2M3YtLjAzYzguMTgtOC4xOCAxOC4yNDctMTMuNDEgMjguODQ0LTE1Ljc1LTguMDctMTYuODQtMTcuODIyLTMwLjc5LTI5LjQ3LTQxLjUzMnpNNzYuMzEgMjEyLjE1NWMtMTAuNjgzLjA0NC0yMS41MjggNC4xNy0yOC4zMTIgMTIuMjgyLTcuMTI4IDguNTIzLTExLjAzOCAyMi4yNjItNS4xODggNDMuMzc1LjEzNi0uMDkzLjI3LS4xOS40MDctLjI4IDguMTEtNS40NzMgMTguMjQyLTguNTcgMjkuMTg2LTguMDYzIDMuNjQ4LjE2OCA3LjM5OC43MzMgMTEuMTg4IDEuNzUgMTAuNjIyIDIuODQ1IDE5LjE1NyA4LjUzNiAyNS4yOCAxNS43MTcgNy40NTQtOS45MyA5LjIxLTIwLjg3NSA3LjMxNC0zMS4xNTYtMi43NjctMTQuOTg3LTEzLjkwNS0yOC4xNDUtMjkuNDA3LTMyLjI4LTMuMzczLS45LTYuOTA2LTEuMzU4LTEwLjQ2OC0xLjM0NHptMzM2LjUgMTUuNzgyYy0uNzEuMDEzLTEuNDEzLjA0NS0yLjEyNS4wOTQtOS40OC42NTMtMTguNzggNC41MDItMjUuODc1IDExLjU5NS05Ljg2NSA5Ljg4Ny0xNC43MTggMjUuODIyLTkuODc1IDM5LjA2MyAzLjgyIDEwLjQ0IDEzLjc0MiAyMC42OTggMzQuOTcgMjYuMTg3LS4wMTUtLjE3Ny0uMDUtLjM1NC0uMDYzLS41My0uOTEtMTMuMDEgMy42MzQtMjYuOTcgMTQuNzItMzguMDY0bC0uMDAyLS4wM2M3Ljc3NC03Ljc2NyAxNi45NzMtMTIuMjg4IDI2LjI1LTE0LTQuODctMTEuNDMtMTMuNDU3LTE4LjQ0LTIzLjMxMi0yMS45MzgtNC43MTItMS42Ny05LjcwNC0yLjQ2NS0xNC42ODgtMi4zNzV6bS0xMDEuNDM3IDI1Ljk3Yy0zOS44OTYgMTYuNzE4LTgxLjE3NyAyMS4wOTYtMTIxLjc4IDMuMzEybC0xMC4wNjQgMzkuMzFjOC45MDggMi43NTUgMTYuNDE3IDcuODI3IDIyIDE0LjI1IDcuMzU1IDguNDYyIDExLjYxIDE4Ljk4NSAxMi44NzYgMjkuODE0IDI1LjIzLTM5LjU3MiA3MC4xOS0yNC4yMTQgODEuOTA2IDI5LjE4Ny0zMC4xNDggMjQuMzEyLTMxLjAyNSA3OC41MSAyLjQ3IDk5Ljk3IDEzLjk4LTE3LjYyNiAzNC4yMDMtMjkuNjkgNTUuMzEyLTMyLjc1IDMuMDI2LS40NCA2LjA5LS42NiA5LjE1Ni0uNjg4IDEuMDIyLS4wMDggMi4wNDItLjAwNiAzLjA2My4wMzIgNy4yMzcuMjY2IDE0LjQ1NyAxLjczNSAyMS4zMTIgNC41NjIgNS4yOTgtMTYuMDczIDQuMDczLTM0LjY0My0zLjE4OC01MC4xNTYtNy42NDIgNC42NDgtMTcuMDg3IDcuNDA2LTI3Ljg0MyA3LjQwNi0xNi42NCAwLTMwLjE1LTYuNTY1LTM4LjY4OC0xNi41OTRDMzA5LjM3IDM3MS41MzQgMzA1LjY2IDM1OC42IDMwNiAzNDUuOTM4Yy4zNC0xMi42NjIgNC42OS0yNS4zMSAxMy4yNS0zNS4xNTYgMS40NDQtMS42NiAzLjAyNi0zLjIyMiA0LjcyLTQuNjg2bC0xMi41OTUtNTIuMTg4em0xNDYuOTM4IDE2LjIxOGMtNy4wNTguMTY2LTEzLjk3IDIuNzUtMjAuNTYzIDkuMzQ0LTcuNTM0IDcuNTMzLTkuODUgMTUuNDgzLTkuMjggMjMuNTkyLjU2NiA4LjExIDQuNDg2IDE2LjQxIDEwLjQzNiAyMi42ODggNS45NSA2LjI4IDEzLjczOCAxMC4zNzQgMjEuNTMgMTEgNy43OTUuNjI2IDE1Ljg4OC0xLjczIDI0LjM3Ny0xMC4yMiA4LjQ4OC04LjQ4OCAxMC44NDUtMTYuNTggMTAuMjE4LTI0LjM3NC0uNjI1LTcuNzkzLTQuNzItMTUuNTgtMTEtMjEuNTMtNi4yNzgtNS45NS0xNC41NzctOS44Ny0yMi42ODYtMTAuNDM4LTEuMDE0LS4wNy0yLjAyMy0uMDg3LTMuMDMtLjA2M3pNNzAuMTU2IDI3OGMtNi4zNTItLjEwMi0xMS43MyAxLjgzNS0xNi40NyA1LjAzLTYuNzM4IDQuNTQ3LTExLjk3MyAxMi4wODMtMTQuNDM2IDIwLjM3Ni0yLjQ2MyA4LjI5My0yLjEzNiAxNy4wNjMgMS4yMiAyNC4xMjUgMy4zNTMgNy4wNjQgOS40NjUgMTIuOTI1IDIxLjA2IDE2LjAzMyAxMS41OTcgMy4xMDcgMTkuNzg0IDEuMDY0IDI2LjIyLTMuMzc1IDYuNDM2LTQuNDQgMTEuMTEyLTExLjg2OCAxMy4xMjUtMjAuMjgyIDIuMDEzLTguNDEzIDEuMjUtMTcuNTY4LTIuMzEzLTI0Ljg3NS0zLjU2My03LjMwNS05LjUyLTEyLjk5LTE5LjgxMi0xNS43NS0yLjU3My0uNjg4LTUuMDA3LTEuMDg0LTcuMzEzLTEuMjE3LS40MzItLjAyNS0uODU3LS4wNTYtMS4yOC0uMDYzem05NC4wMyAzNC45MzhjLTEwLjY1NCAwLTE3LjkxNiAzLjk1OC0yMy4yNSAxMC4wOTMtNS4zMyA2LjEzNy04LjQyMiAxNC43Ni04LjY1NSAyMy40MDgtLjIzMiA4LjY0NyAyLjM3IDE3LjA0NiA3LjQ0IDIzIDUuMDY3IDUuOTUzIDEyLjQ2MiAxMC4wMyAyNC40NjggMTAuMDMgMTIuMDA1IDAgMTkuNC00LjA3NyAyNC40NjgtMTAuMDMgNS4wNjgtNS45NTQgNy42Ny0xNC4zNTMgNy40MzgtMjMtLjIzMy04LjY0OC0zLjM1NS0xNy4yNy04LjY4OC0yMy40MDctNS4zMzMtNi4xMzQtMTIuNTYzLTEwLjA5Mi0yMy4yMi0xMC4wOTJ6bTE5Mi40MDggMGMtMTAuNjU2IDAtMTcuOTE3IDMuOTU4LTIzLjI1IDEwLjA5My01LjMzMyA2LjEzNy04LjQyNCAxNC43Ni04LjY1NiAyMy40MDgtLjIzMyA4LjY0NyAyLjM3IDE3LjA0NiA3LjQzNyAyMyA1LjA2OCA1Ljk1MyAxMi40NjMgMTAuMDMgMjQuNDcgMTAuMDMgMTIuMDA0IDAgMTkuNC00LjA3NyAyNC40NjctMTAuMDMgNS4wNy01Ljk1NCA3LjY3LTE0LjM1MyA3LjQzOC0yMy0uMjMzLTguNjQ4LTMuMzU1LTE3LjI3LTguNjg4LTIzLjQwNy01LjMzMi02LjEzNC0xMi41NjMtMTAuMDkyLTIzLjIxOC0xMC4wOTJ6TTEyMS4yMiAzNzUuNjU2Yy0xNS4xMTUgMTYuNjMyLTIwLjAzNyA0MS45My0xMy43NSA2My4zMTMgNS4xOC0xLjU3MyAxMC41MjUtMi40MyAxNS44NzQtMi42MjYgMS4wMi0uMDM4IDIuMDQtLjA0IDMuMDYyLS4wMyAzLjA2NS4wMjUgNi4xMy4yNDcgOS4xNTYuNjg2IDIyLjA2MiAzLjIgNDMuMTc4IDE2LjIxNiA1Ny4xODggMzUuMTU2IDM0LjU4LTE3Ljg5NCAzNy43LTY3Ljg1NyAxMy43NS05NS41LTEuMDk4IDEuNjktMi4yOTYgMy4zNDUtMy42MjUgNC45MDYtOC41MzcgMTAuMDMtMjIuMDQ4IDE2LjU5NC0zOC42ODggMTYuNTk0LTE2LjY0IDAtMzAuMTUtNi41NjUtMzguNjg3LTE2LjU5NC0xLjU5LTEuODctMy4wMi0zLjg1NS00LjI4LTUuOTA2em0yLjgxIDc5LjMxM2MtOC42ODUuMjYtMTYuODUzIDIuOTYtMjQuMTI0IDguNTkyLTcuODk1IDYuMTE2LTE0Ljk3NSAxNi4wOTQtMTkuNzIgMzEuMzQ0aDEwNC4yNWMtMTAuMTk2LTIwLjgwNC0zMS4yNzMtMzYuNDY0LTUxLjU2LTM5LjQwNi0yLjk5NS0uNDM0LTUuOTUtLjYxOC04Ljg0NS0uNTN6bTIzOS40MDcgMGMtMi4xOTIuMDM0LTQuNDEuMjA0LTYuNjU2LjUzLTIwLjI4NyAyLjk0Mi00MS4zNjQgMTguNjAyLTUxLjU2IDM5LjQwNmgxMDQuMjVjLTQuNzQ1LTE1LjI1LTExLjgyNC0yNS4yMjgtMTkuNzItMzEuMzQ0LTcuMjctNS42My0xNS40NC04LjMzMy0yNC4xMjUtOC41OTMtLjcyNC0uMDIzLTEuNDU3LS4wMTMtMi4xODggMHoiIGZpbGw9IiNmZmYiIGZpbGwtb3BhY2l0eT0iMSI+PC9wYXRoPjwvZz48L3N2Zz4=
data:image/svg+xml;base64,PHN2ZyBzdHlsZT0iaGVpZ2h0OiA1MTJweDsgd2lkdGg6IDUxMnB4OyIgeG1sbnM9Imh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnIiB2aWV3Qm94PSIwIDAgNTEyIDUxMiI+PGcgY2xhc3M9IiIgc3R5bGU9IiIgdHJhbnNmb3JtPSJ0cmFuc2xhdGUoMCwwKSI+PHBhdGggZD0iTTE1OS4xODIgMTcuMTE1bDE0Ljg4MiAxMjkuNDgzLTQ2LjEzNC0yNS4zMDMgMzcuNDYgNzIuOTE0YzE4LjY0Mi0yNy4wMDQgNDkuNzk4LTQ0LjcwMiA4NS4wOTQtNDQuNzAyIDU3LjA3IDAgMTAzLjMzNCA0Ni4yNjIgMTAzLjMzNCAxMDMuMzMyIDAgMzAuNzcyLTEzLjQ1NCA1OC4zOTgtMzQuNzk3IDc3LjMyOGw2Ny45MTggMjkuNDA0LTI2LjI1OC02MC4yNyAxMzcuODMtMTUuNzg0LTEyNi41MDQtNDQuNjUgODEuODUzLTUzLjU4SDM2MC4xTDQ2NS4xMDQgMTguNzM1IDMzNC44IDEyNS43NmwtMi45NzgtNzIuOTI2LTY5Ljk1IDg0LjgzMi0xOS4zNS04NC44MzQtMjIuMzIzIDY4LjQ2TDE1OS4xOCAxNy4xMTZ6TTI0Ljk0IDE0MS44bDQ4LjYyIDU0LjM1NCA3MS43MjUgMjUuNzk3LTUxLjU4OC01OC4yMzdMMjQuOTQgMTQxLjh6TTE0Ny4xNyAyNTQuNTJsLTQ5LjUyNiAyNy41MTMgNDMuNjkgNC42ODQtNzYuNDU3IDk1LjE4IDkwLjUtNDguMzcyLTgyLjcwMiAxNjAuNzIgMTI0LjgzLTEyNy45NSA2LjI0MiA3MS43NzUgMjYuODYzLTgzLjgxMmMtNDcuMDMtOS4xNjMtODIuNjUtNTAuMjE2LTgzLjQ0LTk5LjczOHptMTU1LjkzNSA4Ny4yNjNjLTEyLjEwNSA3LjE3OC0yNS44IDExLjk1Mi00MC40MzMgMTMuNjcybDc1LjA4IDEzNi4xNjQtMzQuNjQ3LTE0OS44Mzd6TTI0OS45NSAzNzMuOTVoLS4wMDNsLTExLjQ1NyA1OS44NzIgMTkuMjM3IDYwLjc0IDEyLjUzMy02My44MTItMjAuMzEtNTYuOHptMTMxLjQ4IDEzLjQ1bDM0LjUxMyA0OC4zOSA1Mi40NTMgMTIuNDkzdi0uMDAyTDQzNS44IDQwMy4xODMgMzgxLjQzIDM4Ny40eiIgZmlsbD0iI2ZmZiIgZmlsbC1vcGFjaXR5PSIxIj48L3BhdGg+PC9nPjwvc3ZnPg==
data:image/svg+xml;base64,PHN2ZyBzdHlsZT0iaGVpZ2h0OiA1MTJweDsgd2lkdGg6IDUxMnB4OyIgeG1sbnM9Imh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnIiB2aWV3Qm94PSIwIDAgNTEyIDUxMiI+PGcgY2xhc3M9IiIgc3R5bGU9IiIgdHJhbnNmb3JtPSJ0cmFuc2xhdGUoMCwwKSI+PHBhdGggZD0iTTIzMi41IDI5LjU4Yy0xMC40LS4xNy0yMC4yIDYuNjMtMTkuNCAyMS4yMmw0MCAxNzYuMy0xNy40IDRjLTEyLjktNTEuOS0yNS4xLTEwOS42LTM2LjgtMTYyLjg4LTQuNC0xOC4zLTQzLjctMTYuMDItMzguMyAxMS45OCAxNi4zIDgzLjUgMjguMyAxNjYuMiA0My4yIDI0Ny40LTEwLTI0LjctMzguOS0zOS41LTU4LjItNTMtMjQuOC0xNy4zLTU4LjMtMjIuMS03Ni42MiAyLjMtOC42NCA5LjMgNDguNDIgMjguOSA3Ny4wMiA3OC41IDE1LjMgNDQuNiA0Ny4yIDYyLjYgNzcuNiA4MC45bDcuMyA1OUgzNzFsMS4yLTQ0LjhzMTcuNi0xOC42IDE5LjgtMzEuNGM4LjQtNDguMyAzLjMtMTQ4LjEgMy4zLTE0OC4xIDEzLTQ1LjUgMzQuMi05NS45IDQ3LjItMTQ2LjcgOS4yLTM2LTI2LjctNDYuNjMtMzMtMzAuODdMMzU2IDI0MWwtMTYuOC02IDU1LjktMTU0LjE4YzYtMzMuMTgtMjcuMi0zOS4yMi00MC43LTExLjg2LTI0LjkgNTQuOTQtNDcuMiAxNDcuMjQtNTYuOSAxNDYuMTQtOC40LS45LTMxLjEtOTguNy00My4xLTE2Ny4zMi0yLjEtMTEuNzQtMTIuMi0xOC4wNC0yMS45LTE4LjJ6IiBmaWxsPSIjZmZmIiBmaWxsLW9wYWNpdHk9IjEiPjwvcGF0aD48L2c+PC9zdmc+
data:image/svg+xml;base64,PHN2ZyBzdHlsZT0iaGVpZ2h0OiA1MTJweDsgd2lkdGg6IDUxMnB4OyIgeG1sbnM9Imh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnIiB2aWV3Qm94PSIwIDAgNTEyIDUxMiI+PGcgY2xhc3M9IiIgc3R5bGU9IiIgdHJhbnNmb3JtPSJ0cmFuc2xhdGUoMCwwKSI+PHBhdGggZD0iTTE0My42MjcgMzYuMzYxYy0yLjE4IDAtMTYuNDk1IDM4LjMwMy0xOC4yNTggMzkuNTg0LTEuNzYzIDEuMjgxLTQyLjYxNSAzLjA2LTQzLjI4OSA1LjEzMy0uNjczIDIuMDczIDMxLjMzIDI3LjUyMyAzMi4wMDQgMjkuNTk2LjY3NCAyLjA3My0xMC4yNiA0MS40NzUtOC40OTYgNDIuNzU2IDEuNzYzIDEuMjggMzUuODYtMjEuMjkxIDM4LjAzOS0yMS4yOTEgMi4xOCAwIDM2LjI3NiAyMi41NzIgMzguMDM5IDIxLjI5IDEuNzYzLTEuMjgtOS4xNy00MC42ODItOC40OTYtNDIuNzU1LjY3My0yLjA3MyAzMi42NzctMjcuNTIzIDMyLjAwNC0yOS41OTYtLjY3NC0yLjA3My00MS41MjYtMy44NTItNDMuMjktNS4xMzMtMS43NjMtMS4yOC0xNi4wNzctMzkuNTg0LTE4LjI1Ny0zOS41ODR6bTIyNC43NDYgMGMtMi4xOCAwLTE2LjQ5NCAzOC4zMDMtMTguMjU4IDM5LjU4NC0xLjc2MyAxLjI4MS00Mi42MTUgMy4wNi00My4yODkgNS4xMzMtLjY3MyAyLjA3MyAzMS4zMyAyNy41MjMgMzIuMDA0IDI5LjU5Ni42NzQgMi4wNzMtMTAuMjYgNDEuNDc1LTguNDk2IDQyLjc1NiAxLjc2MyAxLjI4IDM1Ljg2LTIxLjI5MSAzOC4wMzktMjEuMjkxIDIuMTggMCAzNi4yNzYgMjIuNTcyIDM4LjA0IDIxLjI5IDEuNzYyLTEuMjgtOS4xNy00MC42ODItOC40OTctNDIuNzU1LjY3NC0yLjA3MyAzMi42NzctMjcuNTIzIDMyLjAwNC0yOS41OTYtLjY3NC0yLjA3My00MS41MjYtMy44NTItNDMuMjktNS4xMzMtMS43NjItMS4yOC0xNi4wNzctMzkuNTg0LTE4LjI1Ny0zOS41ODR6TTI1NiAzOS44ODNjLTcuMTIgMC01My44ODQgMTI1LjEyMy01OS42NDUgMTI5LjMwOC01Ljc2IDQuMTg1LTEzOS4yMTEgOS45OTYtMTQxLjQxMiAxNi43NjgtMi4yIDYuNzcyIDEwMi4zNDkgODkuOTEyIDEwNC41NSA5Ni42ODQgMi4yIDYuNzcxLTMzLjUxMyAxMzUuNDg2LTI3Ljc1MyAxMzkuNjcxQzEzNy41IDQyNi41IDI0OC44OCAzNTIuNzYgMjU2IDM1Mi43NmM3LjEyIDAgMTE4LjUgNzMuNzQgMTI0LjI2IDY5LjU1NCA1Ljc2LTQuMTg1LTI5Ljk1Mi0xMzIuOS0yNy43NTItMTM5LjY3MSAyLjItNi43NzIgMTA2Ljc0OS04OS45MTIgMTA0LjU0OS05Ni42ODQtMi4yLTYuNzcyLTEzNS42NTItMTIuNTgzLTE0MS40MTItMTYuNzY4LTUuNzYtNC4xODUtNTIuNTI1LTEyOS4zMDgtNTkuNjQ1LTEyOS4zMDh6TTc3Ljk3MyAyNDMuMTAyYy0yLjE4IDAtMTYuNDk1IDM4LjMwMi0xOC4yNTggMzkuNTg0LTEuNzYzIDEuMjgtNDIuNjE2IDMuMDYtNDMuMjkgNS4xMzItLjY3MyAyLjA3MyAzMS4zMzMgMjcuNTIzIDMyLjAwNyAyOS41OTYuNjczIDIuMDczLTEwLjI2IDQxLjQ3NS04LjQ5NiA0Mi43NTYgMS43NjMgMS4yODEgMzUuODU3LTIxLjI5MSAzOC4wMzctMjEuMjkxIDIuMTggMCAzNi4yNzUgMjIuNTcyIDM4LjAzOSAyMS4yOSAxLjc2My0xLjI4LTkuMTctNDAuNjgyLTguNDk2LTQyLjc1NS42NzMtMi4wNzMgMzIuNjc5LTI3LjUyMyAzMi4wMDUtMjkuNTk2LS42NzMtMi4wNzMtNDEuNTI1LTMuODUxLTQzLjI4OS01LjEzMi0xLjc2My0xLjI4Mi0xNi4wOC0zOS41ODQtMTguMjYtMzkuNTg0em0zNTYuMDU0IDBjLTIuMTggMC0xNi40OTYgMzguMzAyLTE4LjI2IDM5LjU4NC0xLjc2MyAxLjI4LTQyLjYxNSAzLjA2LTQzLjI4OCA1LjEzMi0uNjc0IDIuMDczIDMxLjMzMiAyNy41MjMgMzIuMDA1IDI5LjU5Ni42NzQgMi4wNzMtMTAuMjYgNDEuNDc1LTguNDk2IDQyLjc1NiAxLjc2NCAxLjI4MSAzNS44Ni0yMS4yOTEgMzguMDQtMjEuMjkxIDIuMTc5IDAgMzYuMjczIDIyLjU3MiAzOC4wMzYgMjEuMjkgMS43NjQtMS4yOC05LjE3LTQwLjY4Mi04LjQ5Ni00Mi43NTUuNjc0LTIuMDczIDMyLjY4LTI3LjUyMyAzMi4wMDYtMjkuNTk2LS42NzMtMi4wNzMtNDEuNTI2LTMuODUxLTQzLjI4OS01LjEzMi0xLjc2My0xLjI4Mi0xNi4wNzgtMzkuNTg0LTE4LjI1OC0zOS41ODR6TTI1NiAzNjkuOTMyYy0yLjE4IDAtMTYuNDk0IDM4LjMwMi0xOC4yNTggMzkuNTg0LTEuNzYzIDEuMjgtNDIuNjE1IDMuMDYtNDMuMjg5IDUuMTMyLS42NzMgMi4wNzMgMzEuMzMgMjcuNTI1IDMyLjAwNCAyOS41OTguNjc0IDIuMDczLTEwLjI2IDQxLjQ3NS04LjQ5NiA0Mi43NTYgMS43NjMgMS4yODEgMzUuODYtMjEuMjkzIDM4LjAzOS0yMS4yOTMgMi4xOCAwIDM2LjI3NiAyMi41NzQgMzguMDQgMjEuMjkzIDEuNzYyLTEuMjgxLTkuMTctNDAuNjgzLTguNDk3LTQyLjc1Ni42NzMtMi4wNzMgMzIuNjc3LTI3LjUyNSAzMi4wMDQtMjkuNTk4LS42NzQtMi4wNzItNDEuNTI2LTMuODUxLTQzLjI5LTUuMTMyLTEuNzYzLTEuMjgyLTE2LjA3Ny0zOS41ODQtMTguMjU3LTM5LjU4NHoiIGZpbGw9IiNmZmYiIGZpbGwtb3BhY2l0eT0iMSI+PC9wYXRoPjwvZz48L3N2Zz4=
data:image/svg+xml;base64,PD94bWwgdmVyc2lvbj0iMS4wIiBlbmNvZGluZz0iVVRGLTgiIHN0YW5kYWxvbmU9Im5vIj8+CjxzdmcKICAgeG1sbnM6ZGM9Imh0dHA6Ly9wdXJsLm9yZy9kYy9lbGVtZW50cy8xLjEvIgogICB4bWxuczpjYz0iaHR0cDovL2NyZWF0aXZlY29tbW9ucy5vcmcvbnMjIgogICB4bWxuczpyZGY9Imh0dHA6Ly93d3cudzMub3JnLzE5OTkvMDIvMjItcmRmLXN5bnRheC1ucyMiCiAgIHhtbG5zOnN2Zz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciCiAgIHhtbG5zPSJodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2ZyIKICAgeG1sbnM6c29kaXBvZGk9Imh0dHA6Ly9zb2RpcG9kaS5zb3VyY2Vmb3JnZS5uZXQvRFREL3NvZGlwb2RpLTAuZHRkIgogICB4bWxuczppbmtzY2FwZT0iaHR0cDovL3d3dy5pbmtzY2FwZS5vcmcvbmFtZXNwYWNlcy9pbmtzY2FwZSIKICAgc3R5bGU9ImhlaWdodDogNTEycHg7IHdpZHRoOiA1MTJweDsiCiAgIHZpZXdCb3g9IjAgMCA1MTIgNTEyIgogICB2ZXJzaW9uPSIxLjEiCiAgIGlkPSJzdmcxNTQ2IgogICBzb2RpcG9kaTpkb2NuYW1lPSJzdGFyX2R3YXJmLnN2ZyIKICAgaW5rc2NhcGU6dmVyc2lvbj0iMS4wICg0MDM1YTRmYjQ5LCAyMDIwLTA1LTAxKSI+CiAgPG1ldGFkYXRhCiAgICAgaWQ9Im1ldGFkYXRhMTU1MiI+CiAgICA8cmRmOlJERj4KICAgICAgPGNjOldvcmsKICAgICAgICAgcmRmOmFib3V0PSIiPgogICAgICAgIDxkYzpmb3JtYXQ+aW1hZ2Uvc3ZnK3htbDwvZGM6Zm9ybWF0PgogICAgICAgIDxkYzp0eXBlCiAgICAgICAgICAgcmRmOnJlc291cmNlPSJodHRwOi8vcHVybC5vcmcvZGMvZGNtaXR5cGUvU3RpbGxJbWFnZSIgLz4KICAgICAgICA8ZGM6dGl0bGU+PC9kYzp0aXRsZT4KICAgICAgPC9jYzpXb3JrPgogICAgPC9yZGY6UkRGPgogIDwvbWV0YWRhdGE+CiAgPGRlZnMKICAgICBpZD0iZGVmczE1NTAiIC8+CiAgPHNvZGlwb2RpOm5hbWVkdmlldwogICAgIGlua3NjYXBlOmRvY3VtZW50LXJvdGF0aW9uPSIwIgogICAgIHBhZ2Vjb2xvcj0iIzAwMDAwMCIKICAgICBib3JkZXJjb2xvcj0iIzY2NjY2NiIKICAgICBib3JkZXJvcGFjaXR5PSIxIgogICAgIG9iamVjdHRvbGVyYW5jZT0iMTAiCiAgICAgZ3JpZHRvbGVyYW5jZT0iMTAiCiAgICAgZ3VpZGV0b2xlcmFuY2U9IjEwIgogICAgIGlua3NjYXBlOnBhZ2VvcGFjaXR5PSIwIgogICAgIGlua3NjYXBlOnBhZ2VzaGFkb3c9IjIiCiAgICAgaW5rc2NhcGU6d2luZG93LXdpZHRoPSIxOTIwIgogICAgIGlua3NjYXBlOndpbmRvdy1oZWlnaHQ9IjEwMTciCiAgICAgaWQ9Im5hbWVkdmlldzE1NDgiCiAgICAgc2hvd2dyaWQ9ImZhbHNlIgogICAgIGlua3NjYXBlOnpvb209IjEuMTczOTA3NyIKICAgICBpbmtzY2FwZTpjeD0iMjAwLjIxNjkiCiAgICAgaW5rc2NhcGU6Y3k9IjMxNS42MzExNiIKICAgICBpbmtzY2FwZTp3aW5kb3cteD0iLTgiCiAgICAgaW5rc2NhcGU6d2luZG93LXk9Ii04IgogICAgIGlua3NjYXBlOndpbmRvdy1tYXhpbWl6ZWQ9IjEiCiAgICAgaW5rc2NhcGU6Y3VycmVudC1sYXllcj0ic3ZnMTU0NiIgLz4KICA8cGF0aAogICAgIGQ9Ik0wIDBoNTEydjUxMkgweiIKICAgICBmaWxsPSIjMDAwIgogICAgIGZpbGwtb3BhY2l0eT0iMCIKICAgICBpZD0icGF0aDE1MjIiIC8+CiAgPHBhdGgKICAgICBpZD0icGF0aDE1MzAiCiAgICAgc3R5bGU9ImZpbGw6I2ZmZmZmZjtmaWxsLW9wYWNpdHk6MTtzdHJva2Utd2lkdGg6MC42Mjk4NDIiCiAgICAgZD0ibSAyNTYuMDAwMDEsMTI4LjAwMDEzIGMgLTAuOTQ5NTQsMS41ODI1NiAtMS45MDg4MSwzLjE1NTMyIC0yLjg3NzM0LDQuNzE4ODcgLTEuOTM3NCwzLjEyNzcyIC0zLjkxMjY1LDYuMjE3MTYgLTUuOTI1NjQsOS4yNjkyMiAtMi4wMTMsMy4wNTIwNiAtNC4wNjM4Niw2LjA2NTk5IC02LjE1Miw5LjA0Mjg3IC0xLjA0NDA5LDEuNDg4NDQgLTIuMDk3NSwyLjk2NzQzIC0zLjE2MDI3LDQuNDM3MTcgLTIuMTI1NTYsMi45Mzk0NiAtNC4yODkwNCw1Ljg0MjA1IC02LjQ4OTA2LDguNzA3MDMgLTAuMTc2NDIsLTAuMDczIC0wLjM1MTQxLC0wLjE1MDYzIC0wLjUyNzc1LC0wLjIyMzg5IC0zLjE4MjMxLC0xLjMyMjk1IC02LjM1MjEyLC0yLjY5NDQ0IC05LjUwOTA5LC00LjExMTE4IHYgMC4wMSBjIC05LjkwOTQ4LC00LjQ0MDYzIC0xOS42OTUwNiwtOS4zMzg5MSAtMjkuMzU3NjMsLTE0LjcwMjgyIC0wLjI0ODE1LDE0Ljc2NTMyIC0xLjMzMDM2LDI5LjMwNjY5IC0zLjIyMTc3LDQzLjYzMTExIC0xNC4zMjQ0MywxLjg5MTQxIC0yOC44NjUyLDIuOTcyMzkgLTQzLjYyOTg4LDMuMjIwNTQgNy4xNjc1NywxMi45MTE3MSAxMy41MDMxLDI2LjA0NDM2IDE5LjAyNjgsMzkuMzk1NjkgLTExLjQ1OTkyLDguODAwMTMgLTIzLjUxMzQ3LDE3LjAwNjU3IC0zNi4xNzYzOCwyNC42MDQzMyAxMi42NjI5MSw3LjU5Nzc0IDI0LjcxNzA4LDE1LjgwNDI0IDM2LjE3NjM4LDI0LjYwMzA5IC01LjUyMzcsMTMuMzUyNTggLTExLjg2MDQ3LDI2LjQ4NTIyIC0xOS4wMjgwMywzOS4zOTY5MSAxNC43NjUzMiwwLjI0ODE3IDI5LjMwNjY4LDEuMzI5MTQgNDMuNjMxMTEsMy4yMjA1NSAxLjg5MTQxLDE0LjMyNDQxIDIuOTcyNCwyOC44NjY0MSAzLjIyMDU1LDQzLjYzMTEgMTIuOTExNywtNy4xNjc1NyAyNi4wNDQzNSwtMTMuNTA0MzQgMzkuMzk1NjksLTE5LjAyODAzIDMuMzMzNSw0LjM0MTA1IDYuNTgxNzcsOC43Njg0MiA5Ljc0NDAzLDEzLjI4MDc2IDEuMWUtNCwwLjAwMiAtOWUtNSwwLjAwMiAwLDAuMDAyIDEuMTg1ODYsMS42OTE5NCAyLjM1NjY3LDMuMzk4OTYgMy41MTgyNCw1LjExNDk4IDAuMzMzNjcsMC40OTMwMiAwLjY2MzU2LDAuOTg5OCAwLjk5NTIyLDEuNDg0NzkgMC44NTQ5NCwxLjI3NTgyIDEuNzAzNTgsMi41NTc1NSAyLjU0NTE3LDMuODQ2NzEgMC4zNjA1LDAuNTUyMzIgMC43MTk1NiwxLjEwNTkzIDEuMDc3NjMsMS42NjA3IDAuODA3NDIsMS4yNTA4NiAxLjYwNzU1LDIuNTA5NDYgMi40MDI0OCwzLjc3Mjg5IDAuMzQ1NjYsMC41NDk0IDAuNjkzNzMsMS4wOTY2MyAxLjAzNzAyLDEuNjQ4NDEgMS4xMDU4NywxLjc3NzQ1IDIuMjAzMjYsMy41NjM1OSAzLjI4NDUyLDUuMzY1OTMgMS4wODEyNCwtMS44MDIzNCAyLjE3ODYzLC0zLjU4ODQ4IDMuMjg0NSwtNS4zNjU5MyAwLjM0MzI5LC0wLjU1MTc4IDAuNjkxMzgsLTEuMDk5MDEgMS4wMzcwMywtMS42NDg0MSAwLjc5NDkyLC0xLjI2MzQzIDEuNTk1MDUsLTIuNTIyMDIgMi40MDI0OCwtMy43NzI4OSAwLjM1ODA3LC0wLjU1NDc3IDAuNzE3MTIsLTEuMTA4MzggMS4wNzc2MywtMS42NjA3IDAuODQxNTksLTEuMjg5MTYgMS42OTAyNCwtMi41NzA4OCAyLjU0NTE3LC0zLjg0NjcxIDAuMzMxNjcsLTAuNDk0OTkgMC42NjE1NiwtMC45OTE3OCAwLjk5NTIxLC0xLjQ4NDc5IDEuMTYxNTgsLTEuNzE2MDIgMi4zMzIzOSwtMy40MjMwNCAzLjUxODI0LC01LjExNDk4IDEwZS01LC0wLjAwMiAtMWUtNCwtMC4wMDIgMCwtMC4wMDIgMy4xNjIyNiwtNC41MTIzNCA2LjQxMDU0LC04LjkzOTcxIDkuNzQ0MDQsLTEzLjI4MDc2IDEzLjM1MTMzLDUuNTIzNjkgMjYuNDg0MDEsMTEuODYwNDYgMzkuMzk1NjksMTkuMDI4MDMgMC4yNDgxNSwtMTQuNzY0NjggMS4zMjkxNCwtMjkuMzA2NjkgMy4yMjA1NSwtNDMuNjMxMSAxNC4zMjQ0MywtMS44OTE0MSAyOC44NjU3OSwtMi45NzIzOSA0My42MzEwOSwtMy4yMjA1NSAtNy4xNjc1NSwtMTIuOTExNyAtMTMuNTA0MzEsLTI2LjA0NDMzIC0xOS4wMjgsLTM5LjM5NjkxIDExLjQ1OTI4LC04Ljc5ODg1IDIzLjUxMzQ1LC0xNy4wMDUzNCAzNi4xNzYzNiwtMjQuNjAzMDkgLTEyLjY2MjkxLC03LjU5Nzc1IC0yNC43MTY0NSwtMTUuODA0MiAtMzYuMTc2MzYsLTI0LjYwNDMxIDUuNTIzNjksLTEzLjM1MTMyIDExLjg1OTIyLC0yNi40ODM5OCAxOS4wMjY3OSwtMzkuMzk1NjkgLTE0Ljc2NDY5LC0wLjI0ODE1IC0yOS4zMDU0NSwtMS4zMjkxMyAtNDMuNjI5ODgsLTMuMjIwNTQgLTEuODkxNDEsLTE0LjMyNDQzIC0yLjk3MzYyLC0yOC44NjU3OSAtMy4yMjE3OCwtNDMuNjMxMTEgLTkuNjYyNTYsNS4zNjM5MSAtMTkuNDQ4MTQsMTAuMjYyMiAtMjkuMzU3NjMsMTQuNzAyODEgdiAtMC4wMSBjIC0zLjE1Njk1LDEuNDE2NzUgLTYuMzI2NzcsMi43ODgyMyAtOS41MDkwOSw0LjExMTE3IC0wLjE3NjMyLDAuMDczMyAtMC4zNTEzMywwLjE1MDkxIC0wLjUyNzc0LDAuMjIzODggLTIuMjAwMDIsLTIuODY0OTcgLTQuMzYzNSwtNS43Njc1NiAtNi40ODkwNywtOC43MDcwMiAtMS4wNjI3NSwtMS40Njk3NCAtMi4xMTYxNywtMi45NDg3MyAtMy4xNjAyNSwtNC40MzcxNyAtMi4wODgxNSwtMi45NzY4OCAtNC4xMzksLTUuOTkwODEgLTYuMTUyLC05LjA0Mjg2IC0yLjAxMywtMy4wNTIwNiAtMy45ODgyNSwtNi4xNDE0OSAtNS45MjU2NSwtOS4yNjkyMiAtMC45Njg0MiwtMS41NjMzNyAtMS45Mjc5LC0zLjEzNjQ5IC0yLjg3NzMzLC00LjcxODg4IHogbSAwLDM2Ljk5ODEzIGMgMC43NzQzNywwIDEuNTQ2NTgsMC4wMTAyIDIuMzE2MzcsMC4wMjk1IDAuMzQ1NTQsMC4wMDkgMC42ODg3NiwwLjAyNTUgMS4wMzMzMywwLjAzODEgMC40MTk3LDAuMDE1MyAwLjg0MDIsMC4wMjcgMS4yNTg0NiwwLjA0OCAwLjQ4MzgzLDAuMDI0MyAwLjk2NDgzLDAuMDU3OSAxLjQ0NjY2LDAuMDg5OCAwLjI3MzMxLDAuMDE4IDAuNTQ3ODUsMC4wMzI0IDAuODIwNSwwLjA1MjkgMC43Mzg0OSwwLjA1NTUgMS40NzQ2NiwwLjExOTkgMi4yMDgxMywwLjE5MzE0IDAuNjUyMjksMC4wNjUxIDEuMzAxNjMsMC4xMzg4MSAxLjk0OTgsMC4yMTc3MiAwLjEwNjAzLDAuMDEyOCAwLjIxMjY5LDAuMDIzNyAwLjMxODYxLDAuMDM2OSAwLjcyOTUsMC4wOTE0IDEuNDU2OTksMC4xOTE0NyAyLjE4MTA2LDAuMzAwMTYgNy4zNTkwOCwxLjEwNDczIDE0LjQzMTEzLDMuMDk0ODEgMjEuMTA4MjEsNS44NTQyOSB2IC0wLjAwNyBjIDMzLjA1MDMsMTMuNjUwMDQgNTYuMzYwNzUsNDYuMjE3MjkgNTYuMzYwNzYsODQuMTQ4NyAwLDQzLjI1OTc1IC0zMC4zMTY3LDc5LjU0NTQ2IC03MC44MjYxMyw4OC43NDQ1NSAtMC43NzkxNSwwLjE3NzA1IC0xLjU2MzA3LDAuMzQyNTMgLTIuMzQ5NjEsMC40OTk0NCAtMC4xMTg2NywwLjAyMzYgLTAuMjM3ODksMC4wNDU3IC0wLjM1Njc1LDAuMDY4OSAtMC42NTMwMSwwLjEyNzU1IC0xLjMwNzg2LDAuMjQ4MiAtMS45NjU3NywwLjM2MTY4IC0wLjIxNjQ1LDAuMDM3MyAtMC40MzM4LDAuMDcyNSAtMC42NTA3NSwwLjEwODI0IC0wLjU3MTYxLDAuMDk0MyAtMS4xNDQ2NiwwLjE4NDYgLTEuNzE5NzYsMC4yNjgxOCAtMC4yNjIwNSwwLjAzNzkgLTAuNTI0NTQsMC4wNzM3IC0wLjc4NzMsMC4xMDk0OCAtMC41NDA5LDAuMDczOCAtMS4wODM2MiwwLjE0MjQ3IC0xLjYyNzQ5LDAuMjA2NjcgLTAuMjY4NzksMC4wMzE3IC0wLjUzNzUsMC4wNjMgLTAuODA2OTgsMC4wOTIyIC0wLjU0ODU3LDAuMDU5OCAtMS4wOTk0NCwwLjExMzY3IC0xLjY1MDg3LDAuMTYzNjIgLTAuMjc1ODIsMC4wMjQ4IC0wLjU1MTM5LDAuMDUwMSAtMC44Mjc4OSwwLjA3MjUgLTAuNTUzNzQsMC4wNDUgLTEuMTA5MTcsMC4wODMxIC0xLjY2NTYzLDAuMTE4MTEgLTAuMjYzNjYsMC4wMTY1IC0wLjUyNjczLDAuMDM0OSAtMC43OTEsMC4wNDkyIC0wLjU2MjQ0LDAuMDMwNSAtMS4xMjc2LDAuMDUyNSAtMS42OTI2OCwwLjA3MjYgLTAuMjc0NTEsMC4wMSAtMC41NDc4NiwwLjAyMzMgLTAuODIyOTgsMC4wMzA4IC0wLjgxNzcsMC4wMjE4IC0xLjYzNzQxLDAuMDM0NCAtMi40NjAzLDAuMDM0NCAtMC44MjI5LDAgLTEuNjQyNjEsLTAuMDEyNiAtMi40NjAzLC0wLjAzNDQgLTAuMjc1MTIsLTAuMDA4IC0wLjU0ODQ4LC0wLjAyMDkgLTAuODIyOTksLTAuMDMwOCAtMC41NjUwOCwtMC4wMjAzIC0xLjEzMDI0LC0wLjA0MiAtMS42OTI2OCwtMC4wNzI2IC0wLjI2NDI3LC0wLjAxNDMgLTAuNTI3MzQsLTAuMDMyNyAtMC43OTEsLTAuMDQ5MiAtMC41NTY0NywtMC4wMzUgLTEuMTExODksLTAuMDczMSAtMS42NjU2MywtMC4xMTgxMSAtMC4yNzY1LC0wLjAyMjQgLTAuNTUyMDgsLTAuMDQ3NiAtMC44Mjc4OSwtMC4wNzI1IC0wLjU1MTQzLC0wLjA1IC0xLjEwMjMsLTAuMTAzODQgLTEuNjUwODYsLTAuMTYzNjIgLTAuMjY5NSwtMC4wMjkzIC0wLjUzODIsLTAuMDYwNiAtMC44MDcsLTAuMDkyMiAtMC41NDM4NSwtMC4wNjQyIC0xLjA4NjU4LC0wLjEzMjkgLTEuNjI3NDgsLTAuMjA2NjcgLTAuMjYyNzYsLTAuMDM1OCAtMC41MjUyNCwtMC4wNzE1IC0wLjc4NzMxLC0wLjEwOTQ4IC0wLjU3NTA5LC0wLjA4MzYgLTEuMTQ4MTQsLTAuMTczODcgLTEuNzE5NzYsLTAuMjY4MTggLTAuMjE2OTUsLTAuMDM1NyAtMC40MzQzLC0wLjA3MSAtMC42NTA3NCwtMC4xMDgyNCAtMC42NTc5MSwtMC4xMTM0OSAtMS4zMTI3NiwtMC4yMzQxMyAtMS45NjU3OCwtMC4zNjE2OCAtMC4xMTg4NSwtMC4wMjMyIC0wLjIzODA4LC0wLjA0NTMgLTAuMzU2NzUsLTAuMDY4OSAtMC43ODY1MywtMC4xNTY5MSAtMS41NzA0NCwtMC4zMjIzOSAtMi4zNDk2LC0wLjQ5OTQ0IC00MC41MDk0MiwtOS4xOTkwNyAtNzAuODI2MTMsLTQ1LjQ4NDc5IC03MC44MjYxMywtODguNzQ0NTUgMCwtMzcuOTMxMzkgMjMuMzEwNDUsLTcwLjQ5ODY1IDU2LjM2MDc1LC04NC4xNDg2OSB2IDAuMDA3IGMgNi42NzcwOCwtMi43NTk0OCAxMy43NDkxNSwtNC43NDk1NiAyMS4xMDgyMiwtNS44NTQzIDAuNzI0MDYsLTAuMTA4NyAxLjQ1MTU1LC0wLjIwODcyIDIuMTgxMDYsLTAuMzAwMTUgMC4xMDU5MSwtMC4wMTMzIDAuMjEyNTksLTAuMDI0IDAuMzE4NjEsLTAuMDM2OSAwLjY0ODE2LC0wLjA3ODkgMS4yOTc1MSwtMC4xNTI2MSAxLjk0OTc5LC0wLjIxNzc0IDAuNzMzNDcsLTAuMDczMiAxLjQ2OTY1LC0wLjEzNzUzIDIuMjA4MTMsLTAuMTkzMTQgMC4yNzI2NiwtMC4wMjA0IDAuNTQ3MiwtMC4wMzQ5IDAuODIwNTEsLTAuMDUzIDAuNDgxODMsLTAuMDMxOCAwLjk2MjgzLC0wLjA2NTUgMS40NDY2NiwtMC4wODk4IDAuNDE4MjYsLTAuMDIwOSAwLjgzODc2LC0wLjAzMjggMS4yNTg0NSwtMC4wNDggMC4zNDQ1OCwtMC4wMTI1IDAuNjg3OCwtMC4wMjkzIDEuMDMzMzQsLTAuMDM4MSAwLjc2OTY1LC0wLjAxOTQgMS41NDIwNywtMC4wMjk1IDIuMzE2MzgsLTAuMDI5NSB6IG0gMCwxMS4zMzU4NiBjIC0wLjc0MDI4LDAgLTEuNDc3NywwLjAxMiAtMi4yMTMwNSwwLjAzMTkgLTAuMTk1NjksMC4wMDYgLTAuMzkwMjQsMC4wMTU0IC0wLjU4NTU2LDAuMDIyMSAtMC41NTE2MSwwLjAxOSAtMS4xMDIxOCwwLjA0MTIgLTEuNjUwODYsMC4wNzE0IC0wLjIwOTYxLDAuMDExNSAtMC40MTgyMSwwLjAyNjIgLTAuNjI3MzgsMC4wMzk0IC0wLjUyMzU5LDAuMDMyOCAtMS4wNDY0NSwwLjA2OTEgLTEuNTY3MjIsMC4xMTE5NSAtMC4yMTc3MiwwLjAxNzkgLTAuNDM0NzYsMC4wMzgxIC0wLjY1MTk3LDAuMDU3OCAtMC41MzQ3MywwLjA0ODQgLTEuMDY3NjUsMC4xMDIzNSAtMS41OTkyMiwwLjE2MTE2IC0wLjE4NDY1LDAuMDIwNSAtMC4zNjkyNiwwLjA0MDkgLTAuNTUzNTYsMC4wNjI3IC0wLjU4Mzg2LDAuMDY4NyAtMS4xNjU3MSwwLjE0Mzg5IC0xLjc0NTU5LDAuMjI1MTIgLTAuMTIyNTcsMC4wMTczIC0wLjI0NTQzLDAuMDMzOSAtMC4zNjc4MSwwLjA1MTYgLTAuNjgzOTEsMC4wOTkgLTEuMzY1MTgsMC4yMDYwNiAtMi4wNDMyOSwwLjMyMjMxIC0wLjAyNDYsMC4wMDQgLTAuMDQ5MiwwLjAwOCAtMC4wNzM4LDAuMDEyMyAtMzcuNTI0MTEsNi40Njg3MyAtNjUuOTg1NDcsMzkuMDk1OTYgLTY1Ljk4NTQ3LDc4LjQ5NDkyIDAsMzkuMzk4OTUgMjguNDYxMzYsNzIuMDI2MTYgNjUuOTg1NDcsNzguNDk0ODkgMC4wMjQ2LDAuMDA0IDAuMDQ5MiwwLjAwOCAwLjA3MzgsMC4wMTIzIDAuNjc4MTEsMC4xMTYyNyAxLjM1OTM4LDAuMjIzMjUgMi4wNDMyOSwwLjMyMjMgMC4xMjIzOCwwLjAxNzggMC4yNDUyNCwwLjAzNDQgMC4zNjc4MSwwLjA1MTYgMC41Nzk4OCwwLjA4MTIgMS4xNjE3MywwLjE1NjM5IDEuNzQ1NTksMC4yMjUxMSAwLjE4NDMsMC4wMjE4IDAuMzY4OTEsMC4wNDIzIDAuNTUzNTYsMC4wNjI4IDAuNTMxNTcsMC4wNTg4IDEuMDY0NDksMC4xMTI3OSAxLjU5OTIyLDAuMTYxMTQgMC4yMTcyMSwwLjAxOTcgMC40MzQyNSwwLjAzOTkgMC42NTE5NywwLjA1NzkgMC41MjA3NywwLjA0MjkgMS4wNDM2MywwLjA3OTEgMS41NjcyMiwwLjExMTk0IDAuMjA5MTcsMC4wMTMyIDAuNDE3NzcsMC4wMjc5IDAuNjI3MzgsMC4wMzk0IDAuNTQ4NjgsMC4wMzAxIDEuMDk5MjUsMC4wNTI1IDEuNjUwODYsMC4wNzE0IDAuMTk1MzIsMC4wMDcgMC4zODk4NywwLjAxNjggMC41ODU1NiwwLjAyMjIgMC43MzUzNSwwLjAyIDEuNDcyNzcsMC4wMzE5IDIuMjEzMDUsMC4wMzE5IDAuNzQwMjYsMCAxLjQ3NzY5LC0wLjAxMiAyLjIxMzA1LC0wLjAzMTkgMC4xOTU2NywtMC4wMDYgMC4zOTAyMywtMC4wMTU0IDAuNTg1NTUsLTAuMDIyMiAwLjU1MTYxLC0wLjAxODkgMS4xMDIxOCwtMC4wNDEyIDEuNjUwODUsLTAuMDcxNCAwLjIwOTYyLC0wLjAxMTUgMC40MTgyMiwtMC4wMjYyIDAuNjI3NCwtMC4wMzk0IDAuNTIzNTksLTAuMDMyOCAxLjA0NjQzLC0wLjA2OTEgMS41NjcyMSwtMC4xMTE5NCAwLjIxNzczLC0wLjAxNzkgMC40MzQ3NiwtMC4wMzggMC42NTE5OCwtMC4wNTc5IDAuNTM0NzEsLTAuMDQ4NSAxLjA2NzY0LC0wLjEwMjMzIDEuNTk5MjEsLTAuMTYxMTQgMC4xODQ2NiwtMC4wMjA0IDAuMzY5MjYsLTAuMDQwOSAwLjU1MzU3LC0wLjA2MjggMC41ODM4NCwtMC4wNjg3IDEuMTY1NywtMC4xNDM4OCAxLjc0NTU4LC0wLjIyNTExIDAuMTIyNTcsLTAuMDE3MiAwLjI0NTQzLC0wLjAzMzkgMC4zNjc4MSwtMC4wNTE2IDAuNjgzOTEsLTAuMDk5MSAxLjM2NTE4LC0wLjIwNjAzIDIuMDQzMjksLTAuMzIyMyAwLjAyNDYsLTAuMDA0IDAuMDQ5MywtMC4wMDggMC4wNzM4LC0wLjAxMjMgMzcuNTI0MTEsLTYuNDY4NzMgNjUuOTg1NDYsLTM5LjA5NTk0IDY1Ljk4NTQ4LC03OC40OTQ4OSAwLC0zOS4zOTg5NiAtMjguNDYxMzcsLTcyLjAyNjE5IC02NS45ODU0OCwtNzguNDk0OTIgLTAuMDI0NiwtMC4wMDQgLTAuMDQ5MywtMC4wMDggLTAuMDczOCwtMC4wMTIzIC0wLjY3ODExLC0wLjExNjI1IC0xLjM1OTM4LC0wLjIyMzI2IC0yLjA0MzI5LC0wLjMyMjMxIC0wLjEyMjM4LC0wLjAxNzggLTAuMjQ1MjQsLTAuMDM0NCAtMC4zNjc4MSwtMC4wNTE2IC0wLjU3OTg4LC0wLjA4MTIgLTEuMTYxNzQsLTAuMTU2NCAtMS43NDU1OCwtMC4yMjUxMiAtMC4xODQzMSwtMC4wMjE4IC0wLjM2ODkxLC0wLjA0MjIgLTAuNTUzNTcsLTAuMDYyNyAtMC41MzE1NywtMC4wNTg5IC0xLjA2NDUsLTAuMTEyODEgLTEuNTk5MjEsLTAuMTYxMTYgLTAuMjE3MjIsLTAuMDE5OCAtMC40MzQyNSwtMC4wMzk5IC0wLjY1MTk4LC0wLjA1NzggLTAuNTIwNzgsLTAuMDQyOSAtMS4wNDM2MiwtMC4wNzkxIC0xLjU2NzIxLC0wLjExMTk1IC0wLjIwOTE4LC0wLjAxMzIgLTAuNDE3NzgsLTAuMDI3OSAtMC42Mjc0LC0wLjAzOTQgLTAuNTQ4NjcsLTAuMDMwMSAtMS4wOTkyNCwtMC4wNTI0IC0xLjY1MDg1LC0wLjA3MTQgLTAuMTk1MzIsLTAuMDA4IC0wLjM4OTg4LC0wLjAxNjkgLTAuNTg1NTUsLTAuMDIyMiAtMC43MzUzNiwtMC4wMTk5IC0xLjQ3Mjc5LC0wLjAzMTkgLTIuMjEzMDUsLTAuMDMxOSB6IiAvPgo8L3N2Zz4K
data:image/svg+xml;base64,PD94bWwgdmVyc2lvbj0iMS4wIiBlbmNvZGluZz0iVVRGLTgiIHN0YW5kYWxvbmU9Im5vIj8+CjxzdmcKICAgeG1sbnM6ZGM9Imh0dHA6Ly9wdXJsLm9yZy9kYy9lbGVtZW50cy8xLjEvIgogICB4bWxuczpjYz0iaHR0cDovL2NyZWF0aXZlY29tbW9ucy5vcmcvbnMjIgogICB4bWxuczpyZGY9Imh0dHA6Ly93d3cudzMub3JnLzE5OTkvMDIvMjItcmRmLXN5bnRheC1ucyMiCiAgIHhtbG5zOnN2Zz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciCiAgIHhtbG5zPSJodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2ZyIKICAgeG1sbnM6c29kaXBvZGk9Imh0dHA6Ly9zb2RpcG9kaS5zb3VyY2Vmb3JnZS5uZXQvRFREL3NvZGlwb2RpLTAuZHRkIgogICB4bWxuczppbmtzY2FwZT0iaHR0cDovL3d3dy5pbmtzY2FwZS5vcmcvbmFtZXNwYWNlcy9pbmtzY2FwZSIKICAgc3R5bGU9ImhlaWdodDogNTEycHg7IHdpZHRoOiA1MTJweDsiCiAgIHZpZXdCb3g9IjAgMCA1MTIgNTEyIgogICB2ZXJzaW9uPSIxLjEiCiAgIGlkPSJzdmcxNTQ2IgogICBzb2RpcG9kaTpkb2NuYW1lPSJzdGFyX2dpYW50LnN2ZyIKICAgaW5rc2NhcGU6dmVyc2lvbj0iMS4wICg0MDM1YTRmYjQ5LCAyMDIwLTA1LTAxKSI+CiAgPG1ldGFkYXRhCiAgICAgaWQ9Im1ldGFkYXRhMTU1MiI+CiAgICA8cmRmOlJERj4KICAgICAgPGNjOldvcmsKICAgICAgICAgcmRmOmFib3V0PSIiPgogICAgICAgIDxkYzpmb3JtYXQ+aW1hZ2Uvc3ZnK3htbDwvZGM6Zm9ybWF0PgogICAgICAgIDxkYzp0eXBlCiAgICAgICAgICAgcmRmOnJlc291cmNlPSJodHRwOi8vcHVybC5vcmcvZGMvZGNtaXR5cGUvU3RpbGxJbWFnZSIgLz4KICAgICAgICA8ZGM6dGl0bGU+PC9kYzp0aXRsZT4KICAgICAgPC9jYzpXb3JrPgogICAgPC9yZGY6UkRGPgogIDwvbWV0YWRhdGE+CiAgPGRlZnMKICAgICBpZD0iZGVmczE1NTAiIC8+CiAgPHNvZGlwb2RpOm5hbWVkdmlldwogICAgIGlua3NjYXBlOmRvY3VtZW50LXJvdGF0aW9uPSIwIgogICAgIHBhZ2Vjb2xvcj0iIzAwMDAwMCIKICAgICBib3JkZXJjb2xvcj0iIzY2NjY2NiIKICAgICBib3JkZXJvcGFjaXR5PSIxIgogICAgIG9iamVjdHRvbGVyYW5jZT0iMTAiCiAgICAgZ3JpZHRvbGVyYW5jZT0iMTAiCiAgICAgZ3VpZGV0b2xlcmFuY2U9IjEwIgogICAgIGlua3NjYXBlOnBhZ2VvcGFjaXR5PSIwIgogICAgIGlua3NjYXBlOnBhZ2VzaGFkb3c9IjIiCiAgICAgaW5rc2NhcGU6d2luZG93LXdpZHRoPSIxOTIwIgogICAgIGlua3NjYXBlOndpbmRvdy1oZWlnaHQ9IjEwMTciCiAgICAgaWQ9Im5hbWVkdmlldzE1NDgiCiAgICAgc2hvd2dyaWQ9ImZhbHNlIgogICAgIGlua3NjYXBlOnpvb209IjEuMTczOTA3NyIKICAgICBpbmtzY2FwZTpjeD0iMjAwLjIxNjkiCiAgICAgaW5rc2NhcGU6Y3k9IjMxNS42MzExNiIKICAgICBpbmtzY2FwZTp3aW5kb3cteD0iLTgiCiAgICAgaW5rc2NhcGU6d2luZG93LXk9Ii04IgogICAgIGlua3NjYXBlOndpbmRvdy1tYXhpbWl6ZWQ9IjEiCiAgICAgaW5rc2NhcGU6Y3VycmVudC1sYXllcj0ic3ZnMTU0NiIgLz4KICA8cGF0aAogICAgIGQ9Ik0wIDBoNTEydjUxMkgweiIKICAgICBmaWxsPSIjMDAwIgogICAgIGZpbGwtb3BhY2l0eT0iMCIKICAgICBpZD0icGF0aDE1MjIiIC8+CiAgPHBhdGgKICAgICBpZD0icGF0aDE1MzAiCiAgICAgc3R5bGU9ImZpbGw6I2ZmZmZmZjtmaWxsLW9wYWNpdHk6MTtzdHJva2Utd2lkdGg6MS4wMDg3MyIKICAgICBkPSJtIDI1Ni4wMDAwMSw1MC45OTk5NiBjIC0xLjUyMDc1LDIuNTM0NTY3IC0zLjA1NzA4LDUuMDUzNDIzIC00LjYwODI0LDcuNTU3NTY3IC0zLjEwMjg3LDUuMDA5MjQxIC02LjI2NjM0LDkuOTU3MTU0IC05LjQ5MDI5LDE0Ljg0NTIyMiAtMy4yMjM5NSw0Ljg4ODA2OCAtNi41MDg1MSw5LjcxNTA1OSAtOS44NTI4LDE0LjQ4MjcxMiAtMS42NzIxNywyLjM4MzgyNCAtMy4zNTkyNyw0Ljc1MjUzNSAtNS4wNjEzNyw3LjEwNjM5OCAtMy40MDQyMiw0LjcwNzcyNyAtNi44NjkxNiw5LjM1NjQxMSAtMTAuMzkyNjQsMTMuOTQ0ODYxIC0wLjI4MjUzLC0wLjExNjg5IC0wLjU2MjgxLC0wLjI0MTI1IC0wLjg0NTIxLC0wLjM1ODU4IC01LjA5NjY3LC0yLjExODc4IC0xMC4xNzMzMywtNC4zMTUyOSAtMTUuMjI5NDEsLTYuNTg0MzEgdiAwLjAxNTggQyAxODQuNjQ5NCw5NC44OTc3MDIgMTY4Ljk3NzE4LDg3LjA1Mjc3NCAxNTMuNTAxOTcsNzguNDYyMTQ4IGMgLTAuMzk3NDMsMjMuNjQ3NTcyIC0yLjEzMDY2LDQ2LjkzNjQ4MiAtNS4xNTk4Niw2OS44Nzc5NTIgLTIyLjk0MTQ4LDMuMDI5MiAtNDYuMjI5NDMsNC43NjA0NyAtNjkuODc1OTg2LDUuMTU3ODkgMTEuNDc5MzA2LDIwLjY3ODkgMjEuNjI2MDY2LDQxLjcxMTY4IDMwLjQ3MjYwNiw2My4wOTQ2NyAtMTguMzUzNzg0LDE0LjA5MzkyIC0zNy42NTgyODUsMjcuMjM3MDYgLTU3LjkzODcyOSwzOS40MDUzMyAyMC4yODA0NDQsMTIuMTY4MjcgMzkuNTg1OTU0LDI1LjMxMTQ3IDU3LjkzODcyOSwzOS40MDMzOCAtOC44NDY1NCwyMS4zODUgLTE4Ljk5NTI2OSw0Mi40MTc3NCAtMzAuNDc0NTc3LDYzLjA5NjYyIDIzLjY0NzU3NywwLjM5NzQ1IDQ2LjkzNjQ3NywyLjEyODcgNjkuODc3OTU3LDUuMTU3OTIgMy4wMjkyLDIyLjk0MTQ0IDQuNzYwNDYsNDYuMjMxMzcgNS4xNTc5LDY5Ljg3Nzk0IDIwLjY3ODg5LC0xMS40NzkzMiA0MS43MTE2NywtMjEuNjI4MDUgNjMuMDk0NjYsLTMwLjQ3NDU4IDUuMzM4ODIsNi45NTI0NyAxMC41NDExMiwxNC4wNDMxNyAxNS42MDU2OSwyMS4yNjk5NiAxLjdlLTQsMC4wMDIgLTEuNWUtNCwwLjAwMyAwLDAuMDA0IDEuODk5MjIsMi43MDk3MyAzLjc3NDM1LDUuNDQzNjUgNS42MzQ2OCw4LjE5MTk2IDAuNTM0MzksMC43ODk1OCAxLjA2MjcyLDEuNTg1MjIgMS41OTM4OSwyLjM3Nzk5IDEuMzY5MjQsMi4wNDMzIDIuNzI4NCw0LjA5NjA3IDQuMDc2MjYsNi4xNjA3MyAwLjU3NzM3LDAuODg0NTggMS4xNTI0MiwxLjc3MTIyIDEuNzI1ODgsMi42NTk3MyAxLjI5MzE0LDIuMDAzMzIgMi41NzQ2MSw0LjAxOTA2IDMuODQ3NzMsNi4wNDI1MSAwLjU1MzU5LDAuODc5OTEgMS4xMTEwNiwxLjc1NjMyIDEuNjYwODUsMi42NDAwMyAxLjc3MTE0LDIuODQ2NjkgMy41Mjg2Niw1LjcwNzMyIDUuMjYwMzYsOC41OTM4NyAxLjczMTY5LC0yLjg4NjU1IDMuNDg5MjEsLTUuNzQ3MTggNS4yNjAzNSwtOC41OTM4NyAwLjU0OTgsLTAuODgzNzEgMS4xMDcyNywtMS43NjAxMiAxLjY2MDg1LC0yLjY0MDAzIDEuMjczMTMsLTIuMDIzNDUgMi41NTQ1OSwtNC4wMzkxOSAzLjg0NzczLC02LjA0MjUxIDAuNTczNDYsLTAuODg4NTEgMS4xNDg1LC0xLjc3NTE1IDEuNzI1ODksLTIuNjU5NzMgMS4zNDc4NiwtMi4wNjQ2NiAyLjcwNzAyLC00LjExNzQyIDQuMDc2MjUsLTYuMTYwNzMgMC41MzExOCwtMC43OTI3NyAxLjA1OTUxLC0xLjU4ODQxIDEuNTkzODksLTIuMzc3OTkgMS44NjAzMywtMi43NDgzMSAzLjczNTQ2LC01LjQ4MjIzIDUuNjM0NjgsLTguMTkxOTYgMS42ZS00LC0wLjAwMiAtMS43ZS00LC0wLjAwMyAwLC0wLjAwNCA1LjA2NDU3LC03LjIyNjc5IDEwLjI2Njg3LC0xNC4zMTc0OSAxNS42MDU2OSwtMjEuMjY5OTYgMjEuMzgyOTksOC44NDY1MyA0Mi40MTU3OSwxOC45OTUyNiA2My4wOTQ2NiwzMC40NzQ1OCAwLjM5NzQ0LC0yMy42NDY1NyAyLjEyODcsLTQ2LjkzNjUgNS4xNTc5LC02OS44Nzc5NCAyMi45NDE0OCwtMy4wMjkyMiA0Ni4yMzAzOCwtNC43NjA0NyA2OS44Nzc5NCwtNS4xNTc5MiAtMTEuNDc5MywtMjAuNjc4ODggLTIxLjYyODAyLC00MS43MTE2MSAtMzAuNDc0NTUsLTYzLjA5NjYyIDE4LjM1Mjc3LC0xNC4wOTE5MSAzNy42NTgyNywtMjcuMjM1MTEgNTcuOTM4NzEsLTM5LjQwMzM4IC0yMC4yODA0NCwtMTIuMTY4MjcgLTM5LjU4NDk0LC0yNS4zMTE0MSAtNTcuOTM4NzEsLTM5LjQwNTMzIDguODQ2NTMsLTIxLjM4Mjk5IDE4Ljk5MzI5LC00Mi40MTU3NyAzMC40NzI2MSwtNjMuMDk0NjcgLTIzLjY0NjU4LC0wLjM5NzQzIC00Ni45MzQ1MiwtMi4xMjg2OSAtNjkuODc2LC01LjE1NzkgLTMuMDI5MiwtMjIuOTQxNDcgLTQuNzYyNDMsLTQ2LjIzMDM3IC01LjE1OTg3LC02OS44Nzc5NDggLTE1LjQ3NTIsOC41OTA2MjYgLTMxLjE0NzQyLDE2LjQzNTU1NCAtNDcuMDE4MDcsMjMuNTQ3NDU4IHYgLTAuMDE1OCBjIC01LjA1NjA3LDIuMjY5MDIgLTEwLjEzMjczLDQuNDY1NTMgLTE1LjIyOTQxLDYuNTg0MzEgLTAuMjgyMzksMC4xMTczMyAtMC41NjI2OCwwLjI0MTY5IC0wLjg0NTIxLDAuMzU4NTcgLTMuNTIzNDcsLTQuNTg4NDQgLTYuOTg4NDIsLTkuMjM3MTI3IC0xMC4zOTI2NCwtMTMuOTQ0ODU0IC0xLjcwMjA5LC0yLjM1Mzg2MyAtMy4zODkxOSwtNC43MjI1NzUgLTUuMDYxMzUsLTcuMTA2NCAtMy4zNDQzMSwtNC43Njc2NTEgLTYuNjI4ODYsLTkuNTk0NjQ0IC05Ljg1MjgxLC0xNC40ODI3MTEgLTMuMjIzOTYsLTQuODg4MDY5IC02LjM4NzQzLC05LjgzNTk4MiAtOS40OTAzLC0xNC44NDUyMjMgLTEuNTUwOTksLTIuNTAzODUyIC0zLjA4NzY1LC01LjAyMzI5NiAtNC42MDgyMywtNy41NTc1NjcgeiBtIDAsNTkuMjU0OCBjIDEuMjQwMjEsMCAyLjQ3Njk1LDAuMDE2MyAzLjcwOTgyLDAuMDQ3MyAwLjU1MzM5LDAuMDEzOSAxLjEwMzA5LDAuMDQwOSAxLjY1NDk1LDAuMDYxMSAwLjY3MjE3LDAuMDI0NCAxLjM0NTYyLDAuMDQzMyAyLjAxNTQ4LDAuMDc2OCAwLjc3NDg5LDAuMDM4OSAxLjU0NTI2LDAuMDkyNyAyLjMxNjkyLDAuMTQzODIgMC40Mzc3MiwwLjAyODkgMC44Nzc0MywwLjA1MiAxLjMxNDEsMC4wODQ3IDEuMTgyNzIsMC4wODkgMi4zNjE3NiwwLjE5MjA0IDMuNTM2NDUsMC4zMDkzMyAxLjA0NDY3LDAuMTA0MyAyLjA4NDY0LDAuMjIyMzIgMy4xMjI3MiwwLjM0ODcxIDAuMTY5ODEsMC4wMjA2IDAuMzQwNjQsMC4wMzc5IDAuNTEwMjcsMC4wNTkxIDEuMTY4MzYsMC4xNDY0NCAyLjMzMzQ4LDAuMzA2NjQgMy40OTMxMSwwLjQ4MDcxIDExLjc4NjAzLDEuNzY5MzIgMjMuMTEyMzcsNC45NTY1NiAzMy44MDYxMyw5LjM3NjA0IHYgLTAuMDExOCBjIDUyLjkzMjExLDIxLjg2MTQxIDkwLjI2NTI1LDc0LjAxOTg4IDkwLjI2NTI2LDEzNC43NjkzOSAwLDY5LjI4MzIgLTQ4LjU1NDA4LDEyNy4zOTcwNSAtMTEzLjQzMjQ3LDE0Mi4xMjk5NCAtMS4yNDc4NSwwLjI4MzU4IC0yLjUwMzM1LDAuNTQ4NiAtMy43NjMwMywwLjc5OTg5IC0wLjE5MDA3LDAuMDM3OCAtMC4zODEwMiwwLjA3MzIgLTAuNTcxMzUsMC4xMTAzMyAtMS4wNDU4NiwwLjIwNDI4IC0yLjA5NDY1LDAuMzk3NSAtMy4xNDgzMywwLjU3OTI1IC0wLjM0NjY1LDAuMDU5NyAtMC42OTQ3NCwwLjExNjExIC0xLjA0MjIyLDAuMTczMzYgLTAuOTE1NDUsMC4xNTEwNCAtMS44MzMyMiwwLjI5NTYzIC0yLjc1NDI5LDAuNDI5NSAtMC40MTk2OSwwLjA2MDggLTAuODQwMDgsMC4xMTgwNCAtMS4yNjA5MSwwLjE3NTM0IC0wLjg2NjMsMC4xMTgxNSAtMS43MzU1LDAuMjI4MTggLTIuNjA2NTMsMC4zMzEgLTAuNDMwNDgsMC4wNTA3IC0wLjg2MDgzLDAuMTAwODMgLTEuMjkyNDMsMC4xNDc3NSAtMC44Nzg1OCwwLjA5NTcgLTEuNzYwODIsMC4xODIwNSAtMi42NDM5OCwwLjI2MjA0IC0wLjQ0MTcyLDAuMDM5OSAtMC44ODMwNywwLjA4MDMgLTEuMzI1OTEsMC4xMTYyMiAtMC44ODY4NCwwLjA3MjIgLTEuNzc2NDEsMC4xMzMwNSAtMi42Njc2MSwwLjE4OTE2IC0wLjQyMjI3LDAuMDI2NSAtMC44NDM2LDAuMDU1OSAtMS4yNjY4MywwLjA3ODggLTAuOTAwNzgsMC4wNDg5IC0xLjgwNTkyLDAuMDg0IC0yLjcxMDk0LDAuMTE2MjYgLTAuNDM5NjQsMC4wMTU3IC0wLjg3NzQzLDAuMDM3NSAtMS4zMTgwNSwwLjA0OTMgLTEuMzA5NTksMC4wMzUgLTIuNjIyNDEsMC4wNTUyIC0zLjk0MDMzLDAuMDU1MiAtMS4zMTc5MywwIC0yLjYzMDc1LC0wLjAyMDIgLTMuOTQwMzMsLTAuMDU1MiAtMC40NDA2MSwtMC4wMTE4IC0wLjg3ODQxLC0wLjAzMzYgLTEuMzE4MDYsLTAuMDQ5MyAtMC45MDUwMSwtMC4wMzI0IC0xLjgxMDE2LC0wLjA2NzMgLTIuNzEwOTQsLTAuMTE2MjYgLTAuNDIzMjMsLTAuMDIyOSAtMC44NDQ1NiwtMC4wNTIzIC0xLjI2NjgzLC0wLjA3ODggLTAuODkxMiwtMC4wNTYxIC0xLjc4MDc3LC0wLjExNyAtMi42Njc2MSwtMC4xODkxNiAtMC40NDI4NCwtMC4wMzU5IC0wLjg4NDE3LC0wLjA3NjMgLTEuMzI1OTEsLTAuMTE2MjIgLTAuODgzMTYsLTAuMDc5OSAtMS43NjU0LC0wLjE2NjMgLTIuNjQzOTcsLTAuMjYyMDQgLTAuNDMxNjIsLTAuMDQ2OSAtMC44NjE5NiwtMC4wOTcxIC0xLjI5MjQ0LC0wLjE0Nzc1IC0wLjg3MTAyLC0wLjEwMjgyIC0xLjc0MDIzLC0wLjIxMjg1IC0yLjYwNjUzLC0wLjMzMSAtMC40MjA4MywtMC4wNTczIC0wLjg0MTIxLC0wLjExNDQ2IC0xLjI2MDkxLC0wLjE3NTM0IC0wLjkyMTA3LC0wLjEzMzg3IC0xLjgzODgzLC0wLjI3ODQ2IC0yLjc1NDMsLTAuNDI5NSAtMC4zNDc0NywtMC4wNTcyIC0wLjY5NTU2LC0wLjExMzY3IC0xLjA0MjIxLC0wLjE3MzM2IC0xLjA1MzY4LC0wLjE4MTc1IC0yLjEwMjQ3LC0wLjM3NDk3IC0zLjE0ODMzLC0wLjU3OTI1IC0wLjE5MDMzLC0wLjAzNzEgLTAuMzgxMjgsLTAuMDcyNSAtMC41NzEzNSwtMC4xMTAzMyAtMS4yNTk2OCwtMC4yNTEyOSAtMi41MTUxNywtMC41MTYzMSAtMy43NjMwMywtMC43OTk4OSAtNjQuODc4MzgsLTE0LjczMjg4IC0xMTMuNDMyNDcsLTcyLjg0NjczIC0xMTMuNDMyNDcsLTE0Mi4xMjk5MyAwLC02MC43NDk1MSAzNy4zMzMxNSwtMTEyLjkwNzk5IDkwLjI2NTI2LC0xMzQuNzY5NCB2IDAuMDExOCBjIDEwLjY5Mzc2LC00LjQxOTQ4IDIyLjAyMDExLC03LjYwNjcyIDMzLjgwNjEzLC05LjM3NjA0IDEuMTU5NjMsLTAuMTc0MDggMi4zMjQ3NSwtMC4zMzQyNyAzLjQ5MzExLC0wLjQ4MDcyIDAuMTY5NjMsLTAuMDIxMiAwLjM0MDQ3LC0wLjAzODUgMC41MTAyNywtMC4wNTkxIDEuMDM4MDgsLTAuMTI2MzkgMi4wNzgwNSwtMC4yNDQ0MSAzLjEyMjcyLC0wLjM0ODcyIDEuMTc0NjksLTAuMTE3MjkgMi4zNTM3MywtMC4yMjAyOCAzLjUzNjQ1LC0wLjMwOTMyIDAuNDM2NjgsLTAuMDMyNyAwLjg3NjM4LC0wLjA1NTggMS4zMTQxLC0wLjA4NDcgMC43NzE2NywtMC4wNTExIDEuNTQyMDMsLTAuMTA0ODcgMi4zMTY5MiwtMC4xNDM4MyAwLjY2OTg2LC0wLjAzMzUgMS4zNDMzMiwtMC4wNTI0IDIuMDE1NDgsLTAuMDc2OCAwLjU1MTg2LC0wLjAyMDEgMS4xMDE1NiwtMC4wNDcxIDEuNjU0OTUsLTAuMDYxMSAxLjIzMjY2LC0wLjAzMTEgMi40Njk3MywtMC4wNDczIDMuNzA5ODMsLTAuMDQ3MyB6IG0gMCwxOC4xNTUxIGMgLTEuMTg1NTksMCAtMi4zNjY2MSwwLjAxOTIgLTMuNTQ0MzQsMC4wNTEyIC0wLjMxMzQxLDAuMDA5IC0wLjYyNDk4LDAuMDI0NyAtMC45Mzc3OSwwLjAzNTQgLTAuODgzNDUsMC4wMzA0IC0xLjc2NTIzLDAuMDY2IC0yLjY0Mzk3LDAuMTE0MjcgLTAuMzM1NzIsMC4wMTg1IC0wLjY2OTc5LDAuMDQxOSAtMS4wMDQ3OCwwLjA2MyAtMC44Mzg1NywwLjA1MjUgLTEuNjc1OTUsMC4xMTA3MyAtMi41MSwwLjE3OTMgLTAuMzQ4NzEsMC4wMjg4IC0wLjY5NjMsMC4wNjExIC0xLjA0NDE4LDAuMDkyNiAtMC44NTYzOSwwLjA3NzQgLTEuNzA5OSwwLjE2Mzg5IC0yLjU2MTI1LDAuMjU4MDkgLTAuMjk1NzQsMC4wMzI5IC0wLjU5MTQxLDAuMDY1NSAtMC44ODY1NiwwLjEwMDQ3IC0wLjkzNTA3LDAuMTEwMDcgLTEuODY2OTUsMC4yMzA0NiAtMi43OTU2OCwwLjM2MDU1IC0wLjE5NjI5LDAuMDI3NyAtMC4zOTMwNywwLjA1NDIgLTAuNTg5MDcsMC4wODI3IC0xLjA5NTMyLDAuMTU4NjIgLTIuMTg2NDIsMC4zMyAtMy4yNzI0NSwwLjUxNjE5IC0wLjAzOTQsMC4wMDcgLTAuMDc4OCwwLjAxMjggLTAuMTE4MjEsMC4wMTk3IC02MC4wOTcyMSwxMC4zNjAwNiAtMTA1LjY3OTg2LDYyLjYxNDYgLTEwNS42Nzk4NiwxMjUuNzE0NSAxZS01LDYzLjA5OTg5IDQ1LjU4MjY1LDExNS4zNTQ0MiAxMDUuNjc5ODYsMTI1LjcxNDQ4IDAuMDM5NCwwLjAwNyAwLjA3ODgsMC4wMTI5IDAuMTE4MjEsMC4wMTk3IDEuMDg2MDMsMC4xODYxOSAyLjE3NzEzLDAuMzU3NTYgMy4yNzI0NSwwLjUxNjE5IDAuMTk2LDAuMDI4NCAwLjM5Mjc4LDAuMDU1MiAwLjU4OTA3LDAuMDgyNyAwLjkyODczLDAuMTMwMTEgMS44NjA2MSwwLjI1MDQ4IDIuNzk1NjgsMC4zNjA1NCAwLjI5NTE1LDAuMDM0OSAwLjU5MDgyLDAuMDY3NyAwLjg4NjU2LDAuMTAwNSAwLjg1MTM1LDAuMDk0MiAxLjcwNDg2LDAuMTgwNjQgMi41NjEyNSwwLjI1ODA3IDAuMzQ3ODgsMC4wMzE1IDAuNjk1NDcsMC4wNjM5IDEuMDQ0MTgsMC4wOTI2IDAuODM0MDUsMC4wNjg2IDEuNjcxNDMsMC4xMjY3OCAyLjUxLDAuMTc5MjggMC4zMzQ5OSwwLjAyMTEgMC42NjkwNiwwLjA0NDYgMS4wMDQ3OCwwLjA2MyAwLjg3ODc0LDAuMDQ4MiAxLjc2MDUyLDAuMDg0IDIuNjQzOTcsMC4xMTQyNyAwLjMxMjgxLDAuMDEwOSAwLjYyNDM4LDAuMDI2OSAwLjkzNzc5LDAuMDM1NSAxLjE3NzczLDAuMDMyIDIuMzU4NzUsMC4wNTEyIDMuNTQ0MzQsMC4wNTEyIDEuMTg1NTgsMCAyLjM2NjYsLTAuMDE5MiAzLjU0NDM0LC0wLjA1MTIgMC4zMTM0LC0wLjAwOSAwLjYyNDk3LC0wLjAyNDggMC45Mzc4LC0wLjAzNTUgMC44ODM0NCwtMC4wMzA0IDEuNzY1MjEsLTAuMDY2IDIuNjQzOTUsLTAuMTE0MjcgMC4zMzU3MiwtMC4wMTg1IDAuNjY5NzksLTAuMDQxOSAxLjAwNDc5LC0wLjA2MyAwLjgzODU4LC0wLjA1MjUgMS42NzU5NCwtMC4xMTA3MSAyLjUwOTk5LC0wLjE3OTI4IDAuMzQ4NzIsLTAuMDI4OCAwLjY5NjMxLC0wLjA2MDkgMS4wNDQyLC0wLjA5MjYgMC44NTYzOCwtMC4wNzc2IDEuNzA5ODgsLTAuMTYzODggMi41NjEyMywtMC4yNTgwNyAwLjI5NTc1LC0wLjAzMjggMC41OTE0MSwtMC4wNjU2IDAuODg2NTcsLTAuMTAwNSAwLjkzNTA3LC0wLjExMDA2IDEuODY2OTUsLTAuMjMwNDMgMi43OTU2NywtMC4zNjA1NCAwLjE5NjI5LC0wLjAyNzUgMC4zOTMwNywtMC4wNTQzIDAuNTg5MDcsLTAuMDgyNyAxLjA5NTMzLC0wLjE1ODYzIDIuMTg2NDIsLTAuMzMgMy4yNzI0NSwtMC41MTYxOSAwLjAzOTQsLTAuMDA3IDAuMDc4OSwtMC4wMTI4IDAuMTE4MjEsLTAuMDE5NyA2MC4wOTcyMSwtMTAuMzYwMDYgMTA1LjY3OTg1LC02Mi42MTQ1OSAxMDUuNjc5ODcsLTEyNS43MTQ0OCAwLC02My4wOTk5IC00NS41ODI2NiwtMTE1LjM1NDQ0IC0xMDUuNjc5ODcsLTEyNS43MTQ1MSAtMC4wMzk0LC0wLjAwNyAtMC4wNzg5LC0wLjAxMjkgLTAuMTE4MjEsLTAuMDE5NiAtMS4wODYwMywtMC4xODYxOCAtMi4xNzcxMiwtMC4zNTc1NiAtMy4yNzI0NSwtMC41MTYxOSAtMC4xOTYsLTAuMDI4NCAtMC4zOTI3OCwtMC4wNTUyIC0wLjU4OTA3LC0wLjA4MjcgLTAuOTI4NzIsLTAuMTMwMDkgLTEuODYwNiwtMC4yNTA0OSAtMi43OTU2NywtMC4zNjA1NSAtMC4yOTUxNiwtMC4wMzQ4IC0wLjU5MDgyLC0wLjA2NzYgLTAuODg2NTcsLTAuMTAwNDcgLTAuODUxMzUsLTAuMDk0MiAtMS43MDQ4NSwtMC4xODA2NiAtMi41NjEyMywtMC4yNTgwOSAtMC4zNDc4OSwtMC4wMzE2IC0wLjY5NTQ4LC0wLjA2MzkgLTEuMDQ0MiwtMC4wOTI2IC0wLjgzNDA1LC0wLjA2ODYgLTEuNjcxNDEsLTAuMTI2NzYgLTIuNTA5OTksLTAuMTc5MjkgLTAuMzM1LC0wLjAyMTEgLTAuNjY5MDcsLTAuMDQ0NiAtMS4wMDQ3OSwtMC4wNjMgLTAuODc4NzQsLTAuMDQ4MiAtMS43NjA1MSwtMC4wODM5IC0yLjY0Mzk1LC0wLjExNDI3IC0wLjMxMjgzLC0wLjAxMDkgLTAuNjI0NCwtMC4wMjY5IC0wLjkzNzgsLTAuMDM1NSAtMS4xNzc3NCwtMC4wMzE5IC0yLjM1ODc2LC0wLjA1MTIgLTMuNTQ0MzQsLTAuMDUxMiB6IiAvPgo8L3N2Zz4K
data:image/svg+xml;base64,PD94bWwgdmVyc2lvbj0iMS4wIiBlbmNvZGluZz0iVVRGLTgiIHN0YW5kYWxvbmU9Im5vIj8+CjxzdmcKICAgeG1sbnM6ZGM9Imh0dHA6Ly9wdXJsLm9yZy9kYy9lbGVtZW50cy8xLjEvIgogICB4bWxuczpjYz0iaHR0cDovL2NyZWF0aXZlY29tbW9ucy5vcmcvbnMjIgogICB4bWxuczpyZGY9Imh0dHA6Ly93d3cudzMub3JnLzE5OTkvMDIvMjItcmRmLXN5bnRheC1ucyMiCiAgIHhtbG5zOnN2Zz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciCiAgIHhtbG5zPSJodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2ZyIKICAgeG1sbnM6c29kaXBvZGk9Imh0dHA6Ly9zb2RpcG9kaS5zb3VyY2Vmb3JnZS5uZXQvRFREL3NvZGlwb2RpLTAuZHRkIgogICB4bWxuczppbmtzY2FwZT0iaHR0cDovL3d3dy5pbmtzY2FwZS5vcmcvbmFtZXNwYWNlcy9pbmtzY2FwZSIKICAgc3R5bGU9ImhlaWdodDogNTEycHg7IHdpZHRoOiA1MTJweDsiCiAgIHZpZXdCb3g9IjAgMCA1MTIgNTEyIgogICB2ZXJzaW9uPSIxLjEiCiAgIGlkPSJzdmcxNTQ2IgogICBzb2RpcG9kaTpkb2NuYW1lPSJzdGFyX2h5cGVyZ2lhbnQuc3ZnIgogICBpbmtzY2FwZTp2ZXJzaW9uPSIxLjAgKDQwMzVhNGZiNDksIDIwMjAtMDUtMDEpIj4KICA8bWV0YWRhdGEKICAgICBpZD0ibWV0YWRhdGExNTUyIj4KICAgIDxyZGY6UkRGPgogICAgICA8Y2M6V29yawogICAgICAgICByZGY6YWJvdXQ9IiI+CiAgICAgICAgPGRjOmZvcm1hdD5pbWFnZS9zdmcreG1sPC9kYzpmb3JtYXQ+CiAgICAgICAgPGRjOnR5cGUKICAgICAgICAgICByZGY6cmVzb3VyY2U9Imh0dHA6Ly9wdXJsLm9yZy9kYy9kY21pdHlwZS9TdGlsbEltYWdlIiAvPgogICAgICAgIDxkYzp0aXRsZT48L2RjOnRpdGxlPgogICAgICA8L2NjOldvcms+CiAgICA8L3JkZjpSREY+CiAgPC9tZXRhZGF0YT4KICA8ZGVmcwogICAgIGlkPSJkZWZzMTU1MCIgLz4KICA8c29kaXBvZGk6bmFtZWR2aWV3CiAgICAgaW5rc2NhcGU6ZG9jdW1lbnQtcm90YXRpb249IjAiCiAgICAgcGFnZWNvbG9yPSIjMDAwMDAwIgogICAgIGJvcmRlcmNvbG9yPSIjNjY2NjY2IgogICAgIGJvcmRlcm9wYWNpdHk9IjEiCiAgICAgb2JqZWN0dG9sZXJhbmNlPSIxMCIKICAgICBncmlkdG9sZXJhbmNlPSIxMCIKICAgICBndWlkZXRvbGVyYW5jZT0iMTAiCiAgICAgaW5rc2NhcGU6cGFnZW9wYWNpdHk9IjAiCiAgICAgaW5rc2NhcGU6cGFnZXNoYWRvdz0iMiIKICAgICBpbmtzY2FwZTp3aW5kb3ctd2lkdGg9IjE5MjAiCiAgICAgaW5rc2NhcGU6d2luZG93LWhlaWdodD0iMTAxNyIKICAgICBpZD0ibmFtZWR2aWV3MTU0OCIKICAgICBzaG93Z3JpZD0iZmFsc2UiCiAgICAgaW5rc2NhcGU6em9vbT0iMS4xNzM5MDc3IgogICAgIGlua3NjYXBlOmN4PSIyMDAuMjE2OSIKICAgICBpbmtzY2FwZTpjeT0iMzE1LjYzMTE2IgogICAgIGlua3NjYXBlOndpbmRvdy14PSItOCIKICAgICBpbmtzY2FwZTp3aW5kb3cteT0iLTgiCiAgICAgaW5rc2NhcGU6d2luZG93LW1heGltaXplZD0iMSIKICAgICBpbmtzY2FwZTpjdXJyZW50LWxheWVyPSJzdmcxNTQ2IiAvPgogIDxwYXRoCiAgICAgZD0iTTAgMGg1MTJ2NTEySDB6IgogICAgIGZpbGw9IiMwMDAiCiAgICAgZmlsbC1vcGFjaXR5PSIwIgogICAgIGlkPSJwYXRoMTUyMiIgLz4KICA8cGF0aAogICAgIGlkPSJwYXRoMTUzMCIKICAgICBzdHlsZT0iZmlsbDojZmZmZmZmO2ZpbGwtb3BhY2l0eToxO3N0cm9rZS13aWR0aDoxLjI1OTY4IgogICAgIGQ9Ik0gMjU2LjAwMDAxLC00LjIzM2UtNSBDIDI1NC4xMDA5MywzLjE2NTA3NiAyNTIuMTgyMzksNi4zMTA1NzQgMjUwLjI0NTMzLDkuNDM3Njk5OSAyNDYuMzcwNTMsMTUuNjkzMTQyIDI0Mi40MjAwNCwyMS44NzIgMjM4LjM5NDA0LDI3Ljk3NjEyNCBjIC00LjAyNjAxLDYuMTA0MTIzIC04LjEyNzY5LDEyLjEzMTk3NiAtMTIuMzAzOTgsMTguMDg1NzI3IC0yLjA4ODE3LDIuOTc2ODczIC00LjE5NSw1LjkzNDg3MyAtNi4zMjA1NSw4Ljg3NDMzMSAtNC4yNTExMSw1Ljg3ODkxOSAtOC41NzgwNywxMS42ODQxMDcgLTEyLjk3ODEyLDE3LjQxNDA2NiAtMC4zNTI4MiwtMC4xNDU5NTkgLTAuNzAyODIsLTAuMzAxMjY0IC0xLjA1NTQ4LC0wLjQ0Nzc3NyAtNi4zNjQ2MiwtMi42NDU4OTIgLTEyLjcwNDI1LC01LjM4ODg1MyAtMTkuMDE4MTksLTguMjIyMzU4IHYgMC4wMTk2OSBjIC0xOS44MTg5NiwtOC44ODEyMDUgLTM5LjM5MDEzLC0xOC42Nzc3OTggLTU4LjcxNTI2LC0yOS40MDU2MDQgLTAuNDk2MzEsMjkuNTMwNjI4IC0yLjY2MDcyLDU4LjYxMzM2MyAtNi40NDM1NCw4Ny4yNjIyMjEgLTI4LjY0ODg1NiwzLjc4MjgxIC01Ny43MzAzOTcsNS45NDQ3OCAtODcuMjU5NzYsNi40NDEwOCAxNC4zMzUxMzMsMjUuODIzNDEgMjcuMDA2MjE2LDUyLjA4ODczIDM4LjA1MzU5MSw3OC43OTEzOSBDIDQ5LjQzMjkwOSwyMjQuMzg5MSAyNS4zMjU4MjUsMjQwLjgwMjAxIDEuMjQ0OTk5OWUtNiwyNTUuOTk3NTEgMjUuMzI1ODI1LDI3MS4xOTI5OSA0OS40MzQxNjksMjg3LjYwNTk3IDcyLjM1Mjc1MSwzMDUuMjAzNjcgNjEuMzA1Mzc2LDMzMS45MDg4NCA0OC42MzE4MzQsMzU4LjE3NDExIDM0LjI5NjY5OSwzODMuOTk3NSBjIDI5LjUzMDYyOSwwLjQ5NjMzIDU4LjYxMzM2NSwyLjY1ODI4IDg3LjI2MjIyMSw2LjQ0MTEgMy43ODI4MiwyOC42NDg4NCA1Ljk0NDc3LDU3LjczMjg0IDYuNDQxMDksODcuMjYyMjIgMjUuODIzMzksLTE0LjMzNTE1IDUyLjA4ODcyLC0yNy4wMDg2OSA3OC43OTEzOCwtMzguMDU2MDYgNi42NjcwMiw4LjY4MjExIDEzLjE2MzU0LDE3LjUzNjgzIDE5LjQ4ODA5LDI2LjU2MTUgMi4xZS00LDAuMDAyIC0xLjllLTQsMC4wMDMgMCwwLjAwNSAyLjM3MTcsMy4zODM4NiA0LjcxMzMzLDYuNzk3OTMgNy4wMzY0OCwxMC4yMjk5NiAwLjY2NzMyLDAuOTg2MDEgMS4zMjcxLDEuOTc5NTggMS45OTA0MSwyLjk2OTU5IDEuNzA5ODcsMi41NTE2MyAzLjQwNzE4LDUuMTE1MDggNS4wOTAzNSw3LjY5MzM4IDAuNzIxMDIsMS4xMDQ2NSAxLjQzOTEyLDIuMjExODcgMi4xNTUyNSwzLjMyMTQyIDEuNjE0ODUsMi41MDE3MSAzLjIxNTEyLDUuMDE4OTIgNC44MDQ5Nyw3LjU0NTc3IDAuNjkxMzEsMS4wOTg4MiAxLjM4NzQ3LDIuMTkzMjYgMi4wNzQwNCwzLjI5NjgxIDIuMjExNzYsMy41NTQ4OSA0LjQwNjUxLDcuMTI3MiA2LjU2OTAzLDEwLjczMTg2IDIuMTYyNTEsLTMuNjA0NjYgNC4zNTcyNiwtNy4xNzY5NyA2LjU2OTAyLC0xMC43MzE4NiAwLjY4NjU4LC0xLjEwMzU1IDEuMzgyNzMsLTIuMTk3OTkgMi4wNzQwNCwtMy4yOTY4MSAxLjU4OTg2LC0yLjUyNjg1IDMuMTkwMTIsLTUuMDQ0MDYgNC44MDQ5NywtNy41NDU3NyAwLjcxNjEzLC0xLjEwOTU1IDEuNDM0MjMsLTIuMjE2NzcgMi4xNTUyNSwtMy4zMjE0MiAxLjY4MzE4LC0yLjU3ODMgMy4zODA0OCwtNS4xNDE3NSA1LjA5MDM1LC03LjY5MzM4IDAuNjYzMzMsLTAuOTkwMDEgMS4zMjMwOSwtMS45ODM1OCAxLjk5MDQxLC0yLjk2OTU5IDIuMzIzMTUsLTMuNDMyMDMgNC42NjQ3OCwtNi44NDYxIDcuMDM2NDksLTEwLjIyOTk2IDEuOWUtNCwtMC4wMDIgLTIuMWUtNCwtMC4wMDMgMCwtMC4wMDUgNi4zMjQ1NCwtOS4wMjQ2NyAxMi44MjEwNiwtMTcuODc5MzkgMTkuNDg4MDgsLTI2LjU2MTUgMjYuNzAyNjYsMTEuMDQ3MzcgNTIuOTY4MDEsMjMuNzIwOTEgNzguNzkxMzgsMzguMDU2MDYgMC40OTYzMiwtMjkuNTI5MzggMi42NTgyOCwtNTguNjEzMzggNi40NDEwOSwtODcuMjYyMjIgMjguNjQ4ODYsLTMuNzgyODIgNTcuNzMxNTksLTUuOTQ0NzcgODcuMjYyMjEsLTYuNDQxMSAtMTQuMzM1MTMsLTI1LjgyMzM5IC0yNy4wMDg2NiwtNTIuMDg4NjYgLTM4LjA1NjA0LC03OC43OTM4MyAyMi45MTg1OCwtMTcuNTk3NyA0Ny4wMjY5MywtMzQuMDEwNjggNzIuMzUyNzQsLTQ5LjIwNjE2IC0yNS4zMjU4MSwtMTUuMTk1NSAtNDkuNDMyOTEsLTMxLjYwODQxIC03Mi4zNTI3NCwtNDkuMjA4NjIgMTEuMDQ3MzgsLTI2LjcwMjY2IDIzLjcxODQ2LC01Mi45Njc5OCAzOC4wNTM2LC03OC43OTEzOSAtMjkuNTI5MzgsLTAuNDk2MyAtNTguNjEwOTEsLTIuNjU4MjcgLTg3LjI1OTc3LC02LjQ0MTA4IC0zLjc4MjgxLC0yOC42NDg4NjIgLTUuOTQ3MjMsLTU3LjczMTU5NyAtNi40NDM1NSwtODcuMjYyMjI1IC0xOS4zMjUxMiwxMC43Mjc4MDYgLTM4Ljg5NjI5LDIwLjUyNDM5OSAtNTguNzE1MjUsMjkuNDA1NjA2IHYgLTAuMDE5NjkgYyAtNi4zMTM5MiwyLjgzMzUwNSAtMTIuNjUzNTYsNS41NzY0NjcgLTE5LjAxODE5LDguMjIyMzU4IC0wLjM1MjY1LDAuMTQ2NTEzIC0wLjcwMjY2LDAuMzAxODE4IC0xLjA1NTQ4LDAuNDQ3Nzc3IC00LjQwMDA0LC01LjcyOTk1OSAtOC43MjcwMSwtMTEuNTM1MTQ3IC0xMi45NzgxMiwtMTcuNDE0MDY1IC0yLjEyNTU0LC0yLjkzOTQ1OCAtNC4yMzIzNywtNS44OTc0NTkgLTYuMzIwNTMsLTguODc0MzMzIC00LjE3NjMsLTUuOTUzNzUgLTguMjc3OTgsLTExLjk4MTYwNCAtMTIuMzAzOTksLTE4LjA4NTcyNyAtNC4wMjYwMSwtNi4xMDQxMjUgLTcuOTc2NSwtMTIuMjgyOTgzIC0xMS44NTEzLC0xOC41Mzg0MjUxIC0xLjkzNjg1LC0zLjEyNjc2MjEgLTMuODU1OCwtNi4yNzI5OTQxIC01Ljc1NDY3LC05LjQzNzc0MjIzIHogbSAwLDczLjk5NjIzNTMzIGMgMS41NDg3NSwwIDMuMDkzMTYsMC4wMjA0MiA0LjYzMjc1LDAuMDU5MDUgMC42OTEwNywwLjAxNzQxIDEuMzc3NTIsMC4wNTExMiAyLjA2NjY3LDAuMDc2MjggMC44Mzk0LDAuMDMwNTEgMS42ODAzOSwwLjA1NDA2IDIuNTE2ODksMC4wOTU5NSAwLjk2NzY3LDAuMDQ4NjQgMS45Mjk3LDAuMTE1Nzg5IDIuODkzMzIsMC4xNzk2MDUgMC41NDY2MywwLjAzNjA2IDEuMDk1NzIsMC4wNjQ5IDEuNjQxMDMsMC4xMDU3ODkgMS40NzY5NiwwLjExMTE5MiAyLjk0OTMyLDAuMjM5ODA2IDQuNDE2MjUsMC4zODYyOCAxLjMwNDU3LDAuMTMwMjUxIDIuNjAzMjYsMC4yNzc2MzQgMy44OTk1OSwwLjQzNTQ3IDAuMjEyMDYsMC4wMjU3MyAwLjQyNTM4LDAuMDQ3MzQgMC42MzcyMiwwLjA3MzgxIDEuNDU5MDIsMC4xODI4NzkgMi45MTQsMC4zODI5MjggNC4zNjIxMywwLjYwMDMxIDE0LjcxODE2LDIuMjA5NDg5IDI4Ljg2MjI3LDYuMTg5NjU0IDQyLjIxNjQzLDExLjcwODYxMyB2IC0wLjAxNDczIGMgNjYuMTAwNTksMjcuMzAwMSAxMTIuNzIxNDksOTIuNDM0NTkgMTEyLjcyMTUsMTY4LjI5NzM5IDAsODYuNTE5NTEgLTYwLjYzMzM5LDE1OS4wOTA5NSAtMTQxLjY1MjI2LDE3Ny40ODkxIC0xLjU1ODI5LDAuMzU0MTIgLTMuMTI2MTMsMC42ODUwOCAtNC42OTkyLDAuOTk4ODggLTAuMjM3MzUsMC4wNDczIC0wLjQ3NTgxLDAuMDkxNCAtMC43MTM0OSwwLjEzNzc4IC0xLjMwNjA1LDAuMjU1MSAtMi42MTU3NiwwLjQ5NjM5IC0zLjkzMTU4LDAuNzIzMzUgLTAuNDMyODgsMC4wNzQ2IC0wLjg2NzU3LDAuMTQ1IC0xLjMwMTQ5LDAuMjE2NDkgLTEuMTQzMiwwLjE4ODYyIC0yLjI4OTMsMC4zNjkxOSAtMy40Mzk1MSwwLjUzNjM1IC0wLjUyNDExLDAuMDc2IC0xLjA0OTA4LDAuMTQ3NDIgLTEuNTc0NiwwLjIxODk3IC0xLjA4MTgyLDAuMTQ3NTQgLTIuMTY3MjYsMC4yODQ5NSAtMy4yNTQ5OSwwLjQxMzM0IC0wLjUzNzU3LDAuMDYzMiAtMS4wNzQ5NywwLjEyNTkxIC0xLjYxMzk1LDAuMTg0NTEgLTEuMDk3MTYsMC4xMTk1NiAtMi4xOTg4OCwwLjIyNzM1IC0zLjMwMTc1LDAuMzI3MjQgLTAuNTUxNjIsMC4wNDk4IC0xLjEwMjc2LDAuMTAwMjUgLTEuNjU1NzgsMC4xNDUxMyAtMS4xMDc0NiwwLjA5MDEgLTIuMjE4MzQsMC4xNjYxNCAtMy4zMzEyNiwwLjIzNjIxIC0wLjUyNzMyLDAuMDMzMSAtMS4wNTM0NiwwLjA2OTggLTEuNTgxOTgsMC4wOTg1IC0xLjEyNDg5LDAuMDYxMSAtMi4yNTUyLDAuMTA0OCAtMy4zODUzOCwwLjE0NTE4IC0wLjU0OTAxLDAuMDE5NiAtMS4wOTU3MSwwLjA0NjggLTEuNjQ1OTUsMC4wNjE1IC0xLjYzNTM5LDAuMDQzNyAtMy4yNzQ4MiwwLjA2ODkgLTQuOTIwNjEsMC4wNjg5IC0xLjY0NTgsMCAtMy4yODUyMywtMC4wMjUyIC00LjkyMDYxLC0wLjA2ODkgLTAuNTUwMjMsLTAuMDE0NyAtMS4wOTY5NCwtMC4wNDIgLTEuNjQ1OTYsLTAuMDYxNSAtMS4xMzAxNywtMC4wNDA0IC0yLjI2MDQ5LC0wLjA4NDEgLTMuMzg1MzgsLTAuMTQ1MTggLTAuNTI4NTIsLTAuMDI4NiAtMS4wNTQ2NiwtMC4wNjUzIC0xLjU4MTk4LC0wLjA5ODUgLTEuMTEyOTIsLTAuMDcwMSAtMi4yMjM4LC0wLjE0NjEgLTMuMzMxMjYsLTAuMjM2MjEgLTAuNTUzMDIsLTAuMDQ0OCAtMS4xMDQxNCwtMC4wOTUzIC0xLjY1NTc4LC0wLjE0NTEzIC0xLjEwMjg3LC0wLjA5OTggLTIuMjA0NTksLTAuMjA3NjggLTMuMzAxNzQsLTAuMzI3MjQgLTAuNTM4OTksLTAuMDU4NiAtMS4wNzYzOSwtMC4xMjEyIC0xLjYxMzk2LC0wLjE4NDUxIC0xLjA4NzcyLC0wLjEyODM5IC0yLjE3MzE3LC0wLjI2NTggLTMuMjU0OTksLTAuNDEzMzQgLTAuNTI1NTIsLTAuMDcxNiAtMS4wNTA0OCwtMC4xNDI5MyAtMS41NzQ2LC0wLjIxODk3IC0xLjE1MDIxLC0wLjE2NzE2IC0yLjI5NjMsLTAuMzQ3NzMgLTMuNDM5NTEsLTAuNTM2MzUgLTAuNDMzOTIsLTAuMDcxNSAtMC44Njg2MSwtMC4xNDE5NSAtMS4zMDE0OSwtMC4yMTY0OSAtMS4zMTU4MiwtMC4yMjY5NiAtMi42MjU1MywtMC40NjgyNSAtMy45MzE1OCwtMC43MjMzNSAtMC4yMzc2OCwtMC4wNDY0IC0wLjQ3NjE0LC0wLjA5MDUgLTAuNzEzNDksLTAuMTM3NzggLTEuNTczMDcsLTAuMzEzOCAtMy4xNDA5LC0wLjY0NDc2IC00LjY5OTIsLTAuOTk4ODggQyAxMzQuNjI5NjIsNDE1LjA5MDkyIDczLjk5NjIyOCwzNDIuNTE5NDggNzMuOTk2MjI4LDI1NS45OTk5NyBjIDAsLTc1Ljg2MjggNDYuNjIwOTAyLC0xNDAuOTk3MjkgMTEyLjcyMTQ5MiwtMTY4LjI5NzQgdiAwLjAxNDczIGMgMTMuMzU0MTYsLTUuNTE4OTU5IDI3LjQ5ODI4LC05LjQ5OTEyNiA0Mi4yMTY0MywtMTEuNzA4NjE0IDEuNDQ4MTMsLTAuMjE3MzgxIDIuOTAzMTEsLTAuNDE3NDMzIDQuMzYyMTQsLTAuNjAwMzExIDAuMjExODMsLTAuMDI2NDUgMC40MjUxNiwtMC4wNDgwOCAwLjYzNzIxLC0wLjA3MzgxIDEuMjk2MzMsLTAuMTU3ODM4IDIuNTk1MDIsLTAuMzA1MjIgMy44OTk1OSwtMC40MzU0NyAxLjQ2NjkzLC0wLjE0NjQ3NiAyLjkzOTI5LC0wLjI3NTA4OSA0LjQxNjI1LC0wLjM4NjI4MSAwLjU0NTMxLC0wLjA0MDg4IDEuMDk0NCwtMC4wNjk3MyAxLjY0MTAzLC0wLjEwNTc4OCAwLjk2MzYzLC0wLjA2MzgxIDEuOTI1NjUsLTAuMTMwOTU3IDIuODkzMzIsLTAuMTc5NjA2IDAuODM2NSwtMC4wNDE4OCAxLjY3NzUsLTAuMDY1NDUgMi41MTY4OSwtMC4wOTU5NSAwLjY4OTE1LC0wLjAyNTE0IDEuMzc1NiwtMC4wNTg4NyAyLjA2NjY3LC0wLjA3NjI4IDEuNTM5MzIsLTAuMDM4NzcgMy4wODQxNSwtMC4wNTkwNSA0LjYzMjc2LC0wLjA1OTA1IHogbSAwLDIyLjY3MTczNiBjIC0xLjQ4MDU0LDAgLTIuOTU1MzcsMC4wMjQwNCAtNC40MjYxLDAuMDYzOTkgLTAuMzkxMzgsMC4wMTA4MyAtMC43ODA0NiwwLjAzMDg2IC0xLjE3MTA5LDAuMDQ0MjggLTEuMTAzMjQsMC4wMzggLTIuMjA0MzksMC4wODI1IC0zLjMwMTc0LDAuMTQyNjk5IC0wLjQxOTI1LDAuMDIzMDcgLTAuODM2NDIsMC4wNTI0IC0xLjI1NDc2LDAuMDc4NzEgLTEuMDQ3MTksMC4wNjU2MSAtMi4wOTI4OCwwLjEzODI3IC0zLjEzNDQzLDAuMjIzOSAtMC40MzU0NiwwLjAzNTk0IC0wLjg2OTUzLDAuMDc2MjIgLTEuMzAzOTYsMC4xMTU2NDEgLTEuMDY5NDQsMC4wOTY2OCAtMi4xMzUyOCwwLjIwNDY2MSAtMy4xOTg0MywwLjMyMjI5NCAtMC4zNjkzMiwwLjA0MTAzIC0wLjczODU1LDAuMDgxODUgLTEuMTA3MTIsMC4xMjU0NzIgLTEuMTY3NjksMC4xMzc0NDggLTIuMzMxNDIsMC4yODc3OSAtMy40OTExOSwwLjQ1MDI0NiAtMC4yNDUxMiwwLjAzNDU0IC0wLjQ5MDg2LDAuMDY3NzggLTAuNzM1NjIsMC4xMDMyODggLTEuMzY3ODIsMC4xOTgwODkgLTIuNzMwMzUsMC40MTIxMDMgLTQuMDg2NTcsMC42NDQ2MTEgLTAuMDQ5MiwwLjAwODcgLTAuMDk4NSwwLjAxNjAzIC0wLjE0NzYyLDAuMDI0NTggLTc1LjA0ODIzLDEyLjkzNzQ1IC0xMzEuOTcwOTUyLDc4LjE5MTg5IC0xMzEuOTcwOTUyLDE1Ni45ODk4MiAxLjFlLTUsNzguNzk3OTEgNTYuOTIyNzIyLDE0NC4wNTIzNiAxMzEuOTcwOTUyLDE1Ni45ODk4IDAuMDQ5MiwwLjAwOSAwLjA5ODUsMC4wMTYxIDAuMTQ3NjIsMC4wMjQ2IDEuMzU2MjIsMC4yMzI1IDIuNzE4NzUsMC40NDY1MSA0LjA4NjU3LDAuNjQ0NiAwLjI0NDc2LDAuMDM1NSAwLjQ5MDUsMC4wNjg5IDAuNzM1NjIsMC4xMDMyOCAxLjE1OTc3LDAuMTYyNDggMi4zMjM1LDAuMzEyOCAzLjQ5MTE5LDAuNDUwMjQgMC4zNjg1NywwLjA0MzYgMC43Mzc4LDAuMDg0NSAxLjEwNzEyLDAuMTI1NDkgMS4wNjMxNSwwLjExNzYzIDIuMTI4OTksMC4yMjU1OSAzLjE5ODQzLDAuMzIyMjggMC40MzQ0MywwLjAzOTQgMC44Njg1LDAuMDc5OCAxLjMwMzk2LDAuMTE1NjUgMS4wNDE1NSwwLjA4NTYgMi4wODcyNCwwLjE1ODMxIDMuMTM0NDMsMC4yMjM4OCAwLjQxODM0LDAuMDI2MyAwLjgzNTUxLDAuMDU1NyAxLjI1NDc2LDAuMDc4NyAxLjA5NzM1LDAuMDYwMiAyLjE5ODUsMC4xMDQ4IDMuMzAxNzQsMC4xNDI3IDAuMzkwNjMsMC4wMTM1IDAuNzc5NzEsMC4wMzM2IDEuMTcxMDksMC4wNDQzIDEuNDcwNzMsMC4wNCAyLjk0NTU2LDAuMDY0IDQuNDI2MSwwLjA2NCAxLjQ4MDUzLDAgMi45NTUzNywtMC4wMjQgNC40MjYxLC0wLjA2NCAwLjM5MTM3LC0wLjAxMDggMC43ODA0NSwtMC4wMzA5IDEuMTcxMSwtMC4wNDQzIDEuMTAzMjMsLTAuMDM4IDIuMjA0MzcsLTAuMDgyNSAzLjMwMTcyLC0wLjE0MjcgMC40MTkyNSwtMC4wMjMxIDAuODM2NDIsLTAuMDUyNCAxLjI1NDc3LC0wLjA3ODcgMS4wNDcxOSwtMC4wNjU2IDIuMDkyODgsLTAuMTM4MjUgMy4xMzQ0MywtMC4yMjM4OCAwLjQzNTQ2LC0wLjAzNiAwLjg2OTUzLC0wLjA3NjEgMS4zMDM5NiwtMC4xMTU2NSAxLjA2OTQzLC0wLjA5NjggMi4xMzUyNywtMC4yMDQ2NSAzLjE5ODQzLC0wLjMyMjI4IDAuMzY5MzIsLTAuMDQxIDAuNzM4NTQsLTAuMDgxOSAxLjEwNzEyLC0wLjEyNTQ5IDEuMTY3NywtMC4xMzc0NCAyLjMzMTQyLC0wLjI4Nzc2IDMuNDkxMTgsLTAuNDUwMjQgMC4yNDUxMiwtMC4wMzQ0IDAuNDkwODYsLTAuMDY3OCAwLjczNTYyLC0wLjEwMzI4IDEuMzY3ODMsLTAuMTk4MDkgMi43MzAzNiwtMC40MTIxIDQuMDg2NTgsLTAuNjQ0NiAwLjA0OTIsLTAuMDA5IDAuMDk4NSwtMC4wMTYgMC4xNDc2MSwtMC4wMjQ2IDc1LjA0ODIzLC0xMi45Mzc0NCAxMzEuOTcwOTQsLTc4LjE5MTg5IDEzMS45NzA5NiwtMTU2Ljk4OTggMCwtNzguNzk3OTMgLTU2LjkyMjczLC0xNDQuMDUyMzcgLTEzMS45NzA5NiwtMTU2Ljk4OTgyNCAtMC4wNDkyLC0wLjAwODcgLTAuMDk4NSwtMC4wMTYxMyAtMC4xNDc2MSwtMC4wMjQ1OCAtMS4zNTYyMiwtMC4yMzI1MDggLTIuNzE4NzUsLTAuNDQ2NTIyIC00LjA4NjU4LC0wLjY0NDYxMSAtMC4yNDQ3NiwtMC4wMzU1MSAtMC40OTA1LC0wLjA2ODg2IC0wLjczNTYyLC0wLjEwMzI4OCAtMS4xNTk3NiwtMC4xNjI0NTYgLTIuMzIzNDgsLTAuMzEyNzk4IC0zLjQ5MTE4LC0wLjQ1MDI0NiAtMC4zNjg1OCwtMC4wNDM1MiAtMC43Mzc4LC0wLjA4NDQ1IC0xLjEwNzEyLC0wLjEyNTQ3MiAtMS4wNjMxNiwtMC4xMTc2MzMgLTIuMTI5LC0wLjIyNTU5OSAtMy4xOTg0MywtMC4zMjIyOTQgLTAuNDM0NDMsLTAuMDM5NDEgLTAuODY4NSwtMC4wNzk4IC0xLjMwMzk2LC0wLjExNTY0MSAtMS4wNDE1NSwtMC4wODU2NSAtMi4wODcyNCwtMC4xNTgzIC0zLjEzNDQzLC0wLjIyMzkgLTAuNDE4MzUsLTAuMDI2MzEgLTAuODM1NTIsLTAuMDU1NjUgLTEuMjU0NzcsLTAuMDc4NzEgLTEuMDk3MzUsLTAuMDYwMiAtMi4xOTg0OSwtMC4xMDQ4MDQgLTMuMzAxNzIsLTAuMTQyNjk5IC0wLjM5MDY1LC0wLjAxMzU0IC0wLjc3OTczLC0wLjAzMzU2IC0xLjE3MTEsLTAuMDQ0MjggLTEuNDcwNzMsLTAuMDM5OTUgLTIuOTQ1NTcsLTAuMDYzOTkgLTQuNDI2MSwtMC4wNjM5OSB6IiAvPgo8L3N2Zz4K
data:image/svg+xml;base64,PD94bWwgdmVyc2lvbj0iMS4wIiBlbmNvZGluZz0iVVRGLTgiIHN0YW5kYWxvbmU9Im5vIj8+CjxzdmcKICAgeG1sbnM6ZGM9Imh0dHA6Ly9wdXJsLm9yZy9kYy9lbGVtZW50cy8xLjEvIgogICB4bWxuczpjYz0iaHR0cDovL2NyZWF0aXZlY29tbW9ucy5vcmcvbnMjIgogICB4bWxuczpyZGY9Imh0dHA6Ly93d3cudzMub3JnLzE5OTkvMDIvMjItcmRmLXN5bnRheC1ucyMiCiAgIHhtbG5zOnN2Zz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciCiAgIHhtbG5zPSJodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2ZyIKICAgeG1sbnM6c29kaXBvZGk9Imh0dHA6Ly9zb2RpcG9kaS5zb3VyY2Vmb3JnZS5uZXQvRFREL3NvZGlwb2RpLTAuZHRkIgogICB4bWxuczppbmtzY2FwZT0iaHR0cDovL3d3dy5pbmtzY2FwZS5vcmcvbmFtZXNwYWNlcy9pbmtzY2FwZSIKICAgc3R5bGU9ImhlaWdodDogNTEycHg7IHdpZHRoOiA1MTJweDsiCiAgIHZpZXdCb3g9IjAgMCA1MTIgNTEyIgogICB2ZXJzaW9uPSIxLjEiCiAgIGlkPSJzdmcxNTQ2IgogICBzb2RpcG9kaTpkb2NuYW1lPSJzdGFyX21haW5zZXF1ZW5jZS5zdmciCiAgIGlua3NjYXBlOnZlcnNpb249IjEuMCAoNDAzNWE0ZmI0OSwgMjAyMC0wNS0wMSkiPgogIDxtZXRhZGF0YQogICAgIGlkPSJtZXRhZGF0YTE1NTIiPgogICAgPHJkZjpSREY+CiAgICAgIDxjYzpXb3JrCiAgICAgICAgIHJkZjphYm91dD0iIj4KICAgICAgICA8ZGM6Zm9ybWF0PmltYWdlL3N2Zyt4bWw8L2RjOmZvcm1hdD4KICAgICAgICA8ZGM6dHlwZQogICAgICAgICAgIHJkZjpyZXNvdXJjZT0iaHR0cDovL3B1cmwub3JnL2RjL2RjbWl0eXBlL1N0aWxsSW1hZ2UiIC8+CiAgICAgICAgPGRjOnRpdGxlPjwvZGM6dGl0bGU+CiAgICAgIDwvY2M6V29yaz4KICAgIDwvcmRmOlJERj4KICA8L21ldGFkYXRhPgogIDxkZWZzCiAgICAgaWQ9ImRlZnMxNTUwIiAvPgogIDxzb2RpcG9kaTpuYW1lZHZpZXcKICAgICBpbmtzY2FwZTpkb2N1bWVudC1yb3RhdGlvbj0iMCIKICAgICBwYWdlY29sb3I9IiMwMDAwMDAiCiAgICAgYm9yZGVyY29sb3I9IiM2NjY2NjYiCiAgICAgYm9yZGVyb3BhY2l0eT0iMSIKICAgICBvYmplY3R0b2xlcmFuY2U9IjEwIgogICAgIGdyaWR0b2xlcmFuY2U9IjEwIgogICAgIGd1aWRldG9sZXJhbmNlPSIxMCIKICAgICBpbmtzY2FwZTpwYWdlb3BhY2l0eT0iMCIKICAgICBpbmtzY2FwZTpwYWdlc2hhZG93PSIyIgogICAgIGlua3NjYXBlOndpbmRvdy13aWR0aD0iMTkyMCIKICAgICBpbmtzY2FwZTp3aW5kb3ctaGVpZ2h0PSIxMDE3IgogICAgIGlkPSJuYW1lZHZpZXcxNTQ4IgogICAgIHNob3dncmlkPSJmYWxzZSIKICAgICBpbmtzY2FwZTp6b29tPSIxLjE3MzkwNzciCiAgICAgaW5rc2NhcGU6Y3g9IjIwMC4yMTY5IgogICAgIGlua3NjYXBlOmN5PSIzMTUuNjMxMTYiCiAgICAgaW5rc2NhcGU6d2luZG93LXg9Ii04IgogICAgIGlua3NjYXBlOndpbmRvdy15PSItOCIKICAgICBpbmtzY2FwZTp3aW5kb3ctbWF4aW1pemVkPSIxIgogICAgIGlua3NjYXBlOmN1cnJlbnQtbGF5ZXI9InN2ZzE1NDYiIC8+CiAgPHBhdGgKICAgICBkPSJNMCAwaDUxMnY1MTJIMHoiCiAgICAgZmlsbD0iIzAwMCIKICAgICBmaWxsLW9wYWNpdHk9IjAiCiAgICAgaWQ9InBhdGgxNTIyIiAvPgogIDxwYXRoCiAgICAgaWQ9InBhdGgxNTMwIgogICAgIHN0eWxlPSJmaWxsOiNmZmZmZmY7ZmlsbC1vcGFjaXR5OjE7c3Ryb2tlLXdpZHRoOjAuNzU1MzE4IgogICAgIGQ9Im0gMjU2LjAwMDAxLDEwMi40OTk5NiBjIC0xLjEzODcxLDEuODk3ODQgLTIuMjg5MDgsMy43ODM5MSAtMy40NTA1Niw1LjY1ODk2IC0yLjMyMzM3LDMuNzUwODIgLTQuNjkyMTIsNy40NTU3MiAtNy4xMDYxNCwxMS4xMTU4MSAtMi40MTQwMywzLjY2MDEgLTQuODczNDUsNy4yNzQ0NSAtNy4zNzc1OSwxMC44NDQzOCAtMS4yNTIwOSwxLjc4NDk2IC0yLjUxNTM2LDMuNTU4NiAtMy43ODk4NSw1LjMyMTEzIC0yLjU0OTAyLDMuNTI1MDYgLTUuMTQzNSw3LjAwNTkgLTcuNzgxODEsMTAuNDQxNjQgLTAuMjExNTYsLTAuMDg3NSAtMC40MjE0MiwtMC4xODA2NCAtMC42MzI4OCwtMC4yNjg1IC0zLjgxNjI5LC0xLjU4NjUgLTcuNjE3NTksLTMuMjMxMjEgLTExLjQwMzQ5LC00LjkzMDIgdiAwLjAxMTggYyAtMTEuODgzNjMsLTUuMzI1MjggLTIzLjYxODY4LC0xMS4xOTk0IC0zNS4yMDYyMiwtMTcuNjMxOSAtMC4yOTc1OCwxNy43MDY4NSAtMS41OTUzOSwzNS4xNDUxMyAtMy44NjM2LDUyLjMyMzI1IC0xNy4xNzgxMywyLjI2ODIxIC0zNC42MTU2OSwzLjU2NDU1IC01Mi4zMjE3NywzLjg2MjEzIDguNTk1NDgsMTUuNDgzOTYgMTYuMTkzMTcsMzEuMjMyODkgMjIuODE3MjksNDcuMjQ0MDUgLTEzLjc0Mjk1LDEwLjU1MzI4IC0yOC4xOTc3OSwyMC4zOTQ2MSAtNDMuMzgzMzksMjkuNTA1OTggMTUuMTg1Niw5LjExMTM2IDI5LjY0MTE5LDE4Ljk1MjczIDQzLjM4MzM5LDI5LjUwNDQ4IC02LjYyNDEyLDE2LjAxMjY3IC0xNC4yMjMyOSwzMS43NjE1NyAtMjIuODE4NzcsNDcuMjQ1NTIgMTcuNzA2ODUsMC4yOTc2IDM1LjE0NTEyLDEuNTkzOTIgNTIuMzIzMjUsMy44NjIxNSAyLjI2ODIxLDE3LjE3ODEgMy41NjQ1NSwzNC42MTcxNCAzLjg2MjE0LDUyLjMyMzIzIDE1LjQ4Mzk1LC04LjU5NTQ4IDMxLjIzMjg4LC0xNi4xOTQ2NiA0Ny4yNDQwNSwtMjIuODE4NzcgMy45OTc2LDUuMjA1ODcgNy44OTI5OSwxMC41MTUyNiAxMS42ODUyMywxNS45MjY1NCAxLjNlLTQsMC4wMDIgLTEuMWUtNCwwLjAwMyAwLDAuMDAzIDEuNDIyMSwyLjAyODk5IDIuODI2MTYsNC4wNzYxIDQuMjE5MTQsNi4xMzM5OCAwLjQwMDE0LDAuNTkxMjIgMC43OTU3NSwxLjE4Njk4IDEuMTkzNDgsMS43ODA1OSAxLjAyNTI2LDEuNTI5OTggMi4wNDI5NywzLjA2NzA2IDMuMDUyMjIsNC42MTMwNCAwLjQzMjMyLDAuNjYyMzUgMC44NjI5MSwxLjMyNjI1IDEuMjkyMzEsMS45OTE1NSAwLjk2ODI4LDEuNTAwMDUgMS45Mjc4MSwzLjAwOTM5IDIuODgxMSw0LjUyNDUxIDAuNDE0NTIsMC42NTg4NiAwLjgzMTk0LDEuMzE1MSAxLjI0MzYyLDEuOTc2ODEgMS4zMjYxOCwyLjEzMTU1IDIuNjQyMTksNC4yNzM1MiAzLjkzODg1LDYuNDM0OTIgMS4yOTY2NSwtMi4xNjE0IDIuNjEyNjUsLTQuMzAzMzcgMy45Mzg4NCwtNi40MzQ5MiAwLjQxMTY4LC0wLjY2MTcxIDAuODI5MTEsLTEuMzE3OTUgMS4yNDM2MiwtMS45NzY4MSAwLjk1MzI5LC0xLjUxNTEyIDEuOTEyODIsLTMuMDI0NDYgMi44ODExLC00LjUyNDUxIDAuNDI5NCwtMC42NjUzIDAuODU5OTgsLTEuMzI5MiAxLjI5MjMyLC0xLjk5MTU1IDEuMDA5MjQsLTEuNTQ1OTggMi4wMjY5NiwtMy4wODMwNSAzLjA1MjIxLC00LjYxMzA0IDAuMzk3NzQsLTAuNTkzNjEgMC43OTMzNSwtMS4xODkzNyAxLjE5MzQ3LC0xLjc4MDU5IDEuMzkyOTksLTIuMDU3ODggMi43OTcwNSwtNC4xMDQ5OSA0LjIxOTE1LC02LjEzMzk4IDEuMmUtNCwtMC4wMDIgLTEuM2UtNCwtMC4wMDMgMCwtMC4wMDMgMy43OTIyNCwtNS40MTEyOCA3LjY4NzYzLC0xMC43MjA2NyAxMS42ODUyMywtMTUuOTI2NTQgMTYuMDExMTYsNi42MjQxMSAzMS43NjAxMiwxNC4yMjMyOSA0Ny4yNDQwNSwyMi44MTg3NyAwLjI5NzU5LC0xNy43MDYwOSAxLjU5MzkzLC0zNS4xNDUxMyAzLjg2MjE0LC01Mi4zMjMyMyAxNy4xNzgxMywtMi4yNjgyMyAzNC42MTY0LC0zLjU2NDU1IDUyLjMyMzIzLC0zLjg2MjE1IC04LjU5NTQ3LC0xNS40ODM5NSAtMTYuMTk0NjMsLTMxLjIzMjg0IC0yMi44MTg3NCwtNDcuMjQ1NTIgMTMuNzQyMTksLTEwLjU1MTc1IDI4LjE5Nzc3LC0yMC4zOTMxMiA0My4zODMzNywtMjkuNTA0NDggLTE1LjE4NTYsLTkuMTExMzcgLTI5LjY0MDQzLC0xOC45NTI3IC00My4zODMzNywtMjkuNTA1OTUgNi42MjQxMSwtMTYuMDExMTYgMTQuMjIxOCwtMzEuNzYwMDkgMjIuODE3MjksLTQ3LjI0NDA1IC0xNy43MDYxLC0wLjI5NzU5IC0zNS4xNDM2NSwtMS41OTM5MiAtNTIuMzIxNzgsLTMuODYyMTQgLTIuMjY4MjEsLTE3LjE3ODEyIC0zLjU2NjAyLC0zNC42MTYzOSAtMy44NjM2MSwtNTIuMzIzMjQgLTExLjU4NzUzLDYuNDMyNSAtMjMuMzIyNTgsMTIuMzA2NjIgLTM1LjIwNjIyLDE3LjYzMTg4IHYgLTAuMDExOCBjIC0zLjc4NTg4LDEuNjk5IC03LjU4NzE5LDMuMzQzNyAtMTEuNDAzNDksNC45MzAyIC0wLjIxMTQ0LDAuMDg3OSAtMC40MjEzMSwwLjE4MDk3IC0wLjYzMjg3LDAuMjY4NDggLTIuNjM4MywtMy40MzU3MyAtNS4yMzI3OSwtNi45MTY1NyAtNy43ODE4MSwtMTAuNDQxNjIgLTEuMjc0NDgsLTEuNzYyNTQgLTIuNTM3NzUsLTMuNTM2MTggLTMuNzg5ODMsLTUuMzIxMTQgLTIuNTA0MTYsLTMuNTY5OTMgLTQuOTYzNTcsLTcuMTg0MjkgLTcuMzc3NiwtMTAuODQ0MzcgLTIuNDE0MDMsLTMuNjYwMDkgLTQuNzgyNzgsLTcuMzY0OTkgLTcuMTA2MTUsLTExLjExNTgyIC0xLjE2MTM1LC0xLjg3NDgzIC0yLjMxMTk3LC0zLjc2MTM0IC0zLjQ1MDU1LC01LjY1ODk2IHogbSAwLDQ0LjM2ODg0IGMgMC45Mjg2NCwwIDEuODU0NjksMC4wMTIyIDIuNzc3ODQsMC4wMzU0IDAuNDE0MzcsMC4wMTA0IDAuODI1OTcsMC4wMzA2IDEuMjM5MTksMC4wNDU3IDAuNTAzMzEsMC4wMTgzIDEuMDA3NTgsMC4wMzI0IDEuNTA5MTYsMC4wNTc1IDAuNTgwMjIsMC4wMjkyIDEuMTU3MDUsMC4wNjk1IDEuNzM0ODYsMC4xMDc2OSAwLjMyNzc2LDAuMDIxNiAwLjY1NywwLjAzODkgMC45ODM5NywwLjA2MzUgMC44ODU2LDAuMDY2NiAxLjc2ODQ0LDAuMTQzNzkgMi42NDgwMiwwLjIzMTYyIDAuNzgyMjQsMC4wNzgxIDEuNTYwOTUsMC4xNjY0NyAyLjMzODI0LDAuMjYxMTEgMC4xMjcxNSwwLjAxNTQgMC4yNTUwNywwLjAyODQgMC4zODIwOCwwLjA0NDMgMC44NzQ4NCwwLjEwOTY0IDEuNzQ3MjYsMC4yMjk2IDIuNjE1NTcsMC4zNTk5NCA4LjgyNTE1LDEuMzI0ODMgMTcuMzA2MDksMy43MTEzNyAyNS4zMTMzNyw3LjAyMDU5IHYgLTAuMDA5IGMgMzkuNjM0NTQsMTYuMzY5MzkgNjcuNTg4ODYsNTUuNDI0NjQgNjcuNTg4ODcsMTAwLjkxMjY5IDAsNTEuODc3OTEgLTM2LjM1NjM1LDk1LjM5MjQyIC04NC45MzYwMiwxMDYuNDI0MTMgLTAuOTM0MzcsMC4yMTIzMyAtMS44NzQ0NiwwLjQxMDc3IC0yLjgxNzY5LDAuNTk4OTQgLTAuMTQyMzEsMC4wMjgzIC0wLjI4NTI5LDAuMDU0OCAtMC40Mjc4MiwwLjA4MjYgLTAuNzgzMTEsMC4xNTI5NiAtMS41Njg0MiwwLjI5NzYzIC0yLjM1NzQsMC40MzM3MyAtMC4yNTk1NiwwLjA0NDcgLTAuNTIwMjEsMC4wODY5IC0wLjc4MDM5LDAuMTI5OCAtMC42ODU0OCwwLjExMzEgLTEuMzcyNjksMC4yMjEzNyAtMi4wNjIzNywwLjMyMTYxIC0wLjMxNDI1LDAuMDQ1NSAtMC42MjkwMywwLjA4ODQgLTAuOTQ0MTQsMC4xMzEyOSAtMC42NDg2NiwwLjA4ODUgLTEuMjk5NSwwLjE3MDg1IC0xLjk1MTcxLDAuMjQ3ODQgLTAuMzIyMzQsMC4wMzggLTAuNjQ0NTgsMC4wNzU1IC0wLjk2Nzc1LDAuMTEwNjMgLTAuNjU3ODYsMC4wNzE3IC0xLjMxODQ3LDAuMTM2MzIgLTEuOTc5NzYsMC4xOTYyMiAtMC4zMzA3NiwwLjAyOTggLTAuNjYxMjMsMC4wNjAxIC0wLjk5MjgyLDAuMDg3IC0wLjY2NDA1LDAuMDU0IC0xLjMzMDE0LDAuMDk5NiAtMS45OTc0NSwwLjE0MTY0IC0wLjMxNjE5LDAuMDE5OCAtMC42MzE2NywwLjA0MTkgLTAuOTQ4NTgsMC4wNTkgLTAuNjc0NDksMC4wMzY2IC0xLjM1MjI0LDAuMDYyOSAtMi4wMjk5LDAuMDg3MSAtMC4zMjkyLDAuMDExOCAtMC42NTcsMC4wMjggLTAuOTg2OTMsMC4wMzY5IC0wLjk4MDYsMC4wMjYyIC0xLjk2MzYxLDAuMDQxMyAtMi45NTA0NCwwLjA0MTMgLTAuOTg2ODQsMCAtMS45Njk4NSwtMC4wMTUxIC0yLjk1MDQ0LC0wLjA0MTMgLTAuMzI5OTMsLTAuMDA5IC0wLjY1Nzc0LC0wLjAyNTEgLTAuOTg2OTQsLTAuMDM2OSAtMC42Nzc2NSwtMC4wMjQzIC0xLjM1NTQxLC0wLjA1MDQgLTIuMDI5OSwtMC4wODcxIC0wLjMxNjkxLC0wLjAxNzEgLTAuNjMyMzksLTAuMDM5MiAtMC45NDg1OCwtMC4wNTkgLTAuNjY3MzIsLTAuMDQyIC0xLjMzMzQsLTAuMDg3NiAtMS45OTc0NSwtMC4xNDE2NCAtMC4zMzE1OSwtMC4wMjY5IC0wLjY2MjA2LC0wLjA1NzEgLTAuOTkyODIsLTAuMDg3IC0wLjY2MTI5LC0wLjA1OTkgLTEuMzIxOSwtMC4xMjQ1MyAtMS45Nzk3NSwtMC4xOTYyMiAtMC4zMjMxOSwtMC4wMzUyIC0wLjY0NTQyLC0wLjA3MjcgLTAuOTY3NzYsLTAuMTEwNjMgLTAuNjUyMiwtMC4wNzcgLTEuMzAzMDUsLTAuMTU5MzcgLTEuOTUxNzEsLTAuMjQ3ODQgLTAuMzE1MTEsLTAuMDQyOSAtMC42Mjk4OCwtMC4wODU3IC0wLjk0NDE1LC0wLjEzMTI5IC0wLjY4OTY3LC0wLjEwMDI0IC0xLjM3Njg4LC0wLjIwODUxIC0yLjA2MjM3LC0wLjMyMTYxIC0wLjI2MDE4LC0wLjA0MjggLTAuNTIwODIsLTAuMDg1MSAtMC43ODAzOCwtMC4xMjk4IC0wLjc4ODk4LC0wLjEzNjEgLTEuNTc0MjksLTAuMjgwNzcgLTIuMzU3NDEsLTAuNDMzNzMgLTAuMTQyNTIsLTAuMDI3OCAtMC4yODU1LC0wLjA1NDMgLTAuNDI3ODEsLTAuMDgyNiAtMC45NDMyMywtMC4xODgxNyAtMS44ODMzMSwtMC4zODY2MSAtMi44MTc2OSwtMC41OTg5NCAtNDguNTc5NjYsLTExLjAzMTcgLTg0LjkzNjAyLC01NC41NDYyMSAtODQuOTM2MDIsLTEwNi40MjQxMyAwLC00NS40ODgwNCAyNy45NTQzMywtODQuNTQzMyA2Ny41ODg4NiwtMTAwLjkxMjY5IHYgMC4wMDkgYyA4LjAwNzI5LC0zLjMwOTIyIDE2LjQ4ODI0LC01LjY5NTc2IDI1LjMxMzM4LC03LjAyMDU5IDAuODY4MzEsLTAuMTMwMzUgMS43NDA3MywtMC4yNTAzIDIuNjE1NTcsLTAuMzU5OTUgMC4xMjcwMSwtMC4wMTU5IDAuMjU0OTQsLTAuMDI4OCAwLjM4MjA4LC0wLjA0NDIgMC43NzcyOSwtMC4wOTQ2IDEuNTU2LC0wLjE4MzAxIDIuMzM4MjMsLTAuMjYxMTIgMC44Nzk1OCwtMC4wODc4IDEuNzYyNDMsLTAuMTY0OTMgMi42NDgwMiwtMC4yMzE2MSAwLjMyNjk5LC0wLjAyNDUgMC42NTYyMiwtMC4wNDE4IDAuOTgzOTgsLTAuMDYzNSAwLjU3NzgxLC0wLjAzODIgMS4xNTQ2NCwtMC4wNzg2IDEuNzM0ODYsLTAuMTA3NjkgMC41MDE1OCwtMC4wMjUxIDEuMDA1ODYsLTAuMDM5MyAxLjUwOTE2LC0wLjA1NzUgMC40MTMyMiwtMC4wMTUgMC44MjQ4MiwtMC4wMzUyIDEuMjM5MTksLTAuMDQ1NyAwLjkyMjk5LC0wLjAyMzMgMS44NDkyOSwtMC4wMzU0IDIuNzc3ODUsLTAuMDM1NCB6IG0gMCwxMy41OTQxOCBjIC0wLjg4Nzc1LDAgLTEuNzcyMDgsMC4wMTQ0IC0yLjY1MzkzLDAuMDM4MyAtMC4yMzQ2OCwwLjAwNyAtMC40Njc5OCwwLjAxODUgLTAuNzAyMjEsMC4wMjY1IC0wLjY2MTUxLDAuMDIyOCAtMS4zMjE3NiwwLjA0OTQgLTEuOTc5NzQsMC4wODU2IC0wLjI1MTM4LDAuMDEzOCAtMC41MDE1MywwLjAzMTQgLTAuNzUyMzcsMC4wNDcyIC0wLjYyNzksMC4wMzkzIC0xLjI1NDkyLDAuMDgyOSAtMS44Nzk0NCwwLjEzNDI1IC0wLjI2MTEsMC4wMjE1IC0wLjUyMTM3LDAuMDQ1NyAtMC43ODE4NSwwLjA2OTMgLTAuNjQxMjYsMC4wNTggLTEuMjgwMzUsMC4xMjI3MyAtMS45MTc4MiwwLjE5MzI2IC0wLjIyMTQ0LDAuMDI0NiAtMC40NDI4MywwLjA0OSAtMC42NjM4NCwwLjA3NTIgLTAuNzAwMTcsMC4wODI0IC0xLjM5Nzk0LDAuMTcyNTYgLTIuMDkzMzUsMC4yNjk5NyAtMC4xNDY5OCwwLjAyMDcgLTAuMjk0MzIsMC4wNDA2IC0wLjQ0MTA4LDAuMDYxOSAtMC44MjAxNiwwLjExODc3IC0xLjYzNzE1LDAuMjQ3MSAtMi40NTAzNSwwLjM4NjUxIC0wLjAyOTUsMC4wMDUgLTAuMDU5LDAuMDEgLTAuMDg4NSwwLjAxNDcgLTQ0Ljk5OTYyLDcuNzU3NDIgLTc5LjEzMTAyLDQ2Ljg4NDYgLTc5LjEzMTAyLDk0LjEzMjU3IDFlLTUsNDcuMjQ3OTYgMzQuMTMxNCw4Ni4zNzUxNCA3OS4xMzEwMiw5NC4xMzI1NSAwLjAyOTUsMC4wMDUgMC4wNTksMC4wMSAwLjA4ODUsMC4wMTQ3IDAuODEzMiwwLjEzOTQyIDEuNjMwMTksMC4yNjc3MyAyLjQ1MDM1LDAuMzg2NTEgMC4xNDY3NiwwLjAyMTMgMC4yOTQxLDAuMDQxMyAwLjQ0MTA4LDAuMDYxOSAwLjY5NTQxLDAuMDk3NCAxLjM5MzE4LDAuMTg3NTUgMi4wOTMzNSwwLjI2OTk2IDAuMjIxMDEsMC4wMjYyIDAuNDQyNCwwLjA1MDcgMC42NjM4NCwwLjA3NTMgMC42Mzc0NywwLjA3MDUgMS4yNzY1NiwwLjEzNTI2IDEuOTE3ODIsMC4xOTMyNCAwLjI2MDQ4LDAuMDIzNiAwLjUyMDc1LDAuMDQ3OSAwLjc4MTg1LDAuMDY5NCAwLjYyNDUyLDAuMDUxNCAxLjI1MTU0LDAuMDk0OSAxLjg3OTQ0LDAuMTM0MjQgMC4yNTA4NCwwLjAxNTggMC41MDA5OSwwLjAzMzQgMC43NTIzNywwLjA0NzIgMC42NTc5OCwwLjAzNjEgMS4zMTgyMywwLjA2MjkgMS45Nzk3NCwwLjA4NTYgMC4yMzQyMywwLjAwOSAwLjQ2NzUzLDAuMDIwMiAwLjcwMjIxLDAuMDI2NiAwLjg4MTg1LDAuMDI0IDEuNzY2MTgsMC4wMzgzIDIuNjUzOTMsMC4wMzgzIDAuODg3NzMsMCAxLjc3MjA3LC0wLjAxNDQgMi42NTM5MywtMC4wMzgzIDAuMjM0NjYsLTAuMDA3IDAuNDY3OTcsLTAuMDE4NSAwLjcwMjIsLTAuMDI2NiAwLjY2MTUxLC0wLjAyMjcgMS4zMjE3NiwtMC4wNDk0IDEuOTc5NzQsLTAuMDg1NiAwLjI1MTM4LC0wLjAxMzggMC41MDE1MywtMC4wMzE0IDAuNzUyMzgsLTAuMDQ3MiAwLjYyNzkxLC0wLjAzOTMgMS4yNTQ5MSwtMC4wODI5IDEuODc5NDMsLTAuMTM0MjQgMC4yNjExMSwtMC4wMjE1IDAuNTIxMzcsLTAuMDQ1NiAwLjc4MTg3LC0wLjA2OTQgMC42NDEyNCwtMC4wNTgxIDEuMjgwMzMsLTAuMTIyNzEgMS45MTc4LC0wLjE5MzI0IDAuMjIxNDUsLTAuMDI0NSAwLjQ0MjgzLC0wLjA0OTEgMC42NjM4NSwtMC4wNzUzIDAuNzAwMTUsLTAuMDgyNCAxLjM5NzkzLC0wLjE3MjU1IDIuMDkzMzQsLTAuMjY5OTYgMC4xNDY5OCwtMC4wMjA2IDAuMjk0MzIsLTAuMDQwNyAwLjQ0MTA4LC0wLjA2MTkgMC44MjAxNiwtMC4xMTg3OCAxLjYzNzE1LC0wLjI0NzA5IDIuNDUwMzUsLTAuMzg2NTEgMC4wMjk1LC0wLjAwNSAwLjA1OTEsLTAuMDEgMC4wODg1LC0wLjAxNDcgNDQuOTk5NjIsLTcuNzU3NDEgNzkuMTMxMDEsLTQ2Ljg4NDU5IDc5LjEzMTAzLC05NC4xMzI1NSAwLC00Ny4yNDc5NyAtMzQuMTMxNDEsLTg2LjM3NTE1IC03OS4xMzEwMywtOTQuMTMyNTcgLTAuMDI5NSwtMC4wMDUgLTAuMDU5MSwtMC4wMSAtMC4wODg1LC0wLjAxNDcgLTAuODEzMiwtMC4xMzk0MSAtMS42MzAxOSwtMC4yNjc3MyAtMi40NTAzNSwtMC4zODY1MSAtMC4xNDY3NiwtMC4wMjEzIC0wLjI5NDEsLTAuMDQxMyAtMC40NDEwOCwtMC4wNjE5IC0wLjY5NTQxLC0wLjA5NzQgLTEuMzkzMTksLTAuMTg3NTYgLTIuMDkzMzQsLTAuMjY5OTcgLTAuMjIxMDIsLTAuMDI2MSAtMC40NDI0LC0wLjA1MDYgLTAuNjYzODUsLTAuMDc1MiAtMC42Mzc0NywtMC4wNzA2IC0xLjI3NjU2LC0wLjEzNTI4IC0xLjkxNzgsLTAuMTkzMjYgLTAuMjYwNSwtMC4wMjM3IC0wLjUyMDc2LC0wLjA0NzkgLTAuNzgxODcsLTAuMDY5MyAtMC42MjQ1MiwtMC4wNTE0IC0xLjI1MTUyLC0wLjA5NDkgLTEuODc5NDMsLTAuMTM0MjUgLTAuMjUwODUsLTAuMDE1OCAtMC41MDEsLTAuMDMzNCAtMC43NTIzOCwtMC4wNDcyIC0wLjY1Nzk4LC0wLjAzNjEgLTEuMzE4MjMsLTAuMDYyOSAtMS45Nzk3NCwtMC4wODU2IC0wLjIzNDIzLC0wLjAwOSAtMC40Njc1NCwtMC4wMjAyIC0wLjcwMjIsLTAuMDI2NiAtMC44ODE4NiwtMC4wMjM5IC0xLjc2NjIsLTAuMDM4MyAtMi42NTM5MywtMC4wMzgzIHoiIC8+Cjwvc3ZnPgo=
data:image/svg+xml;base64,PD94bWwgdmVyc2lvbj0iMS4wIiBlbmNvZGluZz0iVVRGLTgiIHN0YW5kYWxvbmU9Im5vIj8+CjxzdmcKICAgeG1sbnM6ZGM9Imh0dHA6Ly9wdXJsLm9yZy9kYy9lbGVtZW50cy8xLjEvIgogICB4bWxuczpjYz0iaHR0cDovL2NyZWF0aXZlY29tbW9ucy5vcmcvbnMjIgogICB4bWxuczpyZGY9Imh0dHA6Ly93d3cudzMub3JnLzE5OTkvMDIvMjItcmRmLXN5bnRheC1ucyMiCiAgIHhtbG5zOnN2Zz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciCiAgIHhtbG5zPSJodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2ZyIKICAgeG1sbnM6c29kaXBvZGk9Imh0dHA6Ly9zb2RpcG9kaS5zb3VyY2Vmb3JnZS5uZXQvRFREL3NvZGlwb2RpLTAuZHRkIgogICB4bWxuczppbmtzY2FwZT0iaHR0cDovL3d3dy5pbmtzY2FwZS5vcmcvbmFtZXNwYWNlcy9pbmtzY2FwZSIKICAgc3R5bGU9ImhlaWdodDogNTEycHg7IHdpZHRoOiA1MTJweDsiCiAgIHZpZXdCb3g9IjAgMCA1MTIgNTEyIgogICB2ZXJzaW9uPSIxLjEiCiAgIGlkPSJzdmcxNTQ2IgogICBzb2RpcG9kaTpkb2NuYW1lPSJzdGFyX3N1YmdpYW50LnN2ZyIKICAgaW5rc2NhcGU6dmVyc2lvbj0iMS4wICg0MDM1YTRmYjQ5LCAyMDIwLTA1LTAxKSI+CiAgPG1ldGFkYXRhCiAgICAgaWQ9Im1ldGFkYXRhMTU1MiI+CiAgICA8cmRmOlJERj4KICAgICAgPGNjOldvcmsKICAgICAgICAgcmRmOmFib3V0PSIiPgogICAgICAgIDxkYzpmb3JtYXQ+aW1hZ2Uvc3ZnK3htbDwvZGM6Zm9ybWF0PgogICAgICAgIDxkYzp0eXBlCiAgICAgICAgICAgcmRmOnJlc291cmNlPSJodHRwOi8vcHVybC5vcmcvZGMvZGNtaXR5cGUvU3RpbGxJbWFnZSIgLz4KICAgICAgICA8ZGM6dGl0bGU+PC9kYzp0aXRsZT4KICAgICAgPC9jYzpXb3JrPgogICAgPC9yZGY6UkRGPgogIDwvbWV0YWRhdGE+CiAgPGRlZnMKICAgICBpZD0iZGVmczE1NTAiIC8+CiAgPHNvZGlwb2RpOm5hbWVkdmlldwogICAgIGlua3NjYXBlOmRvY3VtZW50LXJvdGF0aW9uPSIwIgogICAgIHBhZ2Vjb2xvcj0iIzAwMDAwMCIKICAgICBib3JkZXJjb2xvcj0iIzY2NjY2NiIKICAgICBib3JkZXJvcGFjaXR5PSIxIgogICAgIG9iamVjdHRvbGVyYW5jZT0iMTAiCiAgICAgZ3JpZHRvbGVyYW5jZT0iMTAiCiAgICAgZ3VpZGV0b2xlcmFuY2U9IjEwIgogICAgIGlua3NjYXBlOnBhZ2VvcGFjaXR5PSIwIgogICAgIGlua3NjYXBlOnBhZ2VzaGFkb3c9IjIiCiAgICAgaW5rc2NhcGU6d2luZG93LXdpZHRoPSIxOTIwIgogICAgIGlua3NjYXBlOndpbmRvdy1oZWlnaHQ9IjEwMTciCiAgICAgaWQ9Im5hbWVkdmlldzE1NDgiCiAgICAgc2hvd2dyaWQ9ImZhbHNlIgogICAgIGlua3NjYXBlOnpvb209IjEuMTczOTA3NyIKICAgICBpbmtzY2FwZTpjeD0iMjAwLjIxNjkiCiAgICAgaW5rc2NhcGU6Y3k9IjMxNS42MzExNiIKICAgICBpbmtzY2FwZTp3aW5kb3cteD0iLTgiCiAgICAgaW5rc2NhcGU6d2luZG93LXk9Ii04IgogICAgIGlua3NjYXBlOndpbmRvdy1tYXhpbWl6ZWQ9IjEiCiAgICAgaW5rc2NhcGU6Y3VycmVudC1sYXllcj0ic3ZnMTU0NiIgLz4KICA8cGF0aAogICAgIGQ9Ik0wIDBoNTEydjUxMkgweiIKICAgICBmaWxsPSIjMDAwIgogICAgIGZpbGwtb3BhY2l0eT0iMCIKICAgICBpZD0icGF0aDE1MjIiIC8+CiAgPHBhdGgKICAgICBpZD0icGF0aDE1MzAiCiAgICAgc3R5bGU9ImZpbGw6I2ZmZmZmZjtmaWxsLW9wYWNpdHk6MTtzdHJva2Utd2lkdGg6MC44ODA3OTQiCiAgICAgZD0ibSAyNTYuMDAwMDEsNzcuMDAwMjE5IGMgLTEuMzI3ODgsMi4yMTMxMDkgLTIuNjY5MzUsNC40MTI1MDEgLTQuMDIzNzgsNi41OTkwNDYgLTIuNzA5MzQsNC4zNzM5MjMgLTUuNDcxNTksOC42OTQyOTUgLTguMjg2NjQsMTIuOTYyNDEzIC0yLjgxNTA2LDQuMjY4MTIyIC01LjY4MzA0LDguNDgyOTAyIC04LjYwMzE4LDEyLjY0NTg4MiAtMS40NjAwOSwyLjA4MTQ4IC0yLjkzMzIyLDQuMTQ5NzcgLTQuNDE5NDQsNi4yMDUxIC0yLjk3MjQ3LDQuMTEwNjUgLTUuOTk3OTUsOC4xNjk3NCAtOS4wNzQ1NSwxMi4xNzYyNCAtMC4yNDY3LC0wLjEwMjA3IC0wLjQ5MTQzLC0wLjIxMDY1IC0wLjczODAxLC0wLjMxMzEgLTQuNDUwMjcsLTEuODUwMDYgLTguODgzMDYsLTMuNzY3OTkgLTEzLjI5Nzg4LC01Ljc0OTIzIHYgMC4wMTM4IGMgLTEzLjg1Nzc5LC02LjIwOTkzIC0yNy41NDIzMSwtMTMuMDU5ODkgLTQxLjA1NDgxLC0yMC41NjA5NyAtMC4zNDcwMiwyMC42NDgzNyAtMS44NjA0Myw0MC45ODM1NiAtNC41MDU0NCw2MS4wMTUzOCAtMjAuMDMxODMsMi42NDUwMSAtNDAuMzY2MTgsNC4xNTY3IC02MS4wMTM2Niw0LjUwMzcyIDEwLjAyMzM5LDE4LjA1NjIxIDE4Ljg4MzI0LDM2LjQyMTQxIDI2LjYwNzc4LDU1LjA5MjQxIC0xNi4wMjU5OCwxMi4zMDY0IC0zMi44ODIxMDksMjMuNzgyNjEgLTUwLjU5MDQsMzQuNDA3NTkgMTcuNzA4MjkxLDEwLjYyNDk3IDM0LjU2NTMsMjIuMTAxMjMgNTAuNTkwNCwzNC40MDU4NyAtNy43MjQ1NCwxOC42NzI3NiAtMTYuNTg2MTEsMzcuMDM3OTMgLTI2LjYwOTUxLDU1LjA5NDEzIDIwLjY0ODM4LDAuMzQ3MDQgNDAuOTgzNTYsMS44NTg3MSA2MS4wMTUzOSw0LjUwMzc0IDIuNjQ1MDEsMjAuMDMxNzkgNC4xNTY3LDQwLjM2Nzg4IDQuNTAzNzMsNjEuMDE1MzcgMTguMDU2MiwtMTAuMDIzNCAzNi40MjE0MSwtMTguODg0OTggNTUuMDkyNDEsLTI2LjYwOTUxIDQuNjYxNyw2LjA3MDY5IDkuMjA0MiwxMi4yNjIwOSAxMy42MjY0MywxOC41NzIzMSAxLjVlLTQsMC4wMDIgLTEuM2UtNCwwLjAwMyAwLDAuMDAzIDEuNjU4MzQsMi4zNjYwNiAzLjI5NTY1LDQuNzUzMjQgNC45MjAwNCw3LjE1Mjk4IDAuNDY2NjEsMC42ODk0NCAwLjkyNzk0LDEuMzg0MTcgMS4zOTE3NCwyLjA3NjM5IDEuMTk1NTgsMS43ODQxNSAyLjM4MjM2LDMuNTc2NTcgMy41NTkyNyw1LjM3OTM3IDAuNTA0MTQsMC43NzIzOSAxLjAwNjI2LDEuNTQ2NTggMS41MDY5OSwyLjMyMjQgMS4xMjkxMywxLjc0OTI0IDIuMjQ4MDcsMy41MDkzMiAzLjM1OTcyLDUuMjc2MTQgMC40ODMzOCwwLjc2ODMxIDAuOTcwMTUsMS41MzM1NyAxLjQ1MDIxLDIuMzA1MiAxLjU0NjUsMi40ODU2NSAzLjA4MTEyLDQuOTgzNDYgNC41OTMxOSw3LjUwMzkyIDEuNTEyMDYsLTIuNTIwNDYgMy4wNDY2OCwtNS4wMTgyNyA0LjU5MzE4LC03LjUwMzkyIDAuNDgwMDcsLTAuNzcxNjMgMC45NjY4NCwtMS41MzY4OSAxLjQ1MDIxLC0yLjMwNTIgMS4xMTE2NiwtMS43NjY4MiAyLjIzMDU5LC0zLjUyNjkgMy4zNTk3MiwtNS4yNzYxNCAwLjUwMDczLC0wLjc3NTgyIDEuMDAyODQsLTEuNTUwMDEgMS41MDcsLTIuMzIyNCAxLjE3NjkxLC0xLjgwMjggMi4zNjM2OSwtMy41OTUyMSAzLjU1OTI2LC01LjM3OTM3IDAuNDYzODEsLTAuNjkyMjIgMC45MjUxNCwtMS4zODY5NSAxLjM5MTc0LC0yLjA3NjM5IDEuNjI0MzksLTIuMzk5NzQgMy4yNjE3LC00Ljc4NjkyIDQuOTIwMDQsLTcuMTUyOTggMS40ZS00LC0wLjAwMiAtMS41ZS00LC0wLjAwMyAwLC0wLjAwMyA0LjQyMjIzLC02LjMxMDIyIDguOTY0NzMsLTEyLjUwMTYyIDEzLjYyNjQzLC0xOC41NzIzMSAxOC42NzEsNy43MjQ1MyAzNy4wMzYyMywxNi41ODYxMSA1NS4wOTI0MSwyNi42MDk1MSAwLjM0NzAzLC0yMC42NDc0OSAxLjg1ODcyLC00MC45ODM1OCA0LjUwMzczLC02MS4wMTUzNyAyMC4wMzE4MywtMi42NDUwMyA0MC4zNjcwMSwtNC4xNTY3IDYxLjAxNTM3LC00LjUwMzc0IC0xMC4wMjMzOSwtMTguMDU2MiAtMTguODg0OTUsLTM2LjQyMTM2IC0yNi42MDk0OCwtNTUuMDk0MTMgMTYuMDI1MSwtMTIuMzA0NjQgMzIuODgyMDksLTIzLjc4MDkgNTAuNTkwMzgsLTM0LjQwNTg3IC0xNy43MDgyOSwtMTAuNjI0OTggLTM0LjU2NDQxLC0yMi4xMDExOSAtNTAuNTkwMzgsLTM0LjQwNzU5IDcuNzI0NTMsLTE4LjY3MSAxNi41ODQzOCwtMzcuMDM2MiAyNi42MDc3OSwtNTUuMDkyNDEgLTIwLjY0NzUxLC0wLjM0NzAzIC00MC45ODE4NSwtMS44NTg3MSAtNjEuMDEzNjgsLTQuNTAzNzMgLTIuNjQ1MDEsLTIwLjAzMTgyIC00LjE1ODQyLC00MC4zNjcgLTQuNTA1NDUsLTYxLjAxNTM4IC0xMy41MTI0OSw3LjUwMTA5IC0yNy4xOTcwMSwxNC4zNTEwNSAtNDEuMDU0OCwyMC41NjA5NiB2IC0wLjAxMzggYyAtNC40MTQ4MSwxLjk4MTI0IC04Ljg0NzYxLDMuODk5MTcgLTEzLjI5Nzg4LDUuNzQ5MjIgLTAuMjQ2NTcsMC4xMDI0NSAtMC40OTEzMSwwLjIxMTA0IC0wLjczODAxLDAuMzEzMDkgLTMuMDc2NTksLTQuMDA2NDkgLTYuMTAyMDgsLTguMDY1NTggLTkuMDc0NTUsLTEyLjE3NjIzIC0xLjQ4NjIxLC0yLjA1NTMzIC0yLjk1OTM0LC00LjEyMzYyIC00LjQxOTQyLC02LjIwNTEgLTIuOTIwMTYsLTQuMTYyOTggLTUuNzg4MTMsLTguMzc3NzcgLTguNjAzMTksLTEyLjY0NTg4MiAtMi44MTUwNiwtNC4yNjgxMTkgLTUuNTc3MzEsLTguNTg4NDkyIC04LjI4NjY1LC0xMi45NjI0MTUgLTEuMzU0MjgsLTIuMTg2MjkgLTIuNjk2MDQsLTQuMzg2MTk1IC00LjAyMzc3LC02LjU5OTA0NiB6IG0gMCw1MS43Mzk1NTEgYyAxLjA4MjkxLDAgMi4xNjI4LDAuMDE0MiAzLjIzOTMxLDAuMDQxMyAwLjQ4MzIsMC4wMTIxIDAuOTYzMTgsMC4wMzU3IDEuNDQ1MDUsMC4wNTMzIDAuNTg2OTIsMC4wMjEzIDEuMTc0OTYsMC4wMzc4IDEuNzU5ODYsMC4wNjcxIDAuNjc2NjEsMC4wMzQgMS4zNDkyNywwLjA4MSAyLjAyMzA2LDAuMTI1NTggMC4zODIyMSwwLjAyNTIgMC43NjYxNSwwLjA0NTQgMS4xNDc0NCwwLjA3NCAxLjAzMjcxLDAuMDc3NyAyLjA2MjIyLDAuMTY3NjggMy4wODc5MiwwLjI3MDEgMC45MTIxOCwwLjA5MTEgMS44MjAyNSwwLjE5NDEyIDIuNzI2NjcsMC4zMDQ0OCAwLjE0ODI3LDAuMDE4IDAuMjk3NDQsMC4wMzMxIDAuNDQ1NTUsMC4wNTE2IDEuMDIwMTgsMC4xMjc4NiAyLjAzNzUzLDAuMjY3NzUgMy4wNTAwOCwwLjQxOTc0IDEwLjI5MTIyLDEuNTQ0OTIgMjAuMTgxMDUsNC4zMjc5MiAyOS41MTg1Myw4LjE4Njg4IHYgLTAuMDEwMyBjIDQ2LjIxODc3LDE5LjA4ODc0IDc4LjgxNjk3LDY0LjYzMTk5IDc4LjgxNjk4LDExNy42NzY2OSAwLDYwLjQ5NjA2IC00Mi4zOTYsMTExLjIzOTM3IC05OS4wNDU5MSwxMjQuMTAzNyAtMS4wODk1OSwwLjI0NzYxIC0yLjE4NTg1LDAuNDc5MDIgLTMuMjg1NzcsMC42OTg0NCAtMC4xNjU5NiwwLjAzMyAtMC4zMzI2OSwwLjA2MzkgLTAuNDk4ODksMC4wOTYzIC0wLjkxMzIxLDAuMTc4MzcgLTEuODI4OTgsMC4zNDcwOCAtMi43NDkwMywwLjUwNTc4IC0wLjMwMjY4LDAuMDUyMSAtMC42MDY2MiwwLjEwMTM5IC0wLjkxMDAzLDAuMTUxMzcgLTAuNzk5MzUsMC4xMzE4OSAtMS42MDA3MiwwLjI1ODE0IC0yLjQwNDk3LDAuMzc1MDMgLTAuMzY2NDYsMC4wNTMxIC0wLjczMzUzLDAuMTAzMDcgLTEuMTAwOTksMC4xNTMxIC0wLjc1NjQyLDAuMTAzMTcgLTEuNTE1MzgsMC4xOTkyNCAtMi4yNzU5NCwwLjI4OTAyIC0wLjM3NTg4LDAuMDQ0MyAtMC43NTE2NSwwLjA4OCAtMS4xMjg1MSwwLjEyOTAxIC0wLjc2NzE1LDAuMDgzNiAtMS41Mzc1LDAuMTU4OTYgLTIuMzA4NjUsMC4yMjg4MSAtMC4zODU3LDAuMDM0OCAtMC43NzEwNywwLjA3MDEgLTEuMTU3NzUsMC4xMDE0OCAtMC43NzQzNiwwLjA2MyAtMS41NTExMSwwLjExNjE3IC0yLjMyOTI3LDAuMTY1MTcgLTAuMzY4NzIsMC4wMjMxIC0wLjczNjYxLDAuMDQ4OCAtMS4xMDYxNiwwLjA2ODggLTAuNzg2NTQsMC4wNDI3IC0xLjU3Njg4LDAuMDczNCAtMi4zNjcxMiwwLjEwMTUyIC0wLjM4Mzg4LDAuMDEzNyAtMC43NjYxNCwwLjAzMjcgLTEuMTUwODgsMC4wNDMgLTEuMTQzNSwwLjAzMDYgLTIuMjg5ODEsMC4wNDgyIC0zLjQ0MDU4LDAuMDQ4MiAtMS4xNTA3OCwwIC0yLjI5NzA5LC0wLjAxNzYgLTMuNDQwNTgsLTAuMDQ4MiAtMC4zODQ3MywtMC4wMTAzIC0wLjc2NywtMC4wMjkzIC0xLjE1MDg5LC0wLjA0MyAtMC43OTAyMywtMC4wMjgzIC0xLjU4MDU4LC0wLjA1ODggLTIuMzY3MTIsLTAuMTAxNTIgLTAuMzY5NTUsLTAuMDIgLTAuNzM3NDQsLTAuMDQ1NyAtMS4xMDYxNiwtMC4wNjg4IC0wLjc3ODE3LC0wLjA0OSAtMS41NTQ5MSwtMC4xMDIxNiAtMi4zMjkyNywtMC4xNjUxNyAtMC4zODY2OCwtMC4wMzE0IC0wLjc3MjA0LC0wLjA2NjYgLTEuMTU3NzUsLTAuMTAxNDggLTAuNzcxMTUsLTAuMDY5OCAtMS41NDE1LC0wLjE0NTIxIC0yLjMwODY0LC0wLjIyODgxIC0wLjM3Njg4LC0wLjA0MSAtMC43NTI2NCwtMC4wODQ4IC0xLjEyODUyLC0wLjEyOTAxIC0wLjc2MDU1LC0wLjA4OTggLTEuNTE5NTIsLTAuMTg1ODUgLTIuMjc1OTQsLTAuMjg5MDIgLTAuMzY3NDYsLTAuMDUgLTAuNzM0NTIsLTAuMDk5OSAtMS4xMDA5OSwtMC4xNTMxIC0wLjgwNDI1LC0wLjExNjg5IC0xLjYwNTYyLC0wLjI0MzE0IC0yLjQwNDk4LC0wLjM3NTAzIC0wLjMwMzQsLTAuMDQ5OSAtMC42MDczNCwtMC4wOTkyIC0wLjkxMDAyLC0wLjE1MTM3IC0wLjkyMDA1LC0wLjE1ODcgLTEuODM1ODIsLTAuMzI3NDEgLTIuNzQ5MDMsLTAuNTA1NzggLTAuMTY2MiwtMC4wMzI0IC0wLjMzMjkzLC0wLjA2MzMgLTAuNDk4ODksLTAuMDk2MyAtMS4wOTk5MiwtMC4yMTk0MiAtMi4xOTYxNywtMC40NTA4MyAtMy4yODU3NywtMC42OTg0NCAtNTYuNjQ5OSwtMTIuODY0MzIgLTk5LjA0NTkxLC02My42MDc2MyAtOTkuMDQ1OTEsLTEyNC4xMDM3IDAsLTUzLjA0NDY5IDMyLjU5ODIxLC05OC41ODc5NSA3OC44MTY5OCwtMTE3LjY3NjY5IHYgMC4wMTAzIGMgOS4zMzc0OCwtMy44NTg5NiAxOS4yMjczMiwtNi42NDE5NiAyOS41MTg1MywtOC4xODY4OCAxLjAxMjU1LC0wLjE1MiAyLjAyOTksLTAuMjkxODggMy4wNTAwOCwtMC40MTk3NSAwLjE0ODExLC0wLjAxODUgMC4yOTcyOSwtMC4wMzM2IDAuNDQ1NTUsLTAuMDUxNiAwLjkwNjQyLC0wLjExMDM2IDEuODE0NDksLTAuMjEzNDEgMi43MjY2NywtMC4zMDQ0OSAxLjAyNTcsLTAuMTAyNDEgMi4wNTUyMSwtMC4xOTIzNCAzLjA4NzkyLC0wLjI3MDA5IDAuMzgxMywtMC4wMjg2IDAuNzY1MjMsLTAuMDQ4NyAxLjE0NzQ0LC0wLjA3NCAwLjY3MzgsLTAuMDQ0NiAxLjM0NjQ1LC0wLjA5MTYgMi4wMjMwNiwtMC4xMjU1OCAwLjU4NDksLTAuMDI5MyAxLjE3Mjk1LC0wLjA0NTggMS43NTk4NiwtMC4wNjcxIDAuNDgxODcsLTAuMDE3NSAwLjk2MTg1LC0wLjA0MTEgMS40NDUwNSwtMC4wNTMzIDEuMDc2MzMsLTAuMDI3MiAyLjE1NjUsLTAuMDQxMyAzLjIzOTMyLC0wLjA0MTMgeiBtIDAsMTUuODUyNSBjIC0xLjAzNTIyLDAgLTIuMDY2NDYsMC4wMTY4IC0zLjA5NDgxLDAuMDQ0NyAtMC4yNzM2NywwLjAwOCAtMC41NDU3MiwwLjAyMTYgLTAuODE4ODYsMC4wMzA5IC0wLjc3MTQsMC4wMjY2IC0xLjU0MTM0LDAuMDU3NiAtMi4zMDg2MywwLjA5OTggLTAuMjkzMTQsMC4wMTYxIC0wLjU4NDg0LDAuMDM2NiAtMC44NzczNSwwLjA1NSAtMC43MzIyMSwwLjA0NTggLTEuNDYzMzksMC4wOTY3IC0yLjE5MTY2LDAuMTU2NTYgLTAuMzA0NDgsMC4wMjUxIC0wLjYwNzk4LDAuMDUzMyAtMC45MTE3NCwwLjA4MDggLTAuNzQ3NzgsMC4wNjc2IC0xLjQ5MzA0LDAuMTQzMTEgLTIuMjM2NDEsMC4yMjUzNiAtMC4yNTgyMywwLjAyODcgLTAuNTE2NCwwLjA1NzIgLTAuNzc0MTIsMC4wODc3IC0wLjgxNjQ4LDAuMDk2MSAtMS42MzAxNywwLjIwMTIzIC0yLjQ0MTExLDAuMzE0ODIgLTAuMTcxMzksMC4wMjQyIC0wLjM0MzIxLDAuMDQ3MyAtMC41MTQzNSwwLjA3MjIgLTAuOTU2NDEsMC4xMzg1IC0xLjkwOTEyLDAuMjg4MTUgLTIuODU3NDEsMC40NTA3MiAtMC4wMzQ0LDAuMDA2IC0wLjA2ODgsMC4wMTEyIC0wLjEwMzIyLDAuMDE3MiAtNTIuNDc1MTIsOS4wNDYxMSAtOTIuMjc2NTYsNTQuNjczMjQgLTkyLjI3NjU2LDEwOS43NzAyMyAxZS01LDU1LjA5Njk3IDM5LjgwMTQ0LDEwMC43MjQxIDkyLjI3NjU2LDEwOS43NzAyIDAuMDM0NCwwLjAwNiAwLjA2ODgsMC4wMTEzIDAuMTAzMjIsMC4wMTcyIDAuOTQ4MjksMC4xNjI1OCAxLjkwMSwwLjMxMjIxIDIuODU3NDEsMC40NTA3MiAwLjE3MTE0LDAuMDI0OCAwLjM0Mjk2LDAuMDQ4MiAwLjUxNDM1LDAuMDcyMiAwLjgxMDk0LDAuMTEzNiAxLjYyNDYzLDAuMjE4NzEgMi40NDExMSwwLjMxNDgxIDAuMjU3NzIsMC4wMzA1IDAuNTE1ODksMC4wNTkxIDAuNzc0MTIsMC4wODc4IDAuNzQzMzcsMC4wODIyIDEuNDg4NjMsMC4xNTc3MyAyLjIzNjQxLDAuMjI1MzQgMC4zMDM3NiwwLjAyNzUgMC42MDcyNiwwLjA1NTggMC45MTE3NCwwLjA4MDkgMC43MjgyNywwLjA1OTkgMS40NTk0NSwwLjExMDcgMi4xOTE2NiwwLjE1NjU0IDAuMjkyNTEsMC4wMTg0IDAuNTg0MjEsMC4wMzg5IDAuODc3MzUsMC4wNTUgMC43NjcyOSwwLjA0MjEgMS41MzcyMywwLjA3MzQgMi4zMDg2MywwLjA5OTggMC4yNzMxNCwwLjAxIDAuNTQ1MTksMC4wMjM1IDAuODE4ODYsMC4wMzEgMS4wMjgzNSwwLjAyOCAyLjA1OTU5LDAuMDQ0NyAzLjA5NDgxLDAuMDQ0NyAxLjAzNTIxLDAgMi4wNjY0NSwtMC4wMTY4IDMuMDk0ODEsLTAuMDQ0NyAwLjI3MzY1LC0wLjAwOCAwLjU0NTcxLC0wLjAyMTYgMC44MTg4NiwtMC4wMzEgMC43NzE0LC0wLjAyNjUgMS41NDEzMywtMC4wNTc2IDIuMzA4NjIsLTAuMDk5OCAwLjI5MzE0LC0wLjAxNjEgMC41ODQ4NCwtMC4wMzY2IDAuODc3MzYsLTAuMDU1IDAuNzMyMjIsLTAuMDQ1OCAxLjQ2MzM4LC0wLjA5NjcgMi4xOTE2NSwtMC4xNTY1NCAwLjMwNDQ5LC0wLjAyNTEgMC42MDc5OSwtMC4wNTMyIDAuOTExNzYsLTAuMDgwOSAwLjc0Nzc3LC0wLjA2NzggMS40OTMwMiwtMC4xNDMwOSAyLjIzNjM5LC0wLjIyNTM0IDAuMjU4MjQsLTAuMDI4NiAwLjUxNjQsLTAuMDU3MyAwLjc3NDEzLC0wLjA4NzggMC44MTY0NywtMC4wOTYxIDEuNjMwMTYsLTAuMjAxMjEgMi40NDExLC0wLjMxNDgxIDAuMTcxMzksLTAuMDI0IDAuMzQzMjEsLTAuMDQ3NCAwLjUxNDM1LC0wLjA3MjIgMC45NTY0MSwtMC4xMzg1MSAxLjkwOTEyLC0wLjI4ODE0IDIuODU3NDEsLTAuNDUwNzIgMC4wMzQ0LC0wLjAwNiAwLjA2ODksLTAuMDExMiAwLjEwMzIyLC0wLjAxNzIgNTIuNDc1MTIsLTkuMDQ2MSA5Mi4yNzY1NSwtNTQuNjczMjMgOTIuMjc2NTcsLTEwOS43NzAyIDAsLTU1LjA5Njk5IC0zOS44MDE0NSwtMTAwLjcyNDEyIC05Mi4yNzY1NywtMTA5Ljc3MDIzIC0wLjAzNDQsLTAuMDA2IC0wLjA2ODksLTAuMDExMyAtMC4xMDMyMiwtMC4wMTcxIC0wLjk0ODI5LC0wLjE2MjU3IC0xLjkwMSwtMC4zMTIyMSAtMi44NTc0MSwtMC40NTA3MiAtMC4xNzExNCwtMC4wMjQ4IC0wLjM0Mjk2LC0wLjA0ODIgLTAuNTE0MzUsLTAuMDcyMiAtMC44MTA5NCwtMC4xMTM1OSAtMS42MjQ2MywtMC4yMTg3MiAtMi40NDExLC0wLjMxNDgyIC0wLjI1NzczLC0wLjAzMDQgLTAuNTE1ODksLTAuMDU5IC0wLjc3NDEzLC0wLjA4NzcgLTAuNzQzMzcsLTAuMDgyMyAtMS40ODg2MiwtMC4xNTc3NSAtMi4yMzYzOSwtMC4yMjUzNiAtMC4zMDM3NywtMC4wMjc2IC0wLjYwNzI3LC0wLjA1NTggLTAuOTExNzYsLTAuMDgwOCAtMC43MjgyNywtMC4wNTk5IC0xLjQ1OTQzLC0wLjExMDY5IC0yLjE5MTY1LC0wLjE1NjU1IC0wLjI5MjUyLC0wLjAxODQgLTAuNTg0MjIsLTAuMDM4OSAtMC44NzczNiwtMC4wNTUgLTAuNzY3MjksLTAuMDQyMSAtMS41MzcyMiwtMC4wNzMzIC0yLjMwODYyLC0wLjA5OTggLTAuMjczMTUsLTAuMDEgLTAuNTQ1MjEsLTAuMDIzNSAtMC44MTg4NiwtMC4wMzEgLTEuMDI4MzYsLTAuMDI3OSAtMi4wNTk2LC0wLjA0NDcgLTMuMDk0ODEsLTAuMDQ0NyB6IiAvPgo8L3N2Zz4K
data:image/svg+xml;base64,PD94bWwgdmVyc2lvbj0iMS4wIiBlbmNvZGluZz0iVVRGLTgiIHN0YW5kYWxvbmU9Im5vIj8+CjxzdmcKICAgeG1sbnM6ZGM9Imh0dHA6Ly9wdXJsLm9yZy9kYy9lbGVtZW50cy8xLjEvIgogICB4bWxuczpjYz0iaHR0cDovL2NyZWF0aXZlY29tbW9ucy5vcmcvbnMjIgogICB4bWxuczpyZGY9Imh0dHA6Ly93d3cudzMub3JnLzE5OTkvMDIvMjItcmRmLXN5bnRheC1ucyMiCiAgIHhtbG5zOnN2Zz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciCiAgIHhtbG5zPSJodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2ZyIKICAgeG1sbnM6c29kaXBvZGk9Imh0dHA6Ly9zb2RpcG9kaS5zb3VyY2Vmb3JnZS5uZXQvRFREL3NvZGlwb2RpLTAuZHRkIgogICB4bWxuczppbmtzY2FwZT0iaHR0cDovL3d3dy5pbmtzY2FwZS5vcmcvbmFtZXNwYWNlcy9pbmtzY2FwZSIKICAgc3R5bGU9ImhlaWdodDogNTEycHg7IHdpZHRoOiA1MTJweDsiCiAgIHZpZXdCb3g9IjAgMCA1MTIgNTEyIgogICB2ZXJzaW9uPSIxLjEiCiAgIGlkPSJzdmcxNTQ2IgogICBzb2RpcG9kaTpkb2NuYW1lPSJzdGFyX3N1cGVyZ2lhbnQuc3ZnIgogICBpbmtzY2FwZTp2ZXJzaW9uPSIxLjAgKDQwMzVhNGZiNDksIDIwMjAtMDUtMDEpIj4KICA8bWV0YWRhdGEKICAgICBpZD0ibWV0YWRhdGExNTUyIj4KICAgIDxyZGY6UkRGPgogICAgICA8Y2M6V29yawogICAgICAgICByZGY6YWJvdXQ9IiI+CiAgICAgICAgPGRjOmZvcm1hdD5pbWFnZS9zdmcreG1sPC9kYzpmb3JtYXQ+CiAgICAgICAgPGRjOnR5cGUKICAgICAgICAgICByZGY6cmVzb3VyY2U9Imh0dHA6Ly9wdXJsLm9yZy9kYy9kY21pdHlwZS9TdGlsbEltYWdlIiAvPgogICAgICAgIDxkYzp0aXRsZT48L2RjOnRpdGxlPgogICAgICA8L2NjOldvcms+CiAgICA8L3JkZjpSREY+CiAgPC9tZXRhZGF0YT4KICA8ZGVmcwogICAgIGlkPSJkZWZzMTU1MCIgLz4KICA8c29kaXBvZGk6bmFtZWR2aWV3CiAgICAgaW5rc2NhcGU6ZG9jdW1lbnQtcm90YXRpb249IjAiCiAgICAgcGFnZWNvbG9yPSIjMDAwMDAwIgogICAgIGJvcmRlcmNvbG9yPSIjNjY2NjY2IgogICAgIGJvcmRlcm9wYWNpdHk9IjEiCiAgICAgb2JqZWN0dG9sZXJhbmNlPSIxMCIKICAgICBncmlkdG9sZXJhbmNlPSIxMCIKICAgICBndWlkZXRvbGVyYW5jZT0iMTAiCiAgICAgaW5rc2NhcGU6cGFnZW9wYWNpdHk9IjAiCiAgICAgaW5rc2NhcGU6cGFnZXNoYWRvdz0iMiIKICAgICBpbmtzY2FwZTp3aW5kb3ctd2lkdGg9IjE5MjAiCiAgICAgaW5rc2NhcGU6d2luZG93LWhlaWdodD0iMTAxNyIKICAgICBpZD0ibmFtZWR2aWV3MTU0OCIKICAgICBzaG93Z3JpZD0iZmFsc2UiCiAgICAgaW5rc2NhcGU6em9vbT0iMS4xNzM5MDc3IgogICAgIGlua3NjYXBlOmN4PSIyMDAuMjE2OSIKICAgICBpbmtzY2FwZTpjeT0iMzE1LjYzMTE2IgogICAgIGlua3NjYXBlOndpbmRvdy14PSItOCIKICAgICBpbmtzY2FwZTp3aW5kb3cteT0iLTgiCiAgICAgaW5rc2NhcGU6d2luZG93LW1heGltaXplZD0iMSIKICAgICBpbmtzY2FwZTpjdXJyZW50LWxheWVyPSJzdmcxNTQ2IiAvPgogIDxwYXRoCiAgICAgZD0iTTAgMGg1MTJ2NTEySDB6IgogICAgIGZpbGw9IiMwMDAiCiAgICAgZmlsbC1vcGFjaXR5PSIwIgogICAgIGlkPSJwYXRoMTUyMiIgLz4KICA8cGF0aAogICAgIGlkPSJwYXRoMTUzMCIKICAgICBzdHlsZT0iZmlsbDojZmZmZmZmO2ZpbGwtb3BhY2l0eToxO3N0cm9rZS13aWR0aDoxLjE4MDk1IgogICAgIGQ9Im0gMjU2LjAwMDAxLDE1Ljk5OTc5NiBjIC0xLjc4MDM5LDIuOTY3Mjk4IC0zLjU3OTAyLDUuOTE2MjAyIC01LjM5NTAxLDguODQ3ODgzIC0zLjYzMjYzLDUuODY0NDc3IC03LjMzNjIxLDExLjY1NzE1NiAtMTEuMTEwNTksMTcuMzc5NzcyIC0zLjc3NDM4LDUuNzIyNjE2IC03LjYxOTcxLDExLjM3MzcyOCAtMTEuNTM0OTgsMTYuOTU1MzcgLTEuOTU3NjYsMi43OTA4MTggLTMuOTMyODEsNS41NjM5NDMgLTUuOTI1NTEsOC4zMTk2ODUgLTMuOTg1NDIsNS41MTE0ODYgLTguMDQxOTQsMTAuOTUzODUgLTEyLjE2Njk5LDE2LjMyNTY4NyAtMC4zMzA3NywtMC4xMzY4MzcgLTAuNjU4OSwtMC4yODI0MzUgLTAuOTg5NTEsLTAuNDE5NzkxIC01Ljk2Njg0LC0yLjQ4MDUyNCAtMTEuOTEwMjQsLTUuMDUyMDUgLTE3LjgyOTU2LC03LjcwODQ2MSB2IDAuMDE4NDYgYyAtMTguNTgwMjcsLTguMzI2MTMgLTM2LjkyODI0LC0xNy41MTA0MzYgLTU1LjA0NTU1LC0yNy41Njc3NTQgLTAuNDY1MjksMjcuNjg0OTY0IC0yLjQ5NDQzLDU0Ljk1MDAzMyAtNi4wNDA4Miw4MS44MDgzMzMgLTI2Ljg1ODMxLDMuNTQ2MzkgLTU0LjEyMjI1LDUuNTczMjMgLTgxLjgwNjAyOCw2LjAzODUxIDEzLjQzOTE4NywyNC4yMDk0NSAyNS4zMTgzMjcsNDguODMzMTkgMzUuNjc1MjQxLDczLjg2NjkzIC0yMS40ODczNTIsMTYuNTAwMiAtNDQuMDg3NzQzLDMxLjg4NzMgLTY3LjgzMDcwMiw0Ni4xMzMwOCAyMy43NDI5NTksMTQuMjQ1NzcgNDYuMzQ0NTMyLDI5LjYzMjkzIDY3LjgzMDcwMiw0Ni4xMzA3OCAtMTAuMzU2OTE0LDI1LjAzNjEgLTIyLjIzODM1OSw0OS42NTk3OSAtMzUuNjc3NTQ5LDczLjg2OTIxIDI3LjY4NDk2NSwwLjQ2NTMxIDU0Ljk1MDAyNiwyLjQ5MjE0IDgxLjgwODMzNiw2LjAzODU0IDMuNTQ2MzksMjYuODU4MjggNS41NzMyMiw1NC4xMjQ1MyA2LjAzODUyLDgxLjgwODMzIDI0LjIwOTQzLC0xMy40MzkyMSA0OC44MzMxNywtMjUuMzIwNjUgNzMuODY2OTIsLTM1LjY3NzU2IDYuMjUwMzMsOC4xMzk0OCAxMi4zNDA4MiwxNi40NDA3OCAxOC4yNzAwOCwyNC45MDE0MSAyZS00LDAuMDAyIC0xLjhlLTQsMC4wMDMgMCwwLjAwNSAyLjIyMzQ3LDMuMTcyMzcgNC40MTg3NSw2LjM3MzA2IDYuNTk2Nyw5LjU5MDU5IDAuNjI1NjIsMC45MjQzOSAxLjI0NDE2LDEuODU1ODYgMS44NjYwMSwyLjc4Mzk5IDEuNjAzMDEsMi4zOTIxNiAzLjE5NDIzLDQuNzk1MzkgNC43NzIyMSw3LjIxMjU1IDAuNjc1OTUsMS4wMzU2MSAxLjM0OTE3LDIuMDczNjIgMi4wMjA1NCwzLjExMzgzIDEuNTEzOTIsMi4zNDUzNSAzLjAxNDE4LDQuNzA1MjQgNC41MDQ2Niw3LjA3NDE2IDAuNjQ4MTEsMS4wMzAxNCAxLjMwMDc2LDIuMDU2MTggMS45NDQ0MSwzLjA5MDc2IDIuMDczNTMsMy4zMzI3MSA0LjEzMTExLDYuNjgxNzUgNi4xNTg0NywxMC4wNjExMiAyLjAyNzM1LC0zLjM3OTM3IDQuMDg0OTMsLTYuNzI4NDEgNi4xNTg0NiwtMTAuMDYxMTIgMC42NDM2NywtMS4wMzQ1OCAxLjI5NjMxLC0yLjA2MDYyIDEuOTQ0NDEsLTMuMDkwNzYgMS40OTA0OSwtMi4zNjg5MiAyLjk5MDc0LC00LjcyODgxIDQuNTA0NjYsLTcuMDc0MTYgMC42NzEzNywtMS4wNDAyMSAxLjM0NDU5LC0yLjA3ODIyIDIuMDIwNTUsLTMuMTEzODMgMS41Nzc5OCwtMi40MTcxNiAzLjE2OTIsLTQuODIwMzkgNC43NzIyLC03LjIxMjU1IDAuNjIxODcsLTAuOTI4MTMgMS4yNDA0LC0xLjg1OTYgMS44NjYwMSwtMi43ODM5OSAyLjE3Nzk1LC0zLjIxNzUzIDQuMzczMjMsLTYuNDE4MjIgNi41OTY3MSwtOS41OTA1OSAxLjhlLTQsLTAuMDAyIC0yZS00LC0wLjAwMyAwLC0wLjAwNSA1LjkyOTI1LC04LjQ2MDYzIDEyLjAxOTc0LC0xNi43NjE5MyAxOC4yNzAwNywtMjQuOTAxNDEgMjUuMDMzNzUsMTAuMzU2OTEgNDkuNjU3NTEsMjIuMjM4MzUgNzMuODY2OTIsMzUuNjc3NTYgMC40NjUzLC0yNy42ODM4IDIuNDkyMTQsLTU0Ljk1MDA1IDYuMDM4NTIsLTgxLjgwODMzIDI2Ljg1ODMxLC0zLjU0NjQgNTQuMTIzMzcsLTUuNTczMjMgODEuODA4MzIsLTYuMDM4NTQgLTEzLjQzOTE4LC0yNC4yMDk0MiAtMjUuMzIwNjEsLTQ4LjgzMzExIC0zNS42Nzc1MywtNzMuODY5MjEgMjEuNDg2MTcsLTE2LjQ5Nzg1IDQ0LjA4Nzc0LC0zMS44ODUwMSA2Ny44MzA2OSwtNDYuMTMwNzggLTIzLjc0Mjk1LC0xNC4yNDU3OCAtNDYuMzQzMzUsLTI5LjYzMjg4IC02Ny44MzA2OSwtNDYuMTMzMDggMTAuMzU2OTIsLTI1LjAzMzc0IDIyLjIzNjA1LC00OS42NTc0OCAzNS42NzUyNSwtNzMuODY2OTMgLTI3LjY4MzgsLTAuNDY1MjggLTU0Ljk0NzczLC0yLjQ5MjEyIC04MS44MDYwNCwtNi4wMzg1MSAtMy41NDYzOCwtMjYuODU4MzEgLTUuNTc1NTMsLTU0LjEyMzM3MyAtNi4wNDA4MywtODEuODA4MzM3IC0xOC4xMTczLDEwLjA1NzMxOCAtMzYuNDY1MjcsMTkuMjQxNjI0IC01NS4wNDU1NCwyNy41Njc3NTYgdiAtMC4wMTg0NiBjIC01LjkxOTMsMi42NTY0MTEgLTExLjg2MjcxLDUuMjI3OTM4IC0xNy44Mjk1Niw3LjcwODQ2MSAtMC4zMzA2LDAuMTM3MzU2IC0wLjY1ODc0LDAuMjgyOTU0IC0wLjk4OTUxLDAuNDE5NzkxIC00LjEyNTA0LC01LjM3MTgzNyAtOC4xODE1NywtMTAuODE0MiAtMTIuMTY2OTksLTE2LjMyNTY4NiAtMS45OTI2OSwtMi43NTU3NDIgLTMuOTY3ODQsLTUuNTI4ODY4IC01LjkyNTQ5LC04LjMxOTY4NyAtMy45MTUyOCwtNS41ODE2NDEgLTcuNzYwNjEsLTExLjIzMjc1NCAtMTEuNTM0OTksLTE2Ljk1NTM2OSAtMy43NzQzOSwtNS43MjI2MTggLTcuNDc3OTcsLTExLjUxNTI5NyAtMTEuMTEwNiwtMTcuMzc5Nzc0IC0xLjgxNTc5LC0yLjkzMTMzOSAtMy42MTQ4MSwtNS44ODA5MzIgLTUuMzk1LC04Ljg0Nzg4MyB6IG0gMCw2OS4zNzE0NyBjIDEuNDUxOTUsMCAyLjg5OTg0LDAuMDE5MTQgNC4zNDMyLDAuMDU1MzYgMC42NDc4OCwwLjAxNjMyIDEuMjkxNDMsMC4wNDc5MiAxLjkzNzUxLDAuMDcxNTEgMC43ODY5MywwLjAyODYgMS41NzUzNiwwLjA1MDY4IDIuMzU5NTgsMC4wODk5NSAwLjkwNzE5LDAuMDQ1NiAxLjgwOTA5LDAuMTA4NTUyIDIuNzEyNDksMC4xNjgzOCAwLjUxMjQ2LDAuMDMzODEgMS4wMjcyNCwwLjA2MDg0IDEuNTM4NDYsMC4wOTkxOCAxLjM4NDY1LDAuMTA0MjQzIDIuNzY0OTksMC4yMjQ4MTggNC4xNDAyNCwwLjM2MjEzOCAxLjIyMzAzLDAuMTIyMTEgMi40NDA1NSwwLjI2MDI4MSAzLjY1NTg2LDAuNDA4MjUzIDAuMTk4ODEsMC4wMjQxMiAwLjM5ODgsMC4wNDQzOCAwLjU5NzQsMC4wNjkyIDEuMzY3ODMsMC4xNzE0NDkgMi43MzE4NywwLjM1ODk5NSA0LjA4OTQ5LDAuNTYyNzkgMTMuNzk4MjgsMi4wNzEzOTYgMjcuMDU4MzgsNS44MDI4MDEgMzkuNTc3OTEsMTAuOTc2ODI1IHYgLTAuMDEzODEgYyA2MS45NjkzLDI1LjU5Mzg0OCAxMDUuNjc2MzksODYuNjU3NDI4IDEwNS42NzY0LDE1Ny43Nzg4MDggMCw4MS4xMTIwNCAtNTYuODQzOCwxNDkuMTQ3NzYgLTEzMi43OTg5OSwxNjYuMzk2MDMgLTEuNDYwOSwwLjMzMTk5IC0yLjkzMDc1LDAuNjQyMjYgLTQuNDA1NSwwLjkzNjQ1IC0wLjIyMjUyLDAuMDQ0MyAtMC40NDYwNywwLjA4NTcgLTAuNjY4OSwwLjEyOTE3IC0xLjIyNDQyLDAuMjM5MTUgLTIuNDUyMjcsMC40NjUzNiAtMy42ODU4NSwwLjY3ODE0IC0wLjQwNTgzLDAuMDY5OSAtMC44MTMzNSwwLjEzNTk0IC0xLjIyMDE1LDAuMjAyOTYgLTEuMDcxNzUsMC4xNzY4MyAtMi4xNDYyMiwwLjM0NjExIC0zLjIyNDU0LDAuNTAyODMgLTAuNDkxMzUsMC4wNzEyIC0wLjk4MzUxLDAuMTM4MiAtMS40NzYxOSwwLjIwNTI4IC0xLjAxNDIsMC4xMzgzMiAtMi4wMzE4LDAuMjY3MTQgLTMuMDUxNTUsMC4zODc1MSAtMC41MDM5NywwLjA1OTMgLTEuMDA3NzksMC4xMTgwNCAtMS41MTMwOCwwLjE3Mjk3IC0xLjAyODU5LDAuMTEyMDkgLTIuMDYxNDUsMC4yMTMxNCAtMy4wOTUzOSwwLjMwNjc5IC0wLjUxNzE0LDAuMDQ2NyAtMS4wMzM4NCwwLjA5NCAtMS41NTIyOSwwLjEzNjA2IC0xLjAzODI1LDAuMDg0NSAtMi4wNzk3LDAuMTU1NzYgLTMuMTIzMDYsMC4yMjE0NSAtMC40OTQzNiwwLjAzMSAtMC45ODc2MiwwLjA2NTQgLTEuNDgzMTEsMC4wOTIzIC0xLjA1NDU4LDAuMDU3MyAtMi4xMTQyNSwwLjA5ODMgLTMuMTczNzksMC4xMzYxMSAtMC41MTQ3LDAuMDE4NCAtMS4wMjcyMywwLjA0MzkgLTEuNTQzMDgsMC4wNTc3IC0xLjUzMzE4LDAuMDQxIC0zLjA3MDE0LDAuMDY0NiAtNC42MTMwNywwLjA2NDYgLTEuNTQyOTQsMCAtMy4wNzk5LC0wLjAyMzYgLTQuNjEzMDcsLTAuMDY0NiAtMC41MTU4NCwtMC4wMTM4IC0xLjAyODM4LC0wLjAzOTQgLTEuNTQzMDksLTAuMDU3NyAtMS4wNTk1MywtMC4wMzc5IC0yLjExOTIxLC0wLjA3ODggLTMuMTczNzksLTAuMTM2MTEgLTAuNDk1NDksLTAuMDI2OCAtMC45ODg3NSwtMC4wNjEyIC0xLjQ4MzExLC0wLjA5MjMgLTEuMDQzMzYsLTAuMDY1NyAtMi4wODQ4MSwtMC4xMzY5NyAtMy4xMjMwNiwtMC4yMjE0NSAtMC41MTg0NSwtMC4wNDIgLTEuMDM1MTMsLTAuMDg5MyAtMS41NTIyOSwtMC4xMzYwNiAtMS4wMzM5NCwtMC4wOTM2IC0yLjA2NjgsLTAuMTk0NyAtMy4wOTUzOCwtMC4zMDY3OSAtMC41MDUzLC0wLjA1NDkgLTEuMDA5MTIsLTAuMTEzNjIgLTEuNTEzMDksLTAuMTcyOTcgLTEuMDE5NzQsLTAuMTIwMzcgLTIuMDM3MzUsLTAuMjQ5MTkgLTMuMDUxNTUsLTAuMzg3NTEgLTAuNDkyNjgsLTAuMDY3MSAtMC45ODQ4MywtMC4xMzQgLTEuNDc2MTksLTAuMjA1MjggLTEuMDc4MzIsLTAuMTU2NzIgLTIuMTUyNzgsLTAuMzI2IC0zLjIyNDU0LC0wLjUwMjgzIC0wLjQwNjgsLTAuMDY3IC0wLjgxNDMyLC0wLjEzMzA4IC0xLjIyMDE1LC0wLjIwMjk2IC0xLjIzMzU4LC0wLjIxMjc4IC0yLjQ2MTQzLC0wLjQzODk5IC0zLjY4NTg1LC0wLjY3ODE0IC0wLjIyMjgzLC0wLjA0MzUgLTAuNDQ2MzgsLTAuMDg0OSAtMC42Njg5LC0wLjEyOTE3IC0xLjQ3NDc1LC0wLjI5NDE5IC0yLjk0NDU5LC0wLjYwNDQ2IC00LjQwNTUsLTAuOTM2NDUgLTc1Ljk1NTE4LC0xNy4yNDgzIC0xMzIuNzk4OTg3LC04NS4yODQwMyAtMTMyLjc5ODk4NywtMTY2LjM5NjA3IDAsLTcxLjEyMTM4IDQzLjcwNzA5NywtMTMyLjE4NDk2IDEwNS42NzYzOTcsLTE1Ny43Nzg4MTUgdiAwLjAxMzgxIGMgMTIuNTE5NTMsLTUuMTc0MDI0IDI1Ljc3OTY0LC04LjkwNTQzMSAzOS41Nzc5MSwtMTAuOTc2ODI2IDEuMzU3NjIsLTAuMjAzNzk0IDIuNzIxNjYsLTAuMzkxMzQzIDQuMDg5NSwtMC41NjI3OTEgMC4xOTg1OSwtMC4wMjQ4IDAuMzk4NTksLTAuMDQ1MDcgMC41OTczOSwtMC4wNjkyIDEuMjE1MzEsLTAuMTQ3OTczIDIuNDMyODMsLTAuMjg2MTQ0IDMuNjU1ODYsLTAuNDA4MjUzIDEuMzc1MjUsLTAuMTM3MzIxIDIuNzU1NTksLTAuMjU3ODk2IDQuMTQwMjQsLTAuMzYyMTM5IDAuNTExMjMsLTAuMDM4MzMgMS4wMjYsLTAuMDY1MzcgMS41Mzg0NiwtMC4wOTkxOCAwLjkwMzQxLC0wLjA1OTgyIDEuODA1MywtMC4xMjI3NzIgMi43MTI0OSwtMC4xNjgzOCAwLjc4NDIyLC0wLjAzOTI2IDEuNTcyNjYsLTAuMDYxMzYgMi4zNTk1OCwtMC4wODk5NSAwLjY0NjA4LC0wLjAyMzU3IDEuMjg5NjMsLTAuMDU1MTkgMS45Mzc1MSwtMC4wNzE1MSAxLjQ0MzExLC0wLjAzNjM1IDIuODkxMzksLTAuMDU1MzYgNC4zNDMyMSwtMC4wNTUzNiB6IG0gMCwyMS4yNTQ3NTQgYyAtMS4zODgwMSwwIC0yLjc3MDY2LDAuMDIyNSAtNC4xNDk0NywwLjA2IC0wLjM2NjkyLDAuMDEwMiAtMC43MzE2OCwwLjAyODkgLTEuMDk3OSwwLjA0MTUgLTEuMDM0MjgsMC4wMzU2IC0yLjA2NjYxLDAuMDc3MyAtMy4wOTUzOCwwLjEzMzc4IC0wLjM5MzA0LDAuMDIxNiAtMC43ODQxNCwwLjA0OTEgLTEuMTc2MzMsMC4wNzM4IC0wLjk4MTc0LDAuMDYxNSAtMS45NjIwOCwwLjEyOTYzIC0yLjkzODUzLDAuMjA5OTEgLTAuNDA4MjUsMC4wMzM3IC0wLjgxNTE5LDAuMDcxNSAtMS4yMjI0NiwwLjEwODQxIC0xLjAwMjYsMC4wOTA2IC0yLjAwMTgzLDAuMTkxODcgLTIuOTk4NTMsMC4zMDIxNSAtMC4zNDYyNCwwLjAzODUgLTAuNjkyMzksMC4wNzY3IC0xLjAzNzkzLDAuMTE3NjMgLTEuMDk0NzEsMC4xMjg4NiAtMi4xODU3LDAuMjY5OCAtMy4yNzI5OSwwLjQyMjExIC0wLjIyOTgsMC4wMzI0IC0wLjQ2MDE4LDAuMDYzNSAtMC42ODk2NCwwLjA5NjggLTEuMjgyMzMsMC4xODU3IC0yLjU1OTcxLDAuMzg2MzQgLTMuODMxMTYsMC42MDQzMiAtMC4wNDYxLDAuMDA4IC0wLjA5MjMsMC4wMTUgLTAuMTM4NCwwLjAyMyAtNzAuMzU3NzEsMTIuMTI4ODYgLTEyMy43MjI3Niw3My4zMDQ5IC0xMjMuNzIyNzYsMTQ3LjE3Nzk2IDFlLTUsNzMuODczMDQgNTMuMzY1MDUsMTM1LjA0OTA4IDEyMy43MjI3NiwxNDcuMTc3OTMgMC4wNDYxLDAuMDA4IDAuMDkyMywwLjAxNTEgMC4xMzg0LDAuMDIzMSAxLjI3MTQ1LDAuMjE3OTcgMi41NDg4MywwLjQxODYgMy44MzExNiwwLjYwNDMxIDAuMjI5NDYsMC4wMzMzIDAuNDU5ODQsMC4wNjQ2IDAuNjg5NjQsMC4wOTY4IDEuMDg3MjksMC4xNTIzMyAyLjE3ODI4LDAuMjkzMjUgMy4yNzI5OSwwLjQyMjEgMC4zNDU1NCwwLjA0MDkgMC42OTE2OSwwLjA3OTIgMS4wMzc5MywwLjExNzY1IDAuOTk2NywwLjExMDI4IDEuOTk1OTMsMC4yMTE0OSAyLjk5ODUzLDAuMzAyMTQgMC40MDcyNywwLjAzNjkgMC44MTQyMSwwLjA3NDggMS4yMjI0NiwwLjEwODQyIDAuOTc2NDUsMC4wODAzIDEuOTU2NzksMC4xNDg0MiAyLjkzODUzLDAuMjA5ODkgMC4zOTIxOSwwLjAyNDcgMC43ODMyOSwwLjA1MjIgMS4xNzYzMywwLjA3MzggMS4wMjg3NywwLjA1NjQgMi4wNjExLDAuMDk4MyAzLjA5NTM4LDAuMTMzNzggMC4zNjYyMiwwLjAxMjcgMC43MzA5OCwwLjAzMTUgMS4wOTc5LDAuMDQxNSAxLjM3ODgxLDAuMDM3NSAyLjc2MTQ2LDAuMDYgNC4xNDk0NywwLjA2IDEuMzg4LDAgMi43NzA2NiwtMC4wMjI1IDQuMTQ5NDcsLTAuMDYgMC4zNjY5MSwtMC4wMTAxIDAuNzMxNjcsLTAuMDI5IDEuMDk3OTEsLTAuMDQxNSAxLjAzNDI3LC0wLjAzNTYgMi4wNjY1OSwtMC4wNzczIDMuMDk1MzYsLTAuMTMzNzggMC4zOTMwNCwtMC4wMjE3IDAuNzg0MTQsLTAuMDQ5MSAxLjE3NjM0LC0wLjA3MzggMC45ODE3NSwtMC4wNjE1IDEuOTYyMDgsLTAuMTI5NjEgMi45Mzg1MywtMC4yMDk4OSAwLjQwODI1LC0wLjAzMzcgMC44MTUxOSwtMC4wNzEzIDEuMjIyNDcsLTAuMTA4NDIgMS4wMDI1OSwtMC4wOTA4IDIuMDAxODEsLTAuMTkxODYgMi45OTg1MiwtMC4zMDIxNCAwLjM0NjI0LC0wLjAzODQgMC42OTIzOCwtMC4wNzY4IDEuMDM3OTMsLTAuMTE3NjUgMS4wOTQ3MiwtMC4xMjg4NSAyLjE4NTcsLTAuMjY5NzcgMy4yNzI5OCwtMC40MjIxIDAuMjI5OCwtMC4wMzIyIDAuNDYwMTgsLTAuMDYzNiAwLjY4OTY0LC0wLjA5NjggMS4yODIzNCwtMC4xODU3MSAyLjU1OTcyLC0wLjM4NjM0IDMuODMxMTcsLTAuNjA0MzEgMC4wNDYxLC0wLjAwOCAwLjA5MjQsLTAuMDE1IDAuMTM4MzksLTAuMDIzMSA3MC4zNTc3MSwtMTIuMTI4ODUgMTIzLjcyMjc1LC03My4zMDQ4OSAxMjMuNzIyNzcsLTE0Ny4xNzc5MyAwLC03My44NzMwNiAtNTMuMzY1MDYsLTEzNS4wNDkxIC0xMjMuNzIyNzcsLTE0Ny4xNzc5NyAtMC4wNDYxLC0wLjAwOCAtMC4wOTI0LC0wLjAxNTEgLTAuMTM4MzksLTAuMDIzIC0xLjI3MTQ1LC0wLjIxNzk3IC0yLjU0ODgzLC0wLjQxODYxIC0zLjgzMTE3LC0wLjYwNDMyIC0wLjIyOTQ2LC0wLjAzMzMgLTAuNDU5ODQsLTAuMDY0NiAtMC42ODk2NCwtMC4wOTY4IC0xLjA4NzI4LC0wLjE1MjMgLTIuMTc4MjYsLTAuMjkzMjUgLTMuMjcyOTgsLTAuNDIyMSAtMC4zNDU1NSwtMC4wNDA4IC0wLjY5MTY5LC0wLjA3OTIgLTEuMDM3OTMsLTAuMTE3NjMgLTAuOTk2NzEsLTAuMTEwMjggLTEuOTk1OTMsLTAuMjExNSAtMi45OTg1MiwtMC4zMDIxNSAtMC40MDcyOCwtMC4wMzcgLTAuODE0MjIsLTAuMDc0OCAtMS4yMjI0NywtMC4xMDg0MiAtMC45NzY0NSwtMC4wODAzIC0xLjk1Njc4LC0wLjE0ODQgLTIuOTM4NTMsLTAuMjA5OSAtMC4zOTIyLC0wLjAyNDcgLTAuNzgzMywtMC4wNTIyIC0xLjE3NjM0LC0wLjA3MzggLTEuMDI4NzcsLTAuMDU2NCAtMi4wNjEwOSwtMC4wOTgyIC0zLjA5NTM2LC0wLjEzMzc4IC0wLjM2NjI0LC0wLjAxMjcgLTAuNzMxLC0wLjAzMTUgLTEuMDk3OTEsLTAuMDQxNSAtMS4zNzg4MSwtMC4wMzc0IC0yLjc2MTQ3LC0wLjA2IC00LjE0OTQ3LC0wLjA2IHoiIC8+Cjwvc3ZnPgo=
data:image/svg+xml;base64,PHN2ZyBzdHlsZT0iaGVpZ2h0OiA1MTJweDsgd2lkdGg6IDUxMnB4OyIgeG1sbnM9Imh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnIiB2aWV3Qm94PSIwIDAgNTEyIDUxMiI+PGcgY2xhc3M9IiIgc3R5bGU9IiIgdHJhbnNmb3JtPSJ0cmFuc2xhdGUoMCwwKSI+PHBhdGggZD0iTTI1Ni42NSAzOC45ODRsLTQ5LjY5NyAxMDAuNzAyLTExMS4xMyAxNi4xNDYgODAuNDEzIDc4LjM4NS0xOC45ODIgMTEwLjY4IDk5LjM5Ni01Mi4yNTYgOTkuMzk3IDUyLjI1Ni0xOC45ODMtMTEwLjY4IDgwLjQxMy03OC4zODQtMTExLjEyNy0xNi4xNDYtNDkuNy0xMDAuNzAyek0xMTIgMzA4LjgyNmwtMjYuNjc0IDU0LjA1LTU5LjY0NiA4LjY2NSA0My4xNiA0Mi4wNzMtMTAuMTg4IDU5LjQwM0wxMTIgNDQ0Ljk3bDUzLjM0OCAyOC4wNDYtMTAuMTg4LTU5LjQwMyA0My4xNi00Mi4wNzItNTkuNjQ2LTguNjY1TDExMiAzMDguODI1em0yODggMGwtMjYuNjc0IDU0LjA1LTU5LjY0NiA4LjY2NSA0My4xNiA0Mi4wNzMtMTAuMTg4IDU5LjQwM0w0MDAgNDQ0Ljk3bDUzLjM0OCAyOC4wNDYtMTAuMTg4LTU5LjQwMyA0My4xNi00Mi4wNzItNTkuNjQ2LTguNjY1TDQwMCAzMDguODI1eiIgZmlsbD0iI2ZmZiIgZmlsbC1vcGFjaXR5PSIxIj48L3BhdGg+PC9nPjwvc3ZnPg==
data:image/svg+xml;base64,PHN2ZyBzdHlsZT0iaGVpZ2h0OiA1MTJweDsgd2lkdGg6IDUxMnB4OyIgeG1sbnM9Imh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnIiB2aWV3Qm94PSIwIDAgNTEyIDUxMiI+PGcgY2xhc3M9IiIgc3R5bGU9IiIgdHJhbnNmb3JtPSJ0cmFuc2xhdGUoMCwwKSI+PHBhdGggZD0iTTE4MS44NzEgNzcuNTc2Yy0uNjcyLjgwMi0xLjIxIDEuMzUyLTIuMDkgMi42MDQtMi45NTggNC4yMS02Ljc1NCAxMC42NjUtMTAuODg1IDE4LjQ5LTguMjYgMTUuNjUtMTcuOTc3IDM2Ljg3NC0yNy4xMyA1OC42ODItOS4xNTMgMjEuODA3LTE3Ljc3IDQ0LjI0NS0yMy45MjYgNjIuNC0zLjA3OSA5LjA3Ny01LjU0MiAxNy4wOTctNy4xMzUgMjMuMy0xLjU5MyA2LjIwNS0yLjA0NCAxMS4yNS0yLjA0OSAxMS4xOTIuNTM3IDYuMzk2IDguNTU0IDIxLjE5OSAyMS4xNDUgMzQuODE3IDExLjk3NSAxMi45NTIgMjcuNjI4IDI1LjM4OSA0Mi40NDcgMzMuMTk5bDIzLjEyOS0zLjU5OGMtNy45NjktMzUuNTU4LTEzLjExMy03Ni41NDItMTEuMjMtMTI5Ljk3M2wxNy45ODguNjM1Yy0xLjg1MiA1Mi41NTYgMy4yMTMgOTEuOTg1IDExLjA2NCAxMjYuNTY3bDE2LjcwNy0yLjZjMTMuNDMzLTEyLjM1MiAyNi44NDUtMjkuNTY3IDM2LjUzMS00Ni4xNSAxMC4xMS0xNy4zMDYgMTUuNTc3LTM0LjY2NSAxNS4wNC00MS4wNi4wMDQuMDU4LTEuMjI2LTQuNTYzLTMuNzg2LTEwLjA3My0yLjU2LTUuNTEtNi4yNzctMTIuNTQxLTEwLjc3LTIwLjQxOC04Ljk4NC0xNS43NTQtMjEuMDgzLTM0Ljk0NC0zMy41OTctNTMuMzUtMTIuNTE0LTE4LjQwNi0yNS40ODMtMzYuMDc0LTM2LjA2OC00OC43MTctNS4yOTMtNi4zMi0xMC4wMzEtMTEuNC0xMy41MDItMTQuNDk2LS44NDYtLjc1NC0xLjIzLS45NTQtMS44ODMtMS40NXptMjI2LjQxNiAyNC40OTZjLS43MDkuNDgtMS4xNjcuNzEyLTIuMTAzIDEuNDYtMy42MDQgMi44NzUtOC41MzggNy41Ni0xNC4wOSAxMy4zODgtMTEuMTA0IDExLjY1Ni0yNC44MzIgMjcuOTMzLTM4LjE2NCA0NC44OS0xMy4zMzIgMTYuOTU4LTI2LjMwOSAzNC42MzgtMzYuMDM3IDQ5LjE1LTQuODY1IDcuMjU3LTguOTIxIDEzLjczNS0xMS43NTIgMTguODA0LTIuODMyIDUuMDY4LTQuMzEgOS40MzYtNC4yNTQgOS4wODQtLjg0OCA1LjQxNyAzLjIyNyAyMS4xOTUgMTEuOTEgMzcuMDExIDguMjggMTUuMDgyIDIwLjExNCAzMC43NjMgMzIuMjMgNDIuMDMybDIzLjQxIDMuNWMxMy40MjQtMzYuNDE4IDE5LjM5MS03My4wNDQgMjMuMzQ4LTExMC4xNmwxNy44OTkgMS45MDhjLTMuOTAzIDM2LjYxMy05LjgxIDczLjY4Ni0yMy4wODYgMTEwLjk2NWwxMy45MzcgMi4wODRjMTUuMDM5LTcuMjIzIDMxLjE1My0xOC43NTEgNDMuNjg4LTMwLjc0NyAxMy4xMzUtMTIuNTcgMjEuODctMjYuNDggMjIuNzE4LTMxLjg5OC0uMDU1LjM1Mi0uMTMtNC4yMy0xLjI4LTkuODg5LTEuMTUyLTUuNjU5LTMuMDQzLTEzLjAyMi01LjQ2Ni0yMS4zNjUtNC44NDUtMTYuNjg3LTExLjgyMi0zNy4zNDgtMTkuMzYtNTcuNDIyLTcuNTM2LTIwLjA3NC0xNS42NjEtMzkuNjEzLTIyLjY5LTUzLjk3Mi0zLjUxNS03LjE4LTYuNzg4LTEzLjA4Ni05LjM0LTE2Ljg3Mi0uNjUtLjk2My0xLTEuMjk2LTEuNTE4LTEuOTV6bS05MC44NiAxNy43NjRjLS43ODUuNDktMS40NzQuODc3LTIuNjI2IDEuNzY2LTMuNDc0IDIuNjc3LTguMTkxIDYuOTg0LTEzLjQ4MyAxMi4zMjQtOC44OTIgOC45NzItMTkuNTA2IDIwLjg5My0zMC4xNCAzMy42MTMgNC4xMTIgNi42NzUgNy45NSAxMy4xMiAxMS4zOCAxOS4xMzUgNC42NTYgOC4xNjMgOC41NjUgMTUuNTI0IDExLjQ1OCAyMS43NS42MDkgMS4zMTEgMS4xNTggMi41MSAxLjY4NSAzLjY5MWEzOTcuNDAzIDM5Ny40MDMgMCAwIDEgNy4yNC0xMS4xNzZjOS44MS0xNC42MzQgMjIuNTUxLTMyLjAwOCAzNS43NC00OC44NDctMy4zMDQtNS45NjYtNi41Mi0xMS40OTItOS41MjMtMTYuMjkzLTMuNzg4LTYuMDU4LTcuMjc1LTExLjAwNy05LjkyMi0xNC4xMTUtLjc5LS45My0xLjIzMy0xLjI5LTEuODA4LTEuODQ4ek05OC4wMiAxNDIuNTI3Yy0uNjIxLjY4OC0xLjE3NSAxLjI0Ny0yLjA0IDIuNDE2LTIuNjA3IDMuNTI3LTUuOTYyIDguOTY0LTkuNTg3IDE1LjU1LTcuMjUyIDEzLjE3LTE1LjcwNyAzMS4wMS0yMy41OTQgNDkuMjg2LS40MDIuOTMyLS43OTYgMS44NjgtMS4xOTUgMi44MDEgMTAuMTM2IDguODQyIDE5LjY2OCAxNy42MTUgMjcuNjE1IDI1LjQ5MmEzNjIuNDczIDM2Mi40NzMgMCAwIDEgMy4zMzQgMy4zNThjLjIzNS0uOTM4LjQ1NS0xLjgzMy43MTctMi44NTQgMS43NzItNi45MDMgNC4zNTEtMTUuMjQ3IDcuNTI1LTI0LjYwNSA1LjMxNC0xNS42NyAxMi4zMDUtMzQuMTQ5IDE5Ljg5NC01Mi43NDhhMzA5LjI1MyAzMDkuMjUzIDAgMCAwLTcuMDEtNi41NmMtNS4zMDItNC43ODgtMTAuMDE0LTguNTktMTMuNDExLTEwLjg1NC0xLjAxNy0uNjc4LTEuNTQyLS45MDItMi4yNDgtMS4yODJ6TTQ5NCAxNzAuNDEyYy0uODg0Ljc4Ny0xLjc2IDEuNTYtMi42ODIgMi40MDQtNi44NzUgNi4zMDMtMTQuNzY1IDE0LjE2My0yMi45NDMgMjIuNzUyIDMuODM2IDExLjIyIDcuMzAyIDIyLjA0IDEwLjEwNyAzMS43MDIgMi41MTMgOC42NTIgNC41MSAxNi4zNzMgNS44MTcgMjIuNzk2LjE4Ni45MTMuMzM4IDEuNzE2LjUwNiAyLjU1OUE2ODIuODIgNjgyLjgyIDAgMCAxIDQ5NCAyNDEuMzM4di03MC45MjZ6TTE4IDE5OS45MnYxNjYuMzE2bDM2Ljk4OC0xMi44MThjMTEuODkxLTEzLjEzMSAyMy4wMTMtMzAuMjkzIDMwLjQzMi00Ni4wNDcgNy43LTE2LjM0OSAxMC4zLTMyLjA2IDkuMzM0LTM1LjU1Ny4zMDMgMS4wOTgtMS40MjMtMi41ODctNC42ODYtNi41MS0zLjI2My0zLjkyMS03Ljk0LTguOTE0LTEzLjUyMS0xNC40NDctMTEuMTYzLTExLjA2NC0yNS45NjYtMjQuMzQ3LTQxLjA3Mi0zNi44ODhBNzAyLjkyNiA3MDIuOTI2IDAgMCAwIDE4IDE5OS45MTl6bTI3MC40NiA2NC41MThhMjQ0LjU1NCAyNDQuNTU0IDAgMCAxLTYuNDggMTEuNzgzYy0xMS4wMSAxOC44NS0yNS45MiAzOC4xMDUtNDEuODgyIDUyLjI1OGwtMS45NzcgMS43NTEtNjkuMDIxIDEwLjczNy0yLjU2LTEuMjcyYy0xOC4xMzUtOS4wMDMtMzUuOTc2LTIzLjI5NS00OS45NTYtMzguNDE2YTIwOS42NDggMjA5LjY0OCAwIDAgMS02LjM1NS03LjE5MWMtMi4wOSA2LjY1LTUuMDc0IDEzLjYyOC04LjUyNCAyMC45NTMtOC40OTUgMTguMDQtMjAuODQ2IDM3LjE2OS0zNC44NzkgNTIuMjE3bC0xLjUyMyAxLjYzNUwxOCAzODUuMjg1djE5Ljc4NWMyLjUwNC0zLjMyNiA1LjUyNi02LjI2OSA4Ljc5OS04Ljk0NSAxMC40My04LjUyOSAyMy40Mi0xNC40OTEgMzUuMDQ5LTE2LjA3MiAxLjkxLS4yNiAzLjg4LS40MDIgNS44ODgtLjQzMi42Ny0uMDEgMS4zNDQtLjAwNyAyLjAyMi4wMDggOC4xMzUuMTg0IDE2Ljc5NiAyLjE2NyAyNC42ODcgNS43MzYgNS4yNjEgMi4zOCAxMC4yIDUuNTA3IDE0LjAzIDEwLjA3MiAzLjgzIDQuNTY2IDYuMzM2IDExLjExNSA1LjM3NSAxNy44Ni0xLjQ5OCAxMC41MDgtOC4zNDQgMTguNzY0LTE2LjY1IDI0LjY3LTguMzA4IDUuOTA1LTE4LjQxIDkuODUzLTI4LjgyMyAxMS45NDUtMTAuNDEzIDIuMDkyLTIxLjEzNyAyLjM0My0zMC44ODktLjA2NC03LjM2LTEuODE4LTE0LjQ3LTUuNDEtMTkuNDg4LTExLjIxVjQ5NGg0MDUuMzI0YTMxLjQ1NyAzMS40NTcgMCAwIDEtMi43NDQtNS44NjdjLTIuOTEzLTguMzk1LTEuMDA5LTE3LjIzNCAzLjE2OC0yNC4wNTcgNC4xNzctNi44MjMgMTAuMzYtMTIuMjg0IDE3LjM1Ny0xNi44MiAxMi4yNDQtNy45MzggMjYuOTQtMTMuMjI5IDQwLjQzOC0xMy44MS45NjQtLjA0MiAxLjkyMi0uMDYgMi44NzMtLjA1My45NS4wMDcgMS44OTQuMDQgMi44MjguMDk3IDIuMjQyLjEzOCA0LjUuNDU2IDYuNzU2LjkyNFYzNTkuODJjLTcuMzc0LTguMDI1LTEzLjk5Mi0xNi43NDUtMTkuNDMtMjUuMzk0LTYuMzY2LTEwLjEyOC0xMS41MTktMTkuODA3LTEzLjYyMy0yOS4xODJhMjU1LjQ4NiAyNTUuNDg2IDAgMCAxLTMuMjc5IDMuMjAxYy0xNC41MjIgMTMuODk4LTMyLjc0MSAyNy4wMjEtNTAuODYxIDM1LjI2NGwtMi40MjQgMS4xMDMtNjYuNTY3LTkuOTQ5LTIuMDAyLTEuNzg1Yy0xNC43OS0xMy4xNzYtMjguMTc2LTMxLjAzNS0zNy43OTQtNDguNTU3LTMuNzc5LTYuODgyLTcuMDczLTEzLjU5LTkuNTYtMjAuMDg0ek00OTQgMjcwLjA3NGwtLjE2Mi4yMWMtNC44NTIgNi4zMi04Ljg5NCAxMS45Ni0xMS42OTIgMTYuMzMzLTIuNzk3IDQuMzc0LTQuMTk4IDguMzMyLTQuMDExIDcuMjg3LS42MzYgMy41NTIgMy4wNzUgMTcuMjY0IDExLjY3NCAzMC45NDJhMTQyLjMyNSAxNDIuMzI1IDAgMCAwIDQuMTkxIDYuMjd2LTYxLjA0MnpNMjg4LjQ0NyAzNTkuMDljOC4yMzktLjAzMiAxNi40MDQuNyAyMy45NjEgMS45OTYgOS42MDYgMS42NDcgMjEuOTMgNC43NDUgMzIuMDk0IDkuMzggNS4wODIgMi4zMTggOS42ODQgNC44NTMgMTMuNDA0IDkuMDA3IDEuODYgMi4wNzYgMy41NiA0LjczMSA0LjIzMyA4LjA5Ny42NzIgMy4zNjctLjAxNSA3LjIyNS0xLjY1OSAxMC4yMDEtNC45OSA5LjAzNi0xNC4yODcgMTMuNzA5LTI0LjY1NiAxNi44MzQtMTAuMzY4IDMuMTI2LTIyLjQyMiA0LjU1LTM0LjgwOCA0LjY4Mi0yNC43NzQuMjYzLTUwLjQtMy43NjQtNjYuMDUtMTUuNDk0LTMuMTg4LTIuMzktNS41MzMtNi4xNjItNi4xOTMtOS45MDItLjY2LTMuNzQuMDctNy4xNiAxLjI1Mi0xMC4wNDMgMi4zNjYtNS43NjggNi40OTMtMTAuMDg1IDExLjQ4LTEzLjI0OCAxMS45OTgtNy42MSAyNy42OTgtMTAuOTY2IDQzLjQxLTExLjQ1IDEuMTc3LS4wMzYgMi4zNTUtLjA1NiAzLjUzMi0uMDZ6bTIuMjY4IDE4LjM0NmMtMTUuMzcxLjExMy0zMS4xNyAzLjAzOS0zOS41NjkgOC4zNjUtMS43NTUgMS4xMTMtMy40MDUgMy4xMTMtNC4xMDUgNC4zNiA5LjQ3MiA2LjEzNyAzMi41MjEgMTEuMzUyIDUzLjc4MyAxMS4xMjYgMTEuMDgtLjExOCAyMS43NTYtMS40OSAyOS44MDUtMy45MTYgNi4zODItMS45MjQgMTAuNjM1LTQuNTgzIDEyLjc3Ny02LjcyOC0xLjI0OC0xLjAwMy0zLjMyMy0yLjQwOC02LjM3My0zLjgtNy43Ni0zLjUzOS0xOS4zNzYtNi41OTUtMjcuNjY4LTguMDE3LTQuODQtLjgzLTEwLjE1MS0xLjI4MS0xNS41ODQtMS4zNzVhMTI0LjYyNyAxMjQuNjI3IDAgMCAwLTMuMDY2LS4wMTV6TTY2LjUyIDM5Ny43MWMtLjgxNC4wMjYtMS41NjkuMDg1LTIuMjUuMTc4LTYuNzc5LjkyMS0xOC40ODYgNS45NjQtMjYuMDc4IDEyLjE3Mi0zLjc5NSAzLjEwMy02LjU1OSA2LjQ2NS03Ljc1MiA5LjAwNy0xLjE5MiAyLjU0My0xLjIxNSAzLjY3LS4zNTUgNS40NzcgMS42OTkgMy41NyA1LjM4IDYuMjY0IDExLjcxNSA3LjgyOHMxNC43OSAxLjU0NiAyMy4wMy0uMTFjOC4yMzktMS42NTUgMTYuMjYxLTQuOTMyIDIxLjkzOS04Ljk2OCA1LjY3Ny00LjAzNiA4LjY3NS04LjQzNSA5LjI2LTEyLjUzNy4yMDQtMS40MzguMDEzLTIuMTI5LTEuMzQ4LTMuNzUyLTEuMzYyLTEuNjI0LTQuMTA4LTMuNjM2LTcuNjU1LTUuMjQtNS4zMi0yLjQwNy0xMi4zOTctMy44MDEtMTcuOS00LjAzNmEzNS4xMDUgMzUuMTA1IDAgMCAwLTIuNjA2LS4wMnptNDE3Ljg3MiA1My43Yy05LjA4Ny4wNjEtMjMuMzY3IDQuMzgxLTMzLjQ5NyAxMC45NDgtNS40MDIgMy41MDMtOS42MzQgNy41ODQtMTEuNzk2IDExLjExNi0yLjE2MyAzLjUzMi0yLjUyIDUuODYtMS41MTQgOC43NTcgMS42MjMgNC42OCA1Ljk3IDguNzIgMTMuMzEyIDExLjY5Ni4wNjIuMDI1LjEyNi4wNDcuMTg4LjA3Mkg0OTR2LTQwLjc5M2MtMi45MjEtLjk5My01LjY0OC0xLjYxNi03Ljg2MS0xLjc1Mi0uNTU3LS4wMzQtMS4xNC0uMDQ5LTEuNzQ2LS4wNDV6IiBmaWxsPSIjZmZmIiBmaWxsLW9wYWNpdHk9IjEiPjwvcGF0aD48L2c+PC9zdmc+
data:image/svg+xml;base64,PHN2ZyBzdHlsZT0iaGVpZ2h0OiA1MTJweDsgd2lkdGg6IDUxMnB4OyIgeG1sbnM9Imh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnIiB2aWV3Qm94PSIwIDAgNTEyIDUxMiI+PGcgY2xhc3M9IiIgc3R5bGU9IiIgdHJhbnNmb3JtPSJ0cmFuc2xhdGUoMCwwKSI+PHBhdGggZD0iTTE2NS4wODggMjMuOWwtMzYuODI0IDczLjk3MyA1LjU4NCA2MC45MSAzOS4yNDggMjYuNDc1IDUwLjQ5OC01MC40OTggMjIuODk2LTg1LjQ1LTgxLjQwMi0yNS40MXptMTE0LjY0OCAxMS43ODZjLS40My4wMDItLjg2LjAyNS0xLjI4NS4wNjgtMS43MDIuMTcyLTMuMzUzLjY2OC00Ljg0OCAxLjQ5NC0yLjk5MiAxLjY1LTUuNzUgNC41NS03LjM4IDEwLjYzM2wtNDguOTE3IDE4Mi41NTZMMjM4LjcyIDI0Mi44YzEuMTY1LjY3MiAyLjI3NyAxLjM4OCAzLjMzNyAyLjE0TDI5Mi45NCA1NS4wNDRjMy4xOC0xMS44NzctMi40ODctMTYuOTc1LTkuMzItMTguODQ0LTEuMjgyLS4zNS0yLjU5LS41MjMtMy44ODQtLjUxNHptNTcuMjEgMTguMjA3Yy0zLjUyNy0uMTI3LTcuNTEzIDEuNDU2LTExLjg2IDUuODAyTDMwNS45IDc4Ljg4bC0xNC4zMTggNTMuNDQyIDUzLjA2NC01My4wNjRjNC40NTQtNC40NTQgNS41ODYtOC4yOTIgNS41Mi0xMS43MS0uMDY2LTMuNDE2LTEuNTg0LTYuNzA4LTQuMTAyLTkuMi0yLjUxNy0yLjQ5Mi01LjU5LTQuMzMtOS4xMTctNC40NTV6bTI2LjM0IDMxLjg3M2MtMS41MDcgMi4zMzYtMy4zMDggNC41OS01LjQyNSA2LjcwN2wtNzUuOTU0IDc1Ljk1NS0yMC40NzQgNzYuNDE4IDcwLjIwNyA0Ny4zNiA3My42NC05MC40NjIgMTIuMTczLTk5LjA3LTU0LjE2OC0xNi45MDh6bTcyLjMgMjIuNTY4bC0xMS4yNTggOTEuNjA3IDQzLjUzMyAzMy42MjQgMS42MS0xMTQuNjU0LTMzLjg4NC0xMC41NzZ6bS0yMjEuNjY2IDYyLjUzbC0zMS4xNSAzMS4xNDhjLTIuMTE0IDIuMTE1LTMuNDc1IDQuMTk1LTQuMjY2IDYuMjEgMS4wNjQuNDk0IDIuMTIgMS4wMzggMy4xNyAxLjY0M2wxOC44NzUgMTAuOSAxMy4zNy00OS45MDJ6bTIwMi42MDUgNDYuNjY1bC02OS4zMzIgODUuMTcgMjMuOTI0IDE2LjEzNiA5MS42NTgtNjUuNTg2LTQ2LjI1LTM1Ljcyem0tMjUyLjg0NSA1Ljg1M2MtLjM0LjAwNS0uNjcyLjAyNC0uOTk2LjA1Ni0uODY2LjA4Ny0xLjY3OC4yNjctMi40NTIuNTEtMy4wOTUuOTY2LTUuODMgMy4zMTctNy41ODQgNi40OTUtMy41MDQgNi4zNTYtMy43MyAxNC4wMyA1Ljg0NiAxOS41Nmw1Ny4wNSAzMi45MzRjMTAuNjQ4IDYuMTQ3IDE3LjAzNyAxLjk5MiAyMC42MS00LjEyNiAxLjc4Ny0zLjA1OCAyLjQtNi42MzIgMS41OC05Ljk1LS44Mi0zLjMxNi0yLjkwNy02LjczLTguMzYtOS44OGwtNTcuMDQ2LTMyLjkzM2MtMy40NzUtMi4wMDYtNi4yNjYtMi43LTguNjQ4LTIuNjY3em0tMjMuMjAzIDQwLjc4M2MtLjM0LjAwNS0uNjcyLjAyNC0uOTk3LjA1Ny0uODY1LjA4Ny0xLjY3Ny4yNjgtMi40NS41MS0zLjA5Ni45NjctNS44MzMgMy4zMTgtNy41ODUgNi40OTYtMy41MDQgNi4zNTQtMy43MyAxNC4wMjggNS44NDQgMTkuNTU1bDU3LjA1IDMyLjkzOGguMDAyYzEwLjY0NyA2LjE0NyAxNy4wMzUgMS45OSAyMC42MS00LjEyNyAxLjc4Ni0zLjA2IDIuNC02LjYzIDEuNTgtOS45NDgtLjgyLTMuMzE3LTIuOTA4LTYuNzMzLTguMzYyLTkuODgybC01Ny4wNDUtMzIuOTM0Yy0zLjQ3NS0yLjAwNy02LjI2Ni0yLjctOC42NDgtMi42NjZ6bS03LjMzNCA0Ni45NmwtMTA1LjU0IDE4My4xaDU5LjM1bDkwLjczLTE1Ny4zODgtNDQuNTQtMjUuNzEzeiIgZmlsbD0iI2ZmZiIgZmlsbC1vcGFjaXR5PSIxIj48L3BhdGg+PC9nPjwvc3ZnPg==
data:image/svg+xml;base64,PHN2ZyBzdHlsZT0iaGVpZ2h0OiA1MTJweDsgd2lkdGg6IDUxMnB4OyIgeG1sbnM9Imh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnIiB2aWV3Qm94PSIwIDAgNTEyIDUxMiI+PGcgY2xhc3M9IiIgc3R5bGU9IiIgdHJhbnNmb3JtPSJ0cmFuc2xhdGUoMCwwKSI+PHBhdGggZD0iTTI4LjQ3IDUyLjIybDI2LjY1NSAxMDYuMjUgNzIuMjUgMTYxLjQzNi00Mi45Ny00NC43NSAyMC45NyA4My40N2MxMi4yMTgtMTcuMDI0IDMyLjE0LTI3Ljk0MyA1NC4wNjMtMjguMDYzIDIuMjU3LS4wMTMgNC41NS4wOSA2Ljg0My4zMTIgNC4yNzYuNDEzIDguNDI4IDEuMjM4IDEyLjQwNyAyLjQwNkwyOC40NyA1Mi4yMnptODEuNjI0IDIuMzFsMjQxLjU2MiAxMjYuNDA3Yy0yLjE0LTUuMTY3LTMuNjc2LTEwLjY4LTQuNDctMTYuNDY4LS4yMy0xLjY5OC0uMzk3LTMuMzgyLS40OTgtNS4wNjRsLTEwOC4wOTQtNjcuNzVMMzYyIDExMi43OGMzLjAwNC0zLjYzIDYuMzgtNi45NjIgMTAuMDk0LTkuOTA1bC0yNjItNDguMzQ0ek04NS45NyA4MS4zMTNMMjY5LjI1IDI5Mi43MmwtNzIuNTYzLTU3LjY5IDExNy44NzUgMTYxLjM0NWMzLjE0Ny0xOC4xMTggMTEuNjc2LTM0LjI4NCAyMy44MTMtNDYuOTA2bC03OS42ODgtOTkuMDY0IDEwNy44NDQgNzkuMjJjNy43OTgtMy41MTMgMTYuMTQ3LTUuOTU3IDI0Ljg3Ni03LjEyNkw4NS45NyA4MS4zMTJ6bTMyOC40MDUgMjUuODEzYy0yLjQzNC0uMDQtNC45Mi4wOTctNy40MDYuNDM4LTI2LjUyIDMuNjMtNDQuODgzIDI3Ljg1Ni00MS4yNSA1NC4zNzQgMy42MyAyNi41MiAyNy44MjQgNDQuODgyIDU0LjM0MiA0MS4yNSAyNi41Mi0zLjYzIDQ0LjkxMy0yNy44MjUgNDEuMjgyLTU0LjM0My0zLjE3OC0yMy4yMDQtMjIuMTEzLTQwLjE3Ny00NC41NjMtNDEuNjI1LS44LS4wNTMtMS41OTQtLjA4Mi0yLjQwNS0uMDk1ek00MDMuNSAzNDAuNDA1Yy0xLjIyNS0uMDA0LTIuNDQ3LjAwNi0zLjY1Ni4wNjQtMzYuMjY4IDEuNzItNjUuODcgMzAuNTMtNjcuODQ0IDY3LjU5Mi0yLjEwNyAzOS41MzQgMjguMDYgNzMuMDggNjcuNTk0IDc1LjE4OCAzOS41MzMgMi4xMDcgNzMuMDUtMjguMDYyIDc1LjE1Ni02Ny41OTQgMi4xMDctMzkuNTM0LTI4LjAzLTczLjA1LTY3LjU2My03NS4xNTYtMS4yMzUtLjA2Ni0yLjQ2Mi0uMDg4LTMuNjg3LS4wOTR6bS0yNDQgOC44NDVjLTI0LjU0LjEtNDUuMzA2IDE4LjY0OC00Ny43MiA0My42MjUtMi41NzMgMjYuNjQyIDE2Ljc2NSA1MC4xMTQgNDMuNDA3IDUyLjY4OCAyNi42NDMgMi41NzMgNTAuMTE0LTE2Ljc2NSA1Mi42ODgtNDMuNDA3IDIuNTc0LTI2LjY0Mi0xNi43NjQtNTAuMTEzLTQzLjQwNi01Mi42ODctMS42NjYtLjE2Mi0zLjMzNC0uMjI3LTQuOTctLjIyeiIgZmlsbD0iI2ZmZiIgZmlsbC1vcGFjaXR5PSIxIj48L3BhdGg+PC9nPjwvc3ZnPg==
data:image/svg+xml;base64,PHN2ZyBzdHlsZT0iaGVpZ2h0OiA1MTJweDsgd2lkdGg6IDUxMnB4OyIgeG1sbnM9Imh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnIiB2aWV3Qm94PSIwIDAgNTEyIDUxMiI+PGRlZnM+PGNsaXBQYXRoIGlkPSJpY29uLWJnIj48cGF0aCBkPSJNMCAwaDUxMnY1MTJIMHoiIGZpbGw9IiMwMDAiIGZpbGwtb3BhY2l0eT0iMCI+PC9wYXRoPjwvY2xpcFBhdGg+PC9kZWZzPjxwYXRoIGQ9Ik0wIDBoNTEydjUxMkgweiIgZmlsbD0iIzAwMCIgZmlsbC1vcGFjaXR5PSIwIj48L3BhdGg+PGcgY2xhc3M9IiIgc3R5bGU9InRvdWNoLWFjdGlvbjogbm9uZTsiIHRyYW5zZm9ybT0idHJhbnNsYXRlKDAsMCkiPjxwYXRoIGQ9Ik0zMjAuMDYzIDE5LjcyYy03Mi4yNTggMTQuNTc1LTE5LjI0OCA3MS42OTMtNzQuMzQ0IDEwOC44MSA0Ljg0Ni0uNDkgOS43NDYtLjcwMiAxNC42NTUtLjYyNCAxNi4yODguMjYgMzIuNzg1IDMuNzIgNDguNTk0IDEwLjcyIDQuOTYgMi4xOTYgOS43MjMgNC42NjcgMTQuMjUgNy40MDUgMTIuMTA3LTQ3LjQ3Ni0zNy4xMDMtOTYuMzgtMy4xNTgtMTI2LjMxek0xMzYuNzUgNDQuNDdjLTQwLjc2IDYxLjM1NyAzNi45ODQgNjQuMzMgMjQuNDA2IDEyOS40MDUgMTcuNDA3LTIxLjI1NSA0MS4xNy0zNS45IDY3LjE1Ni00Mi4zMTMtMjUuMDA2LTQyLjEzOC05NC40LTQxLjkyNC05MS41NjItODcuMDkzem0yOTcuMzEzIDc1LjQwNWMtMzIuNTQ3Ljg3Mi00NS40NzUgNDYuMzE0LTk2LjU5NCAzNi4yMiAyMS4zNSAxNy40MiAzNi4wMzQgNDEuMjUgNDIuNDY3IDY3LjMxIDQyLjMwNi0yNC45MiA0Mi4wNTMtOTQuNDY2IDg3LjI4Mi05MS42MjQtMTMuNDMtOC45Mi0yNC4wNi0xMi4xNS0zMy4xNTgtMTEuOTA1em0tMTc3Ljk3IDI2LjY1NmMtMjMuNjU2LjQ2LTQ2LjUzIDguODItNjQuOTA2IDIzLjYyNmwxOC42NTcgMzYuMTU2TDE3MCAxOTMuMTU2Yy0zLjU3NiA1LjI2NC02LjczNyAxMC45MDgtOS40MDYgMTYuOTM4LTguNzI2IDE5LjcwOC0xMS4wMDIgNDAuNTktNy43OCA2MC4zNDRsNDQuNzggMi4xMjUtMzQgMzAuMzEyYzEwLjc5OCAyMC42MjIgMjguNDE0IDM3Ljg1MiA1MS40MDYgNDguMDMgMy4wNzcgMS4zNjQgNi4xODYgMi41NzQgOS4zMTMgMy42MjZsMjQuNTMtMzguMjUgOS4wOTUgNDMuODE0YzI3LjMuMDc1IDUzLjczNy0xMC4zODcgNzMuNTkzLTI5LjE4OGwtMTkuMTg2LTM3LjEyNSAzOC40MDYgMTIuNjU4YzEuODIyLTMuMTg4IDMuNTEyLTYuNTA2IDUuMDMtOS45MzggOS43NDYtMjIuMDEgMTEuNDU3LTQ1LjQ5OCA2LjQ0LTY3LjIybC0zNy42MjYtMS43NSAyNy42ODctMjQuNzE4Yy0xMC44My0yMC4xOTQtMjguMjM2LTM3LjA3LTUwLjg3NC00Ny4wOTMtMS4zNy0uNjA3LTIuNzQ1LTEuMTc2LTQuMTI1LTEuNzJsLTI1Ljg3NCA0MC4zMTMtOS45MDYtNDcuNzVjLS41LS4wMTYtMS0uMDIzLTEuNS0uMDMyLTEuMy0uMDItMi42MS0uMDI0LTMuOTA2IDB6TTEzMy40MDcgMTg2LjVjLTQxLjY1Mi43MjUtODIuNDgzIDM0Ljg0Ny0xMDguNzIgNS4wOTQgMTQuNTczIDcyLjIzNCA3MS42NjQgMTkuMyAxMDguNzgzIDc0LjMxMi0yLjE1NC0yMC45NzIuOTM0LTQyLjc1OCAxMC4wNi02My4zNzUgMi4xNzgtNC45MTUgNC42MzctOS42MDQgNy4zNDUtMTQuMDkzLTUuODIyLTEuNDctMTEuNjQyLTIuMDM4LTE3LjQ3LTEuOTM3em0yNDkuNSA1My45N2MyLjIwNCAyMS4wNDctLjg2NyA0Mi45MjYtMTAuMDMgNjMuNjI0bC0uMTg4LjM3NWMtMi4xNDMgNC43OTYtNC41NyA5LjM5My03LjIyIDEzLjc4IDQ3LjUyNCAxMi4yNDQgOTYuNTA3LTM3LjEzNyAxMjYuNDctMy4xNTYtMTQuNjAzLTcyLjM4OC03MS45Mi0xOS4wNC0xMDkuMDMyLTc0LjYyNXpNMTM2LjUzIDI4My40MDVjLTQyLjEyMyAyNS4wMTQtNDEuOTI4IDk0LjM3LTg3LjA5MyA5MS41MyA2MS40MjIgNDAuODAzIDY0LjMyMi0zNy4xMjMgMTI5LjU5NC0yNC4zNDItMjEuMzQ0LTE3LjM4NS0zNi4wMy00MS4xNjctNDIuNS02Ny4xODh6bTIxOS4wNjQgNDguOTA2Yy0xNy40MDYgMjEuNDYtNDEuMjM2IDM2LjI0LTY3LjM0NCA0Mi43MiAyNC45NDQgNDIuMjYzIDk0LjQ5NyA0Mi4wMDQgOTEuNjU2IDg3LjIxOCA0MC44NjctNjEuNTItMzcuNDAyLTY0LjM1OC0yNC4zMTItMTI5LjkzOHpNMTkzLjQwNiAzNjAuNzJjLTEyLjA0NyA0Ny40NTYgMzcuMDg3IDk2LjMzIDMuMTU2IDEyNi4yNSA3Mi4zMDUtMTQuNTg3IDE5LjE5NS03MS43OSA3NC40Ny0xMDguOTA4LTIxLjA0IDIuMjA0LTQyLjg5OC0uOS02My41OTQtMTAuMDYyLTQuODg0LTIuMTYyLTkuNTctNC41OTQtMTQuMDMyLTcuMjh6IiBmaWxsPSIjZmZmZmZmIiBmaWxsLW9wYWNpdHk9IjEiIGNsaXAtcGF0aD0idXJsKCNpY29uLWJnKSI+PC9wYXRoPjwvZz48L3N2Zz4=
data:image/svg+xml;base64,PHN2ZyBzdHlsZT0iaGVpZ2h0OiA1MTJweDsgd2lkdGg6IDUxMnB4OyIgeG1sbnM9Imh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnIiB2aWV3Qm94PSIwIDAgNTEyIDUxMiI+PGcgY2xhc3M9IiIgc3R5bGU9IiIgdHJhbnNmb3JtPSJ0cmFuc2xhdGUoMCwwKSI+PHBhdGggZD0iTTMyMC4wNjMgMTkuNzJjLTcyLjI1OCAxNC41NzUtMTkuMjQ4IDcxLjY5My03NC4zNDQgMTA4LjgxIDQuODQ2LS40OSA5Ljc0Ni0uNzAyIDE0LjY1NS0uNjI0IDE2LjI4OC4yNiAzMi43ODUgMy43MiA0OC41OTQgMTAuNzIgNC45NiAyLjE5NiA5LjcyMyA0LjY2NyAxNC4yNSA3LjQwNSAxMi4xMDctNDcuNDc2LTM3LjEwMy05Ni4zOC0zLjE1OC0xMjYuMzF6TTEzNi43NSA0NC40N2MtNDAuNzYgNjEuMzU3IDM2Ljk4NCA2NC4zMyAyNC40MDYgMTI5LjQwNSAxNy40MDctMjEuMjU1IDQxLjE3LTM1LjkgNjcuMTU2LTQyLjMxMy0yNS4wMDYtNDIuMTM4LTk0LjQtNDEuOTI0LTkxLjU2Mi04Ny4wOTN6bTI5Ny4zMTMgNzUuNDA1Yy0zMi41NDcuODcyLTQ1LjQ3NSA0Ni4zMTQtOTYuNTk0IDM2LjIyIDIxLjM1IDE3LjQyIDM2LjAzNCA0MS4yNSA0Mi40NjcgNjcuMzEgNDIuMzA2LTI0LjkyIDQyLjA1My05NC40NjYgODcuMjgyLTkxLjYyNC0xMy40My04LjkyLTI0LjA2LTEyLjE1LTMzLjE1OC0xMS45MDV6bS0xNzcuOTcgMjYuNjU2Yy0yMy42NTYuNDYtNDYuNTMgOC44Mi02NC45MDYgMjMuNjI2bDE4LjY1NyAzNi4xNTZMMTcwIDE5My4xNTZjLTMuNTc2IDUuMjY0LTYuNzM3IDEwLjkwOC05LjQwNiAxNi45MzgtOC43MjYgMTkuNzA4LTExLjAwMiA0MC41OS03Ljc4IDYwLjM0NGw0NC43OCAyLjEyNS0zNCAzMC4zMTJjMTAuNzk4IDIwLjYyMiAyOC40MTQgMzcuODUyIDUxLjQwNiA0OC4wMyAzLjA3NyAxLjM2NCA2LjE4NiAyLjU3NCA5LjMxMyAzLjYyNmwyNC41My0zOC4yNSA5LjA5NSA0My44MTRjMjcuMy4wNzUgNTMuNzM3LTEwLjM4NyA3My41OTMtMjkuMTg4bC0xOS4xODYtMzcuMTI1IDM4LjQwNiAxMi42NThjMS44MjItMy4xODggMy41MTItNi41MDYgNS4wMy05LjkzOCA5Ljc0Ni0yMi4wMSAxMS40NTctNDUuNDk4IDYuNDQtNjcuMjJsLTM3LjYyNi0xLjc1IDI3LjY4Ny0yNC43MThjLTEwLjgzLTIwLjE5NC0yOC4yMzYtMzcuMDctNTAuODc0LTQ3LjA5My0xLjM3LS42MDctMi43NDUtMS4xNzYtNC4xMjUtMS43MmwtMjUuODc0IDQwLjMxMy05LjkwNi00Ny43NWMtLjUtLjAxNi0xLS4wMjMtMS41LS4wMzItMS4zLS4wMi0yLjYxLS4wMjQtMy45MDYgMHpNMTMzLjQwNyAxODYuNWMtNDEuNjUyLjcyNS04Mi40ODMgMzQuODQ3LTEwOC43MiA1LjA5NCAxNC41NzMgNzIuMjM0IDcxLjY2NCAxOS4zIDEwOC43ODMgNzQuMzEyLTIuMTU0LTIwLjk3Mi45MzQtNDIuNzU4IDEwLjA2LTYzLjM3NSAyLjE3OC00LjkxNSA0LjYzNy05LjYwNCA3LjM0NS0xNC4wOTMtNS44MjItMS40Ny0xMS42NDItMi4wMzgtMTcuNDctMS45Mzd6bTI0OS41IDUzLjk3YzIuMjA0IDIxLjA0Ny0uODY3IDQyLjkyNi0xMC4wMyA2My42MjRsLS4xODguMzc1Yy0yLjE0MyA0Ljc5Ni00LjU3IDkuMzkzLTcuMjIgMTMuNzggNDcuNTI0IDEyLjI0NCA5Ni41MDctMzcuMTM3IDEyNi40Ny0zLjE1Ni0xNC42MDMtNzIuMzg4LTcxLjkyLTE5LjA0LTEwOS4wMzItNzQuNjI1ek0xMzYuNTMgMjgzLjQwNWMtNDIuMTIzIDI1LjAxNC00MS45MjggOTQuMzctODcuMDkzIDkxLjUzIDYxLjQyMiA0MC44MDMgNjQuMzIyLTM3LjEyMyAxMjkuNTk0LTI0LjM0Mi0yMS4zNDQtMTcuMzg1LTM2LjAzLTQxLjE2Ny00Mi41LTY3LjE4OHptMjE5LjA2NCA0OC45MDZjLTE3LjQwNiAyMS40Ni00MS4yMzYgMzYuMjQtNjcuMzQ0IDQyLjcyIDI0Ljk0NCA0Mi4yNjMgOTQuNDk3IDQyLjAwNCA5MS42NTYgODcuMjE4IDQwLjg2Ny02MS41Mi0zNy40MDItNjQuMzU4LTI0LjMxMi0xMjkuOTM4ek0xOTMuNDA2IDM2MC43MmMtMTIuMDQ3IDQ3LjQ1NiAzNy4wODcgOTYuMzMgMy4xNTYgMTI2LjI1IDcyLjMwNS0xNC41ODcgMTkuMTk1LTcxLjc5IDc0LjQ3LTEwOC45MDgtMjEuMDQgMi4yMDQtNDIuODk4LS45LTYzLjU5NC0xMC4wNjItNC44ODQtMi4xNjItOS41Ny00LjU5NC0xNC4wMzItNy4yOHoiIGZpbGw9IiNmZmYiIGZpbGwtb3BhY2l0eT0iMSIgdHJhbnNmb3JtPSJ0cmFuc2xhdGUoMTI4LCAxMjgpIHNjYWxlKDAuNSwgMC41KSByb3RhdGUoMCwgMjU2LCAyNTYpIHNrZXdYKDApIHNrZXdZKDApIj48L3BhdGg+PC9nPjwvc3ZnPg==
data:image/svg+xml;base64,PHN2ZyBzdHlsZT0iaGVpZ2h0OiA1MTJweDsgd2lkdGg6IDUxMnB4OyIgeG1sbnM9Imh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnIiB2aWV3Qm94PSIwIDAgNTEyIDUxMiI+PGcgY2xhc3M9IiIgc3R5bGU9IiIgdHJhbnNmb3JtPSJ0cmFuc2xhdGUoMCwwKSI+PHBhdGggZD0iTTMyMC4wNjMgMTkuNzJjLTcyLjI1OCAxNC41NzUtMTkuMjQ4IDcxLjY5My03NC4zNDQgMTA4LjgxIDQuODQ2LS40OSA5Ljc0Ni0uNzAyIDE0LjY1NS0uNjI0IDE2LjI4OC4yNiAzMi43ODUgMy43MiA0OC41OTQgMTAuNzIgNC45NiAyLjE5NiA5LjcyMyA0LjY2NyAxNC4yNSA3LjQwNSAxMi4xMDctNDcuNDc2LTM3LjEwMy05Ni4zOC0zLjE1OC0xMjYuMzF6TTEzNi43NSA0NC40N2MtNDAuNzYgNjEuMzU3IDM2Ljk4NCA2NC4zMyAyNC40MDYgMTI5LjQwNSAxNy40MDctMjEuMjU1IDQxLjE3LTM1LjkgNjcuMTU2LTQyLjMxMy0yNS4wMDYtNDIuMTM4LTk0LjQtNDEuOTI0LTkxLjU2Mi04Ny4wOTN6bTI5Ny4zMTMgNzUuNDA1Yy0zMi41NDcuODcyLTQ1LjQ3NSA0Ni4zMTQtOTYuNTk0IDM2LjIyIDIxLjM1IDE3LjQyIDM2LjAzNCA0MS4yNSA0Mi40NjcgNjcuMzEgNDIuMzA2LTI0LjkyIDQyLjA1My05NC40NjYgODcuMjgyLTkxLjYyNC0xMy40My04LjkyLTI0LjA2LTEyLjE1LTMzLjE1OC0xMS45MDV6bS0xNzcuOTcgMjYuNjU2Yy0yMy42NTYuNDYtNDYuNTMgOC44Mi02NC45MDYgMjMuNjI2bDE4LjY1NyAzNi4xNTZMMTcwIDE5My4xNTZjLTMuNTc2IDUuMjY0LTYuNzM3IDEwLjkwOC05LjQwNiAxNi45MzgtOC43MjYgMTkuNzA4LTExLjAwMiA0MC41OS03Ljc4IDYwLjM0NGw0NC43OCAyLjEyNS0zNCAzMC4zMTJjMTAuNzk4IDIwLjYyMiAyOC40MTQgMzcuODUyIDUxLjQwNiA0OC4wMyAzLjA3NyAxLjM2NCA2LjE4NiAyLjU3NCA5LjMxMyAzLjYyNmwyNC41My0zOC4yNSA5LjA5NSA0My44MTRjMjcuMy4wNzUgNTMuNzM3LTEwLjM4NyA3My41OTMtMjkuMTg4bC0xOS4xODYtMzcuMTI1IDM4LjQwNiAxMi42NThjMS44MjItMy4xODggMy41MTItNi41MDYgNS4wMy05LjkzOCA5Ljc0Ni0yMi4wMSAxMS40NTctNDUuNDk4IDYuNDQtNjcuMjJsLTM3LjYyNi0xLjc1IDI3LjY4Ny0yNC43MThjLTEwLjgzLTIwLjE5NC0yOC4yMzYtMzcuMDctNTAuODc0LTQ3LjA5My0xLjM3LS42MDctMi43NDUtMS4xNzYtNC4xMjUtMS43MmwtMjUuODc0IDQwLjMxMy05LjkwNi00Ny43NWMtLjUtLjAxNi0xLS4wMjMtMS41LS4wMzItMS4zLS4wMi0yLjYxLS4wMjQtMy45MDYgMHpNMTMzLjQwNyAxODYuNWMtNDEuNjUyLjcyNS04Mi40ODMgMzQuODQ3LTEwOC43MiA1LjA5NCAxNC41NzMgNzIuMjM0IDcxLjY2NCAxOS4zIDEwOC43ODMgNzQuMzEyLTIuMTU0LTIwLjk3Mi45MzQtNDIuNzU4IDEwLjA2LTYzLjM3NSAyLjE3OC00LjkxNSA0LjYzNy05LjYwNCA3LjM0NS0xNC4wOTMtNS44MjItMS40Ny0xMS42NDItMi4wMzgtMTcuNDctMS45Mzd6bTI0OS41IDUzLjk3YzIuMjA0IDIxLjA0Ny0uODY3IDQyLjkyNi0xMC4wMyA2My42MjRsLS4xODguMzc1Yy0yLjE0MyA0Ljc5Ni00LjU3IDkuMzkzLTcuMjIgMTMuNzggNDcuNTI0IDEyLjI0NCA5Ni41MDctMzcuMTM3IDEyNi40Ny0zLjE1Ni0xNC42MDMtNzIuMzg4LTcxLjkyLTE5LjA0LTEwOS4wMzItNzQuNjI1ek0xMzYuNTMgMjgzLjQwNWMtNDIuMTIzIDI1LjAxNC00MS45MjggOTQuMzctODcuMDkzIDkxLjUzIDYxLjQyMiA0MC44MDMgNjQuMzIyLTM3LjEyMyAxMjkuNTk0LTI0LjM0Mi0yMS4zNDQtMTcuMzg1LTM2LjAzLTQxLjE2Ny00Mi41LTY3LjE4OHptMjE5LjA2NCA0OC45MDZjLTE3LjQwNiAyMS40Ni00MS4yMzYgMzYuMjQtNjcuMzQ0IDQyLjcyIDI0Ljk0NCA0Mi4yNjMgOTQuNDk3IDQyLjAwNCA5MS42NTYgODcuMjE4IDQwLjg2Ny02MS41Mi0zNy40MDItNjQuMzU4LTI0LjMxMi0xMjkuOTM4ek0xOTMuNDA2IDM2MC43MmMtMTIuMDQ3IDQ3LjQ1NiAzNy4wODcgOTYuMzMgMy4xNTYgMTI2LjI1IDcyLjMwNS0xNC41ODcgMTkuMTk1LTcxLjc5IDc0LjQ3LTEwOC45MDgtMjEuMDQgMi4yMDQtNDIuODk4LS45LTYzLjU5NC0xMC4wNjItNC44ODQtMi4xNjItOS41Ny00LjU5NC0xNC4wMzItNy4yOHoiIGZpbGw9IiNmZmYiIGZpbGwtb3BhY2l0eT0iMSIgdHJhbnNmb3JtPSJ0cmFuc2xhdGUoMTAyLjQsIDEwMi40KSBzY2FsZSgwLjYsIDAuNikgcm90YXRlKDAsIDI1NiwgMjU2KSBza2V3WCgwKSBza2V3WSgwKSI+PC9wYXRoPjwvZz48L3N2Zz4=
data:image/svg+xml;base64,PHN2ZyBzdHlsZT0iaGVpZ2h0OiA1MTJweDsgd2lkdGg6IDUxMnB4OyIgeG1sbnM9Imh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnIiB2aWV3Qm94PSIwIDAgNTEyIDUxMiI+PGcgY2xhc3M9IiIgc3R5bGU9IiIgdHJhbnNmb3JtPSJ0cmFuc2xhdGUoMCwwKSI+PHBhdGggZD0iTTMyMC4wNjMgMTkuNzJjLTcyLjI1OCAxNC41NzUtMTkuMjQ4IDcxLjY5My03NC4zNDQgMTA4LjgxIDQuODQ2LS40OSA5Ljc0Ni0uNzAyIDE0LjY1NS0uNjI0IDE2LjI4OC4yNiAzMi43ODUgMy43MiA0OC41OTQgMTAuNzIgNC45NiAyLjE5NiA5LjcyMyA0LjY2NyAxNC4yNSA3LjQwNSAxMi4xMDctNDcuNDc2LTM3LjEwMy05Ni4zOC0zLjE1OC0xMjYuMzF6TTEzNi43NSA0NC40N2MtNDAuNzYgNjEuMzU3IDM2Ljk4NCA2NC4zMyAyNC40MDYgMTI5LjQwNSAxNy40MDctMjEuMjU1IDQxLjE3LTM1LjkgNjcuMTU2LTQyLjMxMy0yNS4wMDYtNDIuMTM4LTk0LjQtNDEuOTI0LTkxLjU2Mi04Ny4wOTN6bTI5Ny4zMTMgNzUuNDA1Yy0zMi41NDcuODcyLTQ1LjQ3NSA0Ni4zMTQtOTYuNTk0IDM2LjIyIDIxLjM1IDE3LjQyIDM2LjAzNCA0MS4yNSA0Mi40NjcgNjcuMzEgNDIuMzA2LTI0LjkyIDQyLjA1My05NC40NjYgODcuMjgyLTkxLjYyNC0xMy40My04LjkyLTI0LjA2LTEyLjE1LTMzLjE1OC0xMS45MDV6bS0xNzcuOTcgMjYuNjU2Yy0yMy42NTYuNDYtNDYuNTMgOC44Mi02NC45MDYgMjMuNjI2bDE4LjY1NyAzNi4xNTZMMTcwIDE5My4xNTZjLTMuNTc2IDUuMjY0LTYuNzM3IDEwLjkwOC05LjQwNiAxNi45MzgtOC43MjYgMTkuNzA4LTExLjAwMiA0MC41OS03Ljc4IDYwLjM0NGw0NC43OCAyLjEyNS0zNCAzMC4zMTJjMTAuNzk4IDIwLjYyMiAyOC40MTQgMzcuODUyIDUxLjQwNiA0OC4wMyAzLjA3NyAxLjM2NCA2LjE4NiAyLjU3NCA5LjMxMyAzLjYyNmwyNC41My0zOC4yNSA5LjA5NSA0My44MTRjMjcuMy4wNzUgNTMuNzM3LTEwLjM4NyA3My41OTMtMjkuMTg4bC0xOS4xODYtMzcuMTI1IDM4LjQwNiAxMi42NThjMS44MjItMy4xODggMy41MTItNi41MDYgNS4wMy05LjkzOCA5Ljc0Ni0yMi4wMSAxMS40NTctNDUuNDk4IDYuNDQtNjcuMjJsLTM3LjYyNi0xLjc1IDI3LjY4Ny0yNC43MThjLTEwLjgzLTIwLjE5NC0yOC4yMzYtMzcuMDctNTAuODc0LTQ3LjA5My0xLjM3LS42MDctMi43NDUtMS4xNzYtNC4xMjUtMS43MmwtMjUuODc0IDQwLjMxMy05LjkwNi00Ny43NWMtLjUtLjAxNi0xLS4wMjMtMS41LS4wMzItMS4zLS4wMi0yLjYxLS4wMjQtMy45MDYgMHpNMTMzLjQwNyAxODYuNWMtNDEuNjUyLjcyNS04Mi40ODMgMzQuODQ3LTEwOC43MiA1LjA5NCAxNC41NzMgNzIuMjM0IDcxLjY2NCAxOS4zIDEwOC43ODMgNzQuMzEyLTIuMTU0LTIwLjk3Mi45MzQtNDIuNzU4IDEwLjA2LTYzLjM3NSAyLjE3OC00LjkxNSA0LjYzNy05LjYwNCA3LjM0NS0xNC4wOTMtNS44MjItMS40Ny0xMS42NDItMi4wMzgtMTcuNDctMS45Mzd6bTI0OS41IDUzLjk3YzIuMjA0IDIxLjA0Ny0uODY3IDQyLjkyNi0xMC4wMyA2My42MjRsLS4xODguMzc1Yy0yLjE0MyA0Ljc5Ni00LjU3IDkuMzkzLTcuMjIgMTMuNzggNDcuNTI0IDEyLjI0NCA5Ni41MDctMzcuMTM3IDEyNi40Ny0zLjE1Ni0xNC42MDMtNzIuMzg4LTcxLjkyLTE5LjA0LTEwOS4wMzItNzQuNjI1ek0xMzYuNTMgMjgzLjQwNWMtNDIuMTIzIDI1LjAxNC00MS45MjggOTQuMzctODcuMDkzIDkxLjUzIDYxLjQyMiA0MC44MDMgNjQuMzIyLTM3LjEyMyAxMjkuNTk0LTI0LjM0Mi0yMS4zNDQtMTcuMzg1LTM2LjAzLTQxLjE2Ny00Mi41LTY3LjE4OHptMjE5LjA2NCA0OC45MDZjLTE3LjQwNiAyMS40Ni00MS4yMzYgMzYuMjQtNjcuMzQ0IDQyLjcyIDI0Ljk0NCA0Mi4yNjMgOTQuNDk3IDQyLjAwNCA5MS42NTYgODcuMjE4IDQwLjg2Ny02MS41Mi0zNy40MDItNjQuMzU4LTI0LjMxMi0xMjkuOTM4ek0xOTMuNDA2IDM2MC43MmMtMTIuMDQ3IDQ3LjQ1NiAzNy4wODcgOTYuMzMgMy4xNTYgMTI2LjI1IDcyLjMwNS0xNC41ODcgMTkuMTk1LTcxLjc5IDc0LjQ3LTEwOC45MDgtMjEuMDQgMi4yMDQtNDIuODk4LS45LTYzLjU5NC0xMC4wNjItNC44ODQtMi4xNjItOS41Ny00LjU5NC0xNC4wMzItNy4yOHoiIGZpbGw9IiNmZmYiIGZpbGwtb3BhY2l0eT0iMSIgdHJhbnNmb3JtPSJ0cmFuc2xhdGUoNzYuOCwgNzYuOCkgc2NhbGUoMC43LCAwLjcpIHJvdGF0ZSgwLCAyNTYsIDI1Nikgc2tld1goMCkgc2tld1koMCkiPjwvcGF0aD48L2c+PC9zdmc+
data:image/svg+xml;base64,PHN2ZyBzdHlsZT0iaGVpZ2h0OiA1MTJweDsgd2lkdGg6IDUxMnB4OyIgeG1sbnM9Imh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnIiB2aWV3Qm94PSIwIDAgNTEyIDUxMiI+PGcgY2xhc3M9IiIgc3R5bGU9IiIgdHJhbnNmb3JtPSJ0cmFuc2xhdGUoMCwwKSI+PHBhdGggZD0iTTMyMC4wNjMgMTkuNzJjLTcyLjI1OCAxNC41NzUtMTkuMjQ4IDcxLjY5My03NC4zNDQgMTA4LjgxIDQuODQ2LS40OSA5Ljc0Ni0uNzAyIDE0LjY1NS0uNjI0IDE2LjI4OC4yNiAzMi43ODUgMy43MiA0OC41OTQgMTAuNzIgNC45NiAyLjE5NiA5LjcyMyA0LjY2NyAxNC4yNSA3LjQwNSAxMi4xMDctNDcuNDc2LTM3LjEwMy05Ni4zOC0zLjE1OC0xMjYuMzF6TTEzNi43NSA0NC40N2MtNDAuNzYgNjEuMzU3IDM2Ljk4NCA2NC4zMyAyNC40MDYgMTI5LjQwNSAxNy40MDctMjEuMjU1IDQxLjE3LTM1LjkgNjcuMTU2LTQyLjMxMy0yNS4wMDYtNDIuMTM4LTk0LjQtNDEuOTI0LTkxLjU2Mi04Ny4wOTN6bTI5Ny4zMTMgNzUuNDA1Yy0zMi41NDcuODcyLTQ1LjQ3NSA0Ni4zMTQtOTYuNTk0IDM2LjIyIDIxLjM1IDE3LjQyIDM2LjAzNCA0MS4yNSA0Mi40NjcgNjcuMzEgNDIuMzA2LTI0LjkyIDQyLjA1My05NC40NjYgODcuMjgyLTkxLjYyNC0xMy40My04LjkyLTI0LjA2LTEyLjE1LTMzLjE1OC0xMS45MDV6bS0xNzcuOTcgMjYuNjU2Yy0yMy42NTYuNDYtNDYuNTMgOC44Mi02NC45MDYgMjMuNjI2bDE4LjY1NyAzNi4xNTZMMTcwIDE5My4xNTZjLTMuNTc2IDUuMjY0LTYuNzM3IDEwLjkwOC05LjQwNiAxNi45MzgtOC43MjYgMTkuNzA4LTExLjAwMiA0MC41OS03Ljc4IDYwLjM0NGw0NC43OCAyLjEyNS0zNCAzMC4zMTJjMTAuNzk4IDIwLjYyMiAyOC40MTQgMzcuODUyIDUxLjQwNiA0OC4wMyAzLjA3NyAxLjM2NCA2LjE4NiAyLjU3NCA5LjMxMyAzLjYyNmwyNC41My0zOC4yNSA5LjA5NSA0My44MTRjMjcuMy4wNzUgNTMuNzM3LTEwLjM4NyA3My41OTMtMjkuMTg4bC0xOS4xODYtMzcuMTI1IDM4LjQwNiAxMi42NThjMS44MjItMy4xODggMy41MTItNi41MDYgNS4wMy05LjkzOCA5Ljc0Ni0yMi4wMSAxMS40NTctNDUuNDk4IDYuNDQtNjcuMjJsLTM3LjYyNi0xLjc1IDI3LjY4Ny0yNC43MThjLTEwLjgzLTIwLjE5NC0yOC4yMzYtMzcuMDctNTAuODc0LTQ3LjA5My0xLjM3LS42MDctMi43NDUtMS4xNzYtNC4xMjUtMS43MmwtMjUuODc0IDQwLjMxMy05LjkwNi00Ny43NWMtLjUtLjAxNi0xLS4wMjMtMS41LS4wMzItMS4zLS4wMi0yLjYxLS4wMjQtMy45MDYgMHpNMTMzLjQwNyAxODYuNWMtNDEuNjUyLjcyNS04Mi40ODMgMzQuODQ3LTEwOC43MiA1LjA5NCAxNC41NzMgNzIuMjM0IDcxLjY2NCAxOS4zIDEwOC43ODMgNzQuMzEyLTIuMTU0LTIwLjk3Mi45MzQtNDIuNzU4IDEwLjA2LTYzLjM3NSAyLjE3OC00LjkxNSA0LjYzNy05LjYwNCA3LjM0NS0xNC4wOTMtNS44MjItMS40Ny0xMS42NDItMi4wMzgtMTcuNDctMS45Mzd6bTI0OS41IDUzLjk3YzIuMjA0IDIxLjA0Ny0uODY3IDQyLjkyNi0xMC4wMyA2My42MjRsLS4xODguMzc1Yy0yLjE0MyA0Ljc5Ni00LjU3IDkuMzkzLTcuMjIgMTMuNzggNDcuNTI0IDEyLjI0NCA5Ni41MDctMzcuMTM3IDEyNi40Ny0zLjE1Ni0xNC42MDMtNzIuMzg4LTcxLjkyLTE5LjA0LTEwOS4wMzItNzQuNjI1ek0xMzYuNTMgMjgzLjQwNWMtNDIuMTIzIDI1LjAxNC00MS45MjggOTQuMzctODcuMDkzIDkxLjUzIDYxLjQyMiA0MC44MDMgNjQuMzIyLTM3LjEyMyAxMjkuNTk0LTI0LjM0Mi0yMS4zNDQtMTcuMzg1LTM2LjAzLTQxLjE2Ny00Mi41LTY3LjE4OHptMjE5LjA2NCA0OC45MDZjLTE3LjQwNiAyMS40Ni00MS4yMzYgMzYuMjQtNjcuMzQ0IDQyLjcyIDI0Ljk0NCA0Mi4yNjMgOTQuNDk3IDQyLjAwNCA5MS42NTYgODcuMjE4IDQwLjg2Ny02MS41Mi0zNy40MDItNjQuMzU4LTI0LjMxMi0xMjkuOTM4ek0xOTMuNDA2IDM2MC43MmMtMTIuMDQ3IDQ3LjQ1NiAzNy4wODcgOTYuMzMgMy4xNTYgMTI2LjI1IDcyLjMwNS0xNC41ODcgMTkuMTk1LTcxLjc5IDc0LjQ3LTEwOC45MDgtMjEuMDQgMi4yMDQtNDIuODk4LS45LTYzLjU5NC0xMC4wNjItNC44ODQtMi4xNjItOS41Ny00LjU5NC0xNC4wMzItNy4yOHoiIGZpbGw9IiNmZmYiIGZpbGwtb3BhY2l0eT0iMSIgdHJhbnNmb3JtPSJ0cmFuc2xhdGUoNTEuMiwgNTEuMikgc2NhbGUoMC44LCAwLjgpIHJvdGF0ZSgwLCAyNTYsIDI1Nikgc2tld1goMCkgc2tld1koMCkiPjwvcGF0aD48L2c+PC9zdmc+
data:image/svg+xml;base64,PHN2ZyBzdHlsZT0iaGVpZ2h0OiA1MTJweDsgd2lkdGg6IDUxMnB4OyIgeG1sbnM9Imh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnIiB2aWV3Qm94PSIwIDAgNTEyIDUxMiI+PGcgY2xhc3M9IiIgc3R5bGU9IiIgdHJhbnNmb3JtPSJ0cmFuc2xhdGUoMCwwKSI+PHBhdGggZD0iTTMyMC4wNjMgMTkuNzJjLTcyLjI1OCAxNC41NzUtMTkuMjQ4IDcxLjY5My03NC4zNDQgMTA4LjgxIDQuODQ2LS40OSA5Ljc0Ni0uNzAyIDE0LjY1NS0uNjI0IDE2LjI4OC4yNiAzMi43ODUgMy43MiA0OC41OTQgMTAuNzIgNC45NiAyLjE5NiA5LjcyMyA0LjY2NyAxNC4yNSA3LjQwNSAxMi4xMDctNDcuNDc2LTM3LjEwMy05Ni4zOC0zLjE1OC0xMjYuMzF6TTEzNi43NSA0NC40N2MtNDAuNzYgNjEuMzU3IDM2Ljk4NCA2NC4zMyAyNC40MDYgMTI5LjQwNSAxNy40MDctMjEuMjU1IDQxLjE3LTM1LjkgNjcuMTU2LTQyLjMxMy0yNS4wMDYtNDIuMTM4LTk0LjQtNDEuOTI0LTkxLjU2Mi04Ny4wOTN6bTI5Ny4zMTMgNzUuNDA1Yy0zMi41NDcuODcyLTQ1LjQ3NSA0Ni4zMTQtOTYuNTk0IDM2LjIyIDIxLjM1IDE3LjQyIDM2LjAzNCA0MS4yNSA0Mi40NjcgNjcuMzEgNDIuMzA2LTI0LjkyIDQyLjA1My05NC40NjYgODcuMjgyLTkxLjYyNC0xMy40My04LjkyLTI0LjA2LTEyLjE1LTMzLjE1OC0xMS45MDV6bS0xNzcuOTcgMjYuNjU2Yy0yMy42NTYuNDYtNDYuNTMgOC44Mi02NC45MDYgMjMuNjI2bDE4LjY1NyAzNi4xNTZMMTcwIDE5My4xNTZjLTMuNTc2IDUuMjY0LTYuNzM3IDEwLjkwOC05LjQwNiAxNi45MzgtOC43MjYgMTkuNzA4LTExLjAwMiA0MC41OS03Ljc4IDYwLjM0NGw0NC43OCAyLjEyNS0zNCAzMC4zMTJjMTAuNzk4IDIwLjYyMiAyOC40MTQgMzcuODUyIDUxLjQwNiA0OC4wMyAzLjA3NyAxLjM2NCA2LjE4NiAyLjU3NCA5LjMxMyAzLjYyNmwyNC41My0zOC4yNSA5LjA5NSA0My44MTRjMjcuMy4wNzUgNTMuNzM3LTEwLjM4NyA3My41OTMtMjkuMTg4bC0xOS4xODYtMzcuMTI1IDM4LjQwNiAxMi42NThjMS44MjItMy4xODggMy41MTItNi41MDYgNS4wMy05LjkzOCA5Ljc0Ni0yMi4wMSAxMS40NTctNDUuNDk4IDYuNDQtNjcuMjJsLTM3LjYyNi0xLjc1IDI3LjY4Ny0yNC43MThjLTEwLjgzLTIwLjE5NC0yOC4yMzYtMzcuMDctNTAuODc0LTQ3LjA5My0xLjM3LS42MDctMi43NDUtMS4xNzYtNC4xMjUtMS43MmwtMjUuODc0IDQwLjMxMy05LjkwNi00Ny43NWMtLjUtLjAxNi0xLS4wMjMtMS41LS4wMzItMS4zLS4wMi0yLjYxLS4wMjQtMy45MDYgMHpNMTMzLjQwNyAxODYuNWMtNDEuNjUyLjcyNS04Mi40ODMgMzQuODQ3LTEwOC43MiA1LjA5NCAxNC41NzMgNzIuMjM0IDcxLjY2NCAxOS4zIDEwOC43ODMgNzQuMzEyLTIuMTU0LTIwLjk3Mi45MzQtNDIuNzU4IDEwLjA2LTYzLjM3NSAyLjE3OC00LjkxNSA0LjYzNy05LjYwNCA3LjM0NS0xNC4wOTMtNS44MjItMS40Ny0xMS42NDItMi4wMzgtMTcuNDctMS45Mzd6bTI0OS41IDUzLjk3YzIuMjA0IDIxLjA0Ny0uODY3IDQyLjkyNi0xMC4wMyA2My42MjRsLS4xODguMzc1Yy0yLjE0MyA0Ljc5Ni00LjU3IDkuMzkzLTcuMjIgMTMuNzggNDcuNTI0IDEyLjI0NCA5Ni41MDctMzcuMTM3IDEyNi40Ny0zLjE1Ni0xNC42MDMtNzIuMzg4LTcxLjkyLTE5LjA0LTEwOS4wMzItNzQuNjI1ek0xMzYuNTMgMjgzLjQwNWMtNDIuMTIzIDI1LjAxNC00MS45MjggOTQuMzctODcuMDkzIDkxLjUzIDYxLjQyMiA0MC44MDMgNjQuMzIyLTM3LjEyMyAxMjkuNTk0LTI0LjM0Mi0yMS4zNDQtMTcuMzg1LTM2LjAzLTQxLjE2Ny00Mi41LTY3LjE4OHptMjE5LjA2NCA0OC45MDZjLTE3LjQwNiAyMS40Ni00MS4yMzYgMzYuMjQtNjcuMzQ0IDQyLjcyIDI0Ljk0NCA0Mi4yNjMgOTQuNDk3IDQyLjAwNCA5MS42NTYgODcuMjE4IDQwLjg2Ny02MS41Mi0zNy40MDItNjQuMzU4LTI0LjMxMi0xMjkuOTM4ek0xOTMuNDA2IDM2MC43MmMtMTIuMDQ3IDQ3LjQ1NiAzNy4wODcgOTYuMzMgMy4xNTYgMTI2LjI1IDcyLjMwNS0xNC41ODcgMTkuMTk1LTcxLjc5IDc0LjQ3LTEwOC45MDgtMjEuMDQgMi4yMDQtNDIuODk4LS45LTYzLjU5NC0xMC4wNjItNC44ODQtMi4xNjItOS41Ny00LjU5NC0xNC4wMzItNy4yOHoiIGZpbGw9IiNmZmYiIGZpbGwtb3BhY2l0eT0iMSIgdHJhbnNmb3JtPSJ0cmFuc2xhdGUoMjUuNiwgMjUuNikgc2NhbGUoMC45LCAwLjkpIHJvdGF0ZSgwLCAyNTYsIDI1Nikgc2tld1goMCkgc2tld1koMCkiPjwvcGF0aD48L2c+PC9zdmc+
data:image/svg+xml;base64,PHN2ZyBzdHlsZT0iaGVpZ2h0OiA1MTJweDsgd2lkdGg6IDUxMnB4OyIgeG1sbnM9Imh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnIiB2aWV3Qm94PSIwIDAgNTEyIDUxMiI+PGcgY2xhc3M9IiIgc3R5bGU9IiIgdHJhbnNmb3JtPSJ0cmFuc2xhdGUoMCwwKSI+PHBhdGggZD0iTTMyMC4wNjMgMTkuNzJjLTcyLjI1OCAxNC41NzUtMTkuMjQ4IDcxLjY5My03NC4zNDQgMTA4LjgxIDQuODQ2LS40OSA5Ljc0Ni0uNzAyIDE0LjY1NS0uNjI0IDE2LjI4OC4yNiAzMi43ODUgMy43MiA0OC41OTQgMTAuNzIgNC45NiAyLjE5NiA5LjcyMyA0LjY2NyAxNC4yNSA3LjQwNSAxMi4xMDctNDcuNDc2LTM3LjEwMy05Ni4zOC0zLjE1OC0xMjYuMzF6TTEzNi43NSA0NC40N2MtNDAuNzYgNjEuMzU3IDM2Ljk4NCA2NC4zMyAyNC40MDYgMTI5LjQwNSAxNy40MDctMjEuMjU1IDQxLjE3LTM1LjkgNjcuMTU2LTQyLjMxMy0yNS4wMDYtNDIuMTM4LTk0LjQtNDEuOTI0LTkxLjU2Mi04Ny4wOTN6bTI5Ny4zMTMgNzUuNDA1Yy0zMi41NDcuODcyLTQ1LjQ3NSA0Ni4zMTQtOTYuNTk0IDM2LjIyIDIxLjM1IDE3LjQyIDM2LjAzNCA0MS4yNSA0Mi40NjcgNjcuMzEgNDIuMzA2LTI0LjkyIDQyLjA1My05NC40NjYgODcuMjgyLTkxLjYyNC0xMy40My04LjkyLTI0LjA2LTEyLjE1LTMzLjE1OC0xMS45MDV6bS0xNzcuOTcgMjYuNjU2Yy0yMy42NTYuNDYtNDYuNTMgOC44Mi02NC45MDYgMjMuNjI2bDE4LjY1NyAzNi4xNTZMMTcwIDE5My4xNTZjLTMuNTc2IDUuMjY0LTYuNzM3IDEwLjkwOC05LjQwNiAxNi45MzgtOC43MjYgMTkuNzA4LTExLjAwMiA0MC41OS03Ljc4IDYwLjM0NGw0NC43OCAyLjEyNS0zNCAzMC4zMTJjMTAuNzk4IDIwLjYyMiAyOC40MTQgMzcuODUyIDUxLjQwNiA0OC4wMyAzLjA3NyAxLjM2NCA2LjE4NiAyLjU3NCA5LjMxMyAzLjYyNmwyNC41My0zOC4yNSA5LjA5NSA0My44MTRjMjcuMy4wNzUgNTMuNzM3LTEwLjM4NyA3My41OTMtMjkuMTg4bC0xOS4xODYtMzcuMTI1IDM4LjQwNiAxMi42NThjMS44MjItMy4xODggMy41MTItNi41MDYgNS4wMy05LjkzOCA5Ljc0Ni0yMi4wMSAxMS40NTctNDUuNDk4IDYuNDQtNjcuMjJsLTM3LjYyNi0xLjc1IDI3LjY4Ny0yNC43MThjLTEwLjgzLTIwLjE5NC0yOC4yMzYtMzcuMDctNTAuODc0LTQ3LjA5My0xLjM3LS42MDctMi43NDUtMS4xNzYtNC4xMjUtMS43MmwtMjUuODc0IDQwLjMxMy05LjkwNi00Ny43NWMtLjUtLjAxNi0xLS4wMjMtMS41LS4wMzItMS4zLS4wMi0yLjYxLS4wMjQtMy45MDYgMHpNMTMzLjQwNyAxODYuNWMtNDEuNjUyLjcyNS04Mi40ODMgMzQuODQ3LTEwOC43MiA1LjA5NCAxNC41NzMgNzIuMjM0IDcxLjY2NCAxOS4zIDEwOC43ODMgNzQuMzEyLTIuMTU0LTIwLjk3Mi45MzQtNDIuNzU4IDEwLjA2LTYzLjM3NSAyLjE3OC00LjkxNSA0LjYzNy05LjYwNCA3LjM0NS0xNC4wOTMtNS44MjItMS40Ny0xMS42NDItMi4wMzgtMTcuNDctMS45Mzd6bTI0OS41IDUzLjk3YzIuMjA0IDIxLjA0Ny0uODY3IDQyLjkyNi0xMC4wMyA2My42MjRsLS4xODguMzc1Yy0yLjE0MyA0Ljc5Ni00LjU3IDkuMzkzLTcuMjIgMTMuNzggNDcuNTI0IDEyLjI0NCA5Ni41MDctMzcuMTM3IDEyNi40Ny0zLjE1Ni0xNC42MDMtNzIuMzg4LTcxLjkyLTE5LjA0LTEwOS4wMzItNzQuNjI1ek0xMzYuNTMgMjgzLjQwNWMtNDIuMTIzIDI1LjAxNC00MS45MjggOTQuMzctODcuMDkzIDkxLjUzIDYxLjQyMiA0MC44MDMgNjQuMzIyLTM3LjEyMyAxMjkuNTk0LTI0LjM0Mi0yMS4zNDQtMTcuMzg1LTM2LjAzLTQxLjE2Ny00Mi41LTY3LjE4OHptMjE5LjA2NCA0OC45MDZjLTE3LjQwNiAyMS40Ni00MS4yMzYgMzYuMjQtNjcuMzQ0IDQyLjcyIDI0Ljk0NCA0Mi4yNjMgOTQuNDk3IDQyLjAwNCA5MS42NTYgODcuMjE4IDQwLjg2Ny02MS41Mi0zNy40MDItNjQuMzU4LTI0LjMxMi0xMjkuOTM4ek0xOTMuNDA2IDM2MC43MmMtMTIuMDQ3IDQ3LjQ1NiAzNy4wODcgOTYuMzMgMy4xNTYgMTI2LjI1IDcyLjMwNS0xNC41ODcgMTkuMTk1LTcxLjc5IDc0LjQ3LTEwOC45MDgtMjEuMDQgMi4yMDQtNDIuODk4LS45LTYzLjU5NC0xMC4wNjItNC44ODQtMi4xNjItOS41Ny00LjU5NC0xNC4wMzItNy4yOHoiIGZpbGw9IiNmZmYiIGZpbGwtb3BhY2l0eT0iMSI+PC9wYXRoPjwvZz48L3N2Zz4=
data:image/svg+xml;base64,PHN2ZyBzdHlsZT0iaGVpZ2h0OiA1MTJweDsgd2lkdGg6IDUxMnB4OyIgeG1sbnM9Imh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnIiB2aWV3Qm94PSIwIDAgNTEyIDUxMiI+PGRlZnM+PGNsaXBQYXRoIGlkPSJpY29uLWJnIj48cGF0aCBkPSJNMCAwaDUxMnY1MTJIMHoiIGZpbGw9IiMwMDAiIGZpbGwtb3BhY2l0eT0iMCI+PC9wYXRoPjwvY2xpcFBhdGg+PC9kZWZzPjxwYXRoIGQ9Ik0wIDBoNTEydjUxMkgweiIgZmlsbD0iIzAwMCIgZmlsbC1vcGFjaXR5PSIwIj48L3BhdGg+PGcgY2xhc3M9IiIgc3R5bGU9InRvdWNoLWFjdGlvbjogbm9uZTsiIHRyYW5zZm9ybT0idHJhbnNsYXRlKDAsMCkiPjxwYXRoIGQ9Ik00ODggMzQ4Ljc4aC03MC4yNGwtMTUuMSA4Ny40NC00OC43OC04Ny40NEgxNjl2LTUwaDE5MHYtMTU3aDEyOXptLTE0NS0yNzN2MjA3SDE1OC4xM2wtNDguNzkgODcuNDctMTUuMTEtODcuNDdIMjR2LTIwN3pNMTM2LjcyNCAyMTUuMzI0YzAtMTAuMTM5LTEyLjI1Ny0xNS4yMTQtMTkuNDI1LTguMDQ2LTcuMTY4IDcuMTY4LTIuMDkzIDE5LjQyNiA4LjA0NiAxOS40MjYgNi4yODUgMCAxMS4zOC01LjA5NSAxMS4zOC0xMS4zOHptNjAuOTQ1IDBjLS4wNjgtMTAuMTItMTIuMzItMTUuMTIyLTE5LjQ1Mi03Ljk0My03LjEzMSA3LjE4LTIuMDQ3IDE5LjM5OSA4LjA3MyAxOS4zOTkgNi4zMTQgMCAxMS40MjItNS4xNDEgMTEuMzgtMTEuNDU2em02MC45NDUgMGMwLTEwLjEzOS0xMi4yNTctMTUuMjE0LTE5LjQyNS04LjA0Ni03LjE2OSA3LjE2OC0yLjA5MyAxOS40MjYgOC4wNDYgMTkuNDI2IDYuMjg0IDAgMTEuMzgtNS4wOTUgMTEuMzgtMTEuMzh6IiBmaWxsPSIjZmZmZmZmIiBmaWxsLW9wYWNpdHk9IjEiIGNsaXAtcGF0aD0idXJsKCNpY29uLWJnKSI+PC9wYXRoPjwvZz48L3N2Zz4=
data:image/svg+xml;base64,PD94bWwgdmVyc2lvbj0iMS4wIiBlbmNvZGluZz0iVVRGLTgiIHN0YW5kYWxvbmU9Im5vIj8+CjxzdmcKICAgeG1sbnM6ZGM9Imh0dHA6Ly9wdXJsLm9yZy9kYy9lbGVtZW50cy8xLjEvIgogICB4bWxuczpjYz0iaHR0cDovL2NyZWF0aXZlY29tbW9ucy5vcmcvbnMjIgogICB4bWxuczpyZGY9Imh0dHA6Ly93d3cudzMub3JnLzE5OTkvMDIvMjItcmRmLXN5bnRheC1ucyMiCiAgIHhtbG5zOnN2Zz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciCiAgIHhtbG5zPSJodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2ZyIKICAgeG1sbnM6c29kaXBvZGk9Imh0dHA6Ly9zb2RpcG9kaS5zb3VyY2Vmb3JnZS5uZXQvRFREL3NvZGlwb2RpLTAuZHRkIgogICB4bWxuczppbmtzY2FwZT0iaHR0cDovL3d3dy5pbmtzY2FwZS5vcmcvbmFtZXNwYWNlcy9pbmtzY2FwZSIKICAgc3R5bGU9ImhlaWdodDogNTEycHg7IHdpZHRoOiA1MTJweDsiCiAgIHZpZXdCb3g9IjAgMCA1MTIgNTEyIgogICB2ZXJzaW9uPSIxLjEiCiAgIGlkPSJzdmcxNTQ1IgogICBzb2RpcG9kaTpkb2NuYW1lPSJ0ZW1wLWNvbGQuc3ZnIgogICBpbmtzY2FwZTp2ZXJzaW9uPSIxLjAgKDQwMzVhNGZiNDksIDIwMjAtMDUtMDEpIj4KICA8bWV0YWRhdGEKICAgICBpZD0ibWV0YWRhdGExNTUxIj4KICAgIDxyZGY6UkRGPgogICAgICA8Y2M6V29yawogICAgICAgICByZGY6YWJvdXQ9IiI+CiAgICAgICAgPGRjOmZvcm1hdD5pbWFnZS9zdmcreG1sPC9kYzpmb3JtYXQ+CiAgICAgICAgPGRjOnR5cGUKICAgICAgICAgICByZGY6cmVzb3VyY2U9Imh0dHA6Ly9wdXJsLm9yZy9kYy9kY21pdHlwZS9TdGlsbEltYWdlIiAvPgogICAgICAgIDxkYzp0aXRsZT48L2RjOnRpdGxlPgogICAgICA8L2NjOldvcms+CiAgICA8L3JkZjpSREY+CiAgPC9tZXRhZGF0YT4KICA8ZGVmcwogICAgIGlkPSJkZWZzMTU0OSIgLz4KICA8c29kaXBvZGk6bmFtZWR2aWV3CiAgICAgaW5rc2NhcGU6ZG9jdW1lbnQtcm90YXRpb249IjAiCiAgICAgcGFnZWNvbG9yPSIjMDAwMDAwIgogICAgIGJvcmRlcmNvbG9yPSIjNjY2NjY2IgogICAgIGJvcmRlcm9wYWNpdHk9IjEiCiAgICAgb2JqZWN0dG9sZXJhbmNlPSIxMCIKICAgICBncmlkdG9sZXJhbmNlPSIxMCIKICAgICBndWlkZXRvbGVyYW5jZT0iMTAiCiAgICAgaW5rc2NhcGU6cGFnZW9wYWNpdHk9IjAiCiAgICAgaW5rc2NhcGU6cGFnZXNoYWRvdz0iMiIKICAgICBpbmtzY2FwZTp3aW5kb3ctd2lkdGg9IjE5MjAiCiAgICAgaW5rc2NhcGU6d2luZG93LWhlaWdodD0iMTAxNyIKICAgICBpZD0ibmFtZWR2aWV3MTU0NyIKICAgICBzaG93Z3JpZD0iZmFsc2UiCiAgICAgaW5rc2NhcGU6em9vbT0iMC44MzAwNzgxMyIKICAgICBpbmtzY2FwZTpjeD0iLTQ2LjQzMDgyNSIKICAgICBpbmtzY2FwZTpjeT0iMzYyLjYyNDM2IgogICAgIGlua3NjYXBlOndpbmRvdy14PSItOCIKICAgICBpbmtzY2FwZTp3aW5kb3cteT0iLTgiCiAgICAgaW5rc2NhcGU6d2luZG93LW1heGltaXplZD0iMSIKICAgICBpbmtzY2FwZTpjdXJyZW50LWxheWVyPSJzdmcxNTQ1IiAvPgogIDxwYXRoCiAgICAgZD0iTTAgMGg1MTJ2NTEySDB6IgogICAgIGZpbGw9IiMwMDAiCiAgICAgZmlsbC1vcGFjaXR5PSIwIgogICAgIGlkPSJwYXRoMTUyNSIgLz4KICA8cGF0aAogICAgIGQ9Im0gMTYyLDM2LjUgYyAtMTEuNjg4LDAgLTIzLDYuNjc0IC0yMywyNS41IHYgMjUgaCAyMyB2IDE4IGggLTIzIHYgMTQgaCA3IHYgMTggaCAtNyB2IDE0IGggMjMgdiAxOCBoIC0yMyB2IDE0IGggNyB2IDE4IGggLTcgdiAxNCBoIDIzIHYgMTggaCAtMjMgdiAxNCBoIDcgdiAxOCBoIC03IHYgMTQgaCAxNCB2IDE4IGggLTE0IHYgMTQgaCA3IHYgMTggaCAtNyB2IDE0IGggMTQgdiAtODcgaCAxOCB2IDE0NS4zMTMgYyAxMy42MjYsMy45OTMgMjIuOTkxLDE2LjQ4OCAyMywzMC42ODcgMCwxNy42NzMgLTE0LjMyNywzMiAtMzIsMzIgLTE3LjY3MywwIC0zMiwtMTQuMzI3IC0zMiwtMzIgMC4wMDksLTE0LjE5OSA5LjM3NCwtMjYuNjk0IDIzLC0zMC42ODggViAzNjEgaCAtMTQgdiAyMSBoIDAuMDEgYyAtMTguOTI2LDguNjczIC0zMi4wMSwyNy43NCAtMzIuMDEsNTAgMCwzMC40ODIgMjQuNTE4LDU1IDU1LDU1IDMwLjQ4MiwwIDU1LC0yNC41MTggNTUsLTU1IDAsLTIyLjI2IC0xMy4wODQsLTQxLjMyNyAtMzIuMDEsLTUwIEggMTg1IFYgNjIgQyAxODUsNDMuMTc0IDE3My42ODcsMzYuNSAxNjIsMzYuNSBaIgogICAgIGNsYXNzPSJzZWxlY3RlZCIKICAgICBmaWxsPSIjZmZmZmZmIgogICAgIGZpbGwtb3BhY2l0eT0iMSIKICAgICBpZD0icGF0aDE1MjciCiAgICAgc29kaXBvZGk6bm9kZXR5cGVzPSJzc2NjY2NjY2NjY2NjY2NjY2NjY2NjY2NjY2NjY2NjY2NjY2NjY2Njc2NjY2NjY3Nzc2Njc3MiIC8+CiAgPHBhdGgKICAgICBkPSJtIDE2Mi4xMSw0MDguNjQ5IGMgLTI1LjE4NiwwIC0yNS4xODYsMjYuNjc4IC0yNS4xODYsMjYuNjc4IDAsMCA3LjA1LC0xMC40IDExLjMxLC0xNC45MDQgNC4xOTUsLTQuNDM1IDEzLjg3NywtMTEuNzc0IDEzLjg3NywtMTEuNzc0IHoiCiAgICAgY2xhc3M9IiIKICAgICBmaWxsPSIjZmZmZmZmIgogICAgIGZpbGwtb3BhY2l0eT0iMSIKICAgICBpZD0icGF0aDE1MzkiIC8+CiAgPHBhdGgKICAgICBpZD0icGF0aDg3MCIKICAgICBkPSJtIDMzNC42ODMyOCwxMDYuMDAxMjIgdiAwLjAwMyA0OS4yNDkyOCBsIC01MC4zODUxOCwtMjUuMTkxMTcgLTUuOTQyMDgsMTEuODgyNzUgMjIuMzc1NzksMTEuMTg3ODkgMzMuOTUxNDcsMTYuOTc1NzQgdiAzNy4wODU0MSBsIC05Ljk5NTc0LDE5Ljk4ODU5IC0yMC44ODUyMiwtMS4yNTI3MiAtMS40MjI4MiwtMC4wODUgaCAtMC4wMDIgbCAtMS42NDYyMiwtMC45NTE0MiAtMzAuNDY4NjksLTE3LjU5MTI5IDMuNzcxMTEsLTYyLjg2MzI4IC0xMy4yNjM3NCwtMC43OTU3MyAtMy4zNzMyMyw1Ni4yMzA2OSAtNDIuNjUyNjksLTI0LjYyNDYyIC02LjY0MjY4LDExLjUwNTA0IDQyLjY1MjY5LDI0LjYyNjA2IC00Ny4wMDkwNiwzMS4wMzgxIDcuMzIwMjIsMTEuMDg2OTkgNTIuNTU0NywtMzQuNjk4MjEgMzIuMTE3ODQsMTguNTQ0MTUgNC45OTM1Myw3LjU2MjM5IDcuMzIwMjEsMTEuMDg1NTUgdiAwLjAwMiBsIC03LjMyMDIxLDExLjA4NTUyIC00Ljk5NDk5LDcuNTY1MjcgLTMyLjExNjM4LDE4LjU0MjcxIC01Mi41NTQ3LC0zNC42OTY3NyAtNy4zMjAyMiwxMS4wODU1NSA0Ny4wMTA1LDMxLjAzODEgLTQyLjY1NDEzLDI0LjYyNjA2IDYuNjQyNjgsMTEuNTA1MDQgNDIuNjU0MTMsLTI0LjYyNDYyIDMuMzczMjUsNTYuMjMwNjggMTMuMjYyMjgsLTAuNzk1NzQgLTMuNzcxMTEsLTYyLjg2MzI2IDMwLjQ2ODY5LC0xNy41OTEzIDAuMTE4MjEsLTAuMDY5MiAxLjUyOTQ4LC0wLjg4MjIzIDIyLjMxMDk0LC0xLjMzNzc1IDkuOTkyODYsMTkuOTg4NTQgdiAwLjAwMiAzNy4wODM5NyBsIC0yMS43ODA0NSwxMC44ODk0OSAtMzQuNTQ2ODMsMTcuMjc0MTUgNS45NDIwOSwxMS44ODI3MyAzNS40NjM2NiwtMTcuNzMyNTggMTQuOTIxNTMsLTcuNDYwMDQgdiA0OS4yNTIxMiBoIDEzLjI4NTM1IHYgLTQ5LjI1MjYxIGwgMTQuOTIxNTMsNy40NjAwNCAzNS40NjM2NiwxNy43MzI1NSA1Ljk0MjA4LC0xMS44ODI3MyAtMzQuNTQ2MzYsLTE3LjI3NTE1IC0yMS43ODA0MywtMTAuODg5NSB2IC0zNy4wODU2NCBsIDQuOTk2NDIsLTkuOTkyODcgNC45OTY0MywtOS45OTU3MyAyMi4zMTA5MywxLjMzNzc2IDEuNTI5NDgsMC44ODIyNCAwLjExODIxLDAuMDY5MiAzMC40Njg2NywxNy41OTEyOCAtMy43NzEwOSw2Mi44NjMyNyAxMy4yNjIyOSwwLjc5NTc1IDMuMzczMjQsLTU2LjIzMDcgNDIuNjU0MTIsMjQuNjI0NjIgNi42NDI2OCwtMTEuNTA1MDQgLTQyLjY1NDEyLC0yNC42MjYwNiA0Ny4wMTA1MSwtMzEuMDM4MSAtNy4zMjAyMiwtMTEuMDg1NTUgLTUyLjU1NDczLDM0LjY5Njc3IC0zMi4xMTYzNywtMTguNTQyNjggLTQuOTk0OTgsLTcuNTY1MjcgLTcuMzIwMjIsLTExLjA4NTU0IHYgLTAuMDAyIGwgNy4zMjAyMiwtMTEuMDg1NTEgNC45OTM1NCwtNy41NjI0IDMyLjExNzgxLC0xOC41NDQxNSA1Mi41NTQ3MywzNC42OTgyMSA3LjMyMDIyLC0xMS4wODY5OCAtNDcuMDA5MDcsLTMxLjAzODExIDQyLjY1MjY4LC0yNC42MjYwNiAtNi42NDI2OCwtMTEuNTA1MDQgLTQyLjY1MjY4LDI0LjYyNDYzIC0zLjM3MzIzLC01Ni4yMzA3MSAtMTMuMjYzNzQsMC43OTU3NSAzLjc3MTA5LDYyLjg2MzI3IC0zMC40Njg2NywxNy41OTEyOCAtMS42NDYyNiwwLjk1MTQ0IGggLTAuMDAyIGwgLTEuNDIyODEsMC4wODUgLTIwLjg4NTIzLDEuMjUyNzIgLTkuOTk1NywtMTkuOTg4NiB2IC0zNy4wODU0IGwgMzMuOTUxNDgsLTE2Ljk3NTc0IDIyLjM3NTc5LC0xMS4xODc5IC01Ljk0MjA4LC0xMS44ODI3NCAtNTAuMzg1MTksMjUuMTkxMTcgdiAtNDkuMjUyMTQgeiIKICAgICBzdHlsZT0iZmlsbDojZmZmZmZmO2ZpbGwtb3BhY2l0eToxO3N0cm9rZS13aWR0aDowLjczODA3NSIgLz4KPC9zdmc+Cg==
data:image/svg+xml;base64,PD94bWwgdmVyc2lvbj0iMS4wIiBlbmNvZGluZz0iVVRGLTgiIHN0YW5kYWxvbmU9Im5vIj8+CjxzdmcKICAgeG1sbnM6ZGM9Imh0dHA6Ly9wdXJsLm9yZy9kYy9lbGVtZW50cy8xLjEvIgogICB4bWxuczpjYz0iaHR0cDovL2NyZWF0aXZlY29tbW9ucy5vcmcvbnMjIgogICB4bWxuczpyZGY9Imh0dHA6Ly93d3cudzMub3JnLzE5OTkvMDIvMjItcmRmLXN5bnRheC1ucyMiCiAgIHhtbG5zOnN2Zz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciCiAgIHhtbG5zPSJodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2ZyIKICAgeG1sbnM6c29kaXBvZGk9Imh0dHA6Ly9zb2RpcG9kaS5zb3VyY2Vmb3JnZS5uZXQvRFREL3NvZGlwb2RpLTAuZHRkIgogICB4bWxuczppbmtzY2FwZT0iaHR0cDovL3d3dy5pbmtzY2FwZS5vcmcvbmFtZXNwYWNlcy9pbmtzY2FwZSIKICAgc3R5bGU9ImhlaWdodDogNTEycHg7IHdpZHRoOiA1MTJweDsiCiAgIHZpZXdCb3g9IjAgMCA1MTIgNTEyIgogICB2ZXJzaW9uPSIxLjEiCiAgIGlkPSJzdmcxNTQ1IgogICBzb2RpcG9kaTpkb2NuYW1lPSJ0ZW1wLWhvdC5zdmciCiAgIGlua3NjYXBlOnZlcnNpb249IjEuMCAoNDAzNWE0ZmI0OSwgMjAyMC0wNS0wMSkiPgogIDxtZXRhZGF0YQogICAgIGlkPSJtZXRhZGF0YTE1NTEiPgogICAgPHJkZjpSREY+CiAgICAgIDxjYzpXb3JrCiAgICAgICAgIHJkZjphYm91dD0iIj4KICAgICAgICA8ZGM6Zm9ybWF0PmltYWdlL3N2Zyt4bWw8L2RjOmZvcm1hdD4KICAgICAgICA8ZGM6dHlwZQogICAgICAgICAgIHJkZjpyZXNvdXJjZT0iaHR0cDovL3B1cmwub3JnL2RjL2RjbWl0eXBlL1N0aWxsSW1hZ2UiIC8+CiAgICAgICAgPGRjOnRpdGxlPjwvZGM6dGl0bGU+CiAgICAgIDwvY2M6V29yaz4KICAgIDwvcmRmOlJERj4KICA8L21ldGFkYXRhPgogIDxkZWZzCiAgICAgaWQ9ImRlZnMxNTQ5IiAvPgogIDxzb2RpcG9kaTpuYW1lZHZpZXcKICAgICBpbmtzY2FwZTpkb2N1bWVudC1yb3RhdGlvbj0iMCIKICAgICBwYWdlY29sb3I9IiMwMDAwMDAiCiAgICAgYm9yZGVyY29sb3I9IiM2NjY2NjYiCiAgICAgYm9yZGVyb3BhY2l0eT0iMSIKICAgICBvYmplY3R0b2xlcmFuY2U9IjEwIgogICAgIGdyaWR0b2xlcmFuY2U9IjEwIgogICAgIGd1aWRldG9sZXJhbmNlPSIxMCIKICAgICBpbmtzY2FwZTpwYWdlb3BhY2l0eT0iMCIKICAgICBpbmtzY2FwZTpwYWdlc2hhZG93PSIyIgogICAgIGlua3NjYXBlOndpbmRvdy13aWR0aD0iMTkyMCIKICAgICBpbmtzY2FwZTp3aW5kb3ctaGVpZ2h0PSIxMDE3IgogICAgIGlkPSJuYW1lZHZpZXcxNTQ3IgogICAgIHNob3dncmlkPSJmYWxzZSIKICAgICBpbmtzY2FwZTp6b29tPSIwLjQxNTAzOTA3IgogICAgIGlua3NjYXBlOmN4PSItMzYxLjAzMjYiCiAgICAgaW5rc2NhcGU6Y3k9IjM3Ny4yNTMyNCIKICAgICBpbmtzY2FwZTp3aW5kb3cteD0iLTgiCiAgICAgaW5rc2NhcGU6d2luZG93LXk9Ii04IgogICAgIGlua3NjYXBlOndpbmRvdy1tYXhpbWl6ZWQ9IjEiCiAgICAgaW5rc2NhcGU6Y3VycmVudC1sYXllcj0ic3ZnMTU0NSIgLz4KICA8cGF0aAogICAgIGQ9Ik0wIDBoNTEydjUxMkgweiIKICAgICBmaWxsPSIjMDAwIgogICAgIGZpbGwtb3BhY2l0eT0iMCIKICAgICBpZD0icGF0aDE1MjUiIC8+CiAgPHBhdGgKICAgICBkPSJtIDE2MiwzNi41IGMgLTExLjY4OCwwIC0yMyw2LjY3NCAtMjMsMjUuNSB2IDI1IGggMjMgdiAxOCBoIC0yMyB2IDE0IGggNyB2IDE4IGggLTcgdiAxNCBoIDE0IHYgMTggaCAtMTQgdiAxNCBoIDcgdiAxOCBoIC03IHYgMTQgaCAxNCB2IDE4IGggLTE0IHYgMTQgaCA3IHYgMTggaCAtNyB2IDE0IGggMTQgdiAxOCBoIC0xNCB2IDE0IGggNyB2IDE4IGggLTcgdiAxNCBoIDE0IFYgMTI4IGggMTggdiAyNzMuMzEzIGMgMTMuNjI2LDMuOTkzIDIyLjk5MSwxNi40ODggMjMsMzAuNjg3IDAsMTcuNjczIC0xNC4zMjcsMzIgLTMyLDMyIC0xNy42NzMsMCAtMzIsLTE0LjMyNyAtMzIsLTMyIDAuMDA5LC0xNC4xOTkgOS4zNzQsLTI2LjY5NCAyMywtMzAuNjg4IFYgMzYxIGggLTE0IHYgMjEgaCAwLjAxIGMgLTE4LjkyNiw4LjY3MyAtMzIuMDEsMjcuNzQgLTMyLjAxLDUwIDAsMzAuNDgyIDI0LjUxOCw1NSA1NSw1NSAzMC40ODIsMCA1NSwtMjQuNTE4IDU1LC01NSAwLC0yMi4yNiAtMTMuMDg0LC00MS4zMjcgLTMyLjAxLC01MCBIIDE4NSBWIDYyIEMgMTg1LDQzLjE3NCAxNzMuNjg3LDM2LjUgMTYyLDM2LjUgWiIKICAgICBjbGFzcz0ic2VsZWN0ZWQiCiAgICAgZmlsbD0iI2ZmZmZmZiIKICAgICBmaWxsLW9wYWNpdHk9IjEiCiAgICAgaWQ9InBhdGgxNTI3IgogICAgIHNvZGlwb2RpOm5vZGV0eXBlcz0ic3NjY2NjY2NjY2NjY2NjY2NjY2NjY2NjY2NjY2NjY2NjY2NjY2NjY3NjY2NjY2Nzc3NjY3NzIiAvPgogIDxwYXRoCiAgICAgZD0ibSAxNjIuMTEsNDA4LjY0OSBjIC0yNS4xODYsMCAtMjUuMTg2LDI2LjY3OCAtMjUuMTg2LDI2LjY3OCAwLDAgNy4wNSwtMTAuNCAxMS4zMSwtMTQuOTA0IDQuMTk1LC00LjQzNSAxMy44NzcsLTExLjc3NCAxMy44NzcsLTExLjc3NCB6IgogICAgIGNsYXNzPSIiCiAgICAgZmlsbD0iI2ZmZmZmZiIKICAgICBmaWxsLW9wYWNpdHk9IjEiCiAgICAgaWQ9InBhdGgxNTM5IiAvPgogIDxwYXRoCiAgICAgaWQ9InBhdGgxNTMwIgogICAgIHN0eWxlPSJmaWxsOiNmZmZmZmY7ZmlsbC1vcGFjaXR5OjE7c3Ryb2tlLXdpZHRoOjAuNzM4MDkyIgogICAgIGQ9Im0gMzQ1LjQ0MTg3LDEwNS45OTk5OSBjIC0xLjExMjc0LDEuODU0NTYgLTIuMjM2ODgsMy42OTc2MiAtMy4zNzE4Nyw1LjUyOTkyIC0yLjI3MDM5LDMuNjY1MyAtNC41ODUxMyw3LjI4NTcyIC02Ljk0NDEyLDEwLjg2MjM2IC0yLjM1ODk5LDMuNTc2NjMgLTQuNzYyMzIsNy4xMDg1OCAtNy4yMDkzNywxMC41OTcxIC0xLjIyMzUzLDEuNzQ0MjYgLTIuNDU4LDMuNDc3NDYgLTMuNzAzNDQsNS4xOTk4IC0yLjQ5MDg5LDMuNDQ0NjcgLTUuMDI2MjEsNi44NDYxNSAtNy42MDQzNywxMC4yMDM1NiAtMC4yMDY3MiwtMC4wODU1IC0wLjQxMTgxLC0wLjE3NjUzIC0wLjYxODQ0LC0wLjI2MjM4IC0zLjcyOTI4LC0xLjU1MDMzIC03LjQ0MzksLTMuMTU3NTMgLTExLjE0MzQ2LC00LjgxNzc5IHYgMC4wMTE1IGMgLTExLjYxMjY4LC01LjIwMzgyIC0yMy4wODAxNSwtMTAuOTQ0MDEgLTM0LjQwMzQ3LC0xNy4yMjk4MiAtMC4yOTA4MSwxNy4zMDMwOCAtMS41NTkwMiwzNC4zNDM3NSAtMy43NzU1MSw1MS4xMzAxOCAtMTYuNzg2NDMsMi4yMTY0OSAtMzMuODI2NCwzLjQ4MzI2IC01MS4xMjg3NiwzLjc3NDA3IDguMzk5NDksMTUuMTMwODkgMTUuODIzOTYsMzAuNTIwNzMgMjIuMjk3MDMsNDYuMTY2ODEgLTEzLjQyOTYsMTAuMzEyNjMgLTI3LjU1NDgzLDE5LjkyOTU3IC00Mi4zOTQxOCwyOC44MzMxNyAxNC44MzkzNSw4LjkwMzYxIDI4Ljk2NTMyLDE4LjUyMDU5IDQyLjM5NDE4LDI4LjgzMTc0IC02LjQ3MzA3LDE1LjY0NzU1IC0xMy44OTg5NywzMS4wMzczNSAtMjIuMjk4NDcsNDYuMTY4MjUgMTcuMzAzMSwwLjI5MDggMzQuMzQzNzcsMS41NTc1OCA1MS4xMzAyLDMuNzc0MDcgMi4yMTY0OSwxNi43ODY0MyAzLjQ4MzI2LDMzLjgyNzgzIDMuNzc0MDcsNTEuMTMwMTkgMTUuMTMwODksLTguMzk5NDkgMzAuNTIwNzMsLTE1LjgyNTM5IDQ2LjE2NjgxLC0yMi4yOTg0NiAzLjkwNjQ2LDUuMDg3MTggNy43MTMwMiwxMC4yNzU0OCAxMS40MTg4MSwxNS41NjMzNyAxLjJlLTQsNy40ZS00IC0xLjJlLTQsMC4wMDIgMCwwLjAwMyAxLjM4OTY2LDEuOTgyNzMgMi43NjE3MiwzLjk4MzE2IDQuMTIyOTQsNS45OTQxMiAwLjM5MSwwLjU3Nzc0IDAuNzc3NTgsMS4xNTk5IDEuMTY2MjQsMS43Mzk5OSAxLjAwMTg5LDEuNDk1MSAxLjk5NjQsMi45OTcxMSAyLjk4MjY0LDQuNTA3ODQgMC40MjI0NywwLjY0NzI1IDAuODQzMjMsMS4yOTYwMiAxLjI2MjgzLDEuOTQ2MTQgMC45NDYyMSwxLjQ2NTg1IDEuODgzODYsMi45NDA3OCAyLjgxNTQyLDQuNDIxMzUgMC40MDUwNiwwLjY0Mzg0IDAuODEyOTYsMS4yODUxMSAxLjIxNTI2LDEuOTMxNzIgMS4yOTU5NSwyLjA4Mjk1IDIuNTgxOTQsNC4xNzYwOSAzLjg0OTAzLDYuMjg4MjEgMS4yNjcxLC0yLjExMjEyIDIuNTUzMDksLTQuMjA1MjYgMy44NDkwNCwtNi4yODgyMSAwLjQwMjI5LC0wLjY0NjYxIDAuODEwMTksLTEuMjg3ODggMS4yMTUyNiwtMS45MzE3MiAwLjkzMTU1LC0xLjQ4MDU3IDEuODY5MjEsLTIuOTU1NDkgMi44MTU0MSwtNC40MjEzNSAwLjQxOTYsLTAuNjUwMTIgMC44NDAzNywtMS4yOTg4OSAxLjI2Mjg0LC0xLjk0NjE0IDAuOTg2MjMsLTEuNTEwNzMgMS45ODA3NSwtMy4wMTI3NCAyLjk4MjYzLC00LjUwNzg0IDAuMzg4NjYsLTAuNTgwMDkgMC43NzUyNCwtMS4xNjIyNSAxLjE2NjI1LC0xLjczOTk5IDEuMzYxMjIsLTIuMDEwOTYgMi43MzMyNywtNC4wMTEzOSA0LjEyMjk0LC01Ljk5NDEyIDEuMmUtNCwtNy40ZS00IC0xLjJlLTQsLTAuMDAyIDAsLTAuMDAzIDMuNzA1NzksLTUuMjg3ODkgNy41MTIzNSwtMTAuNDc2MTggMTEuNDE4OCwtMTUuNTYzMzcgMTUuNjQ2MDgsNi40NzMwNyAzMS4wMzU5MiwxMy44OTg5NyA0Ni4xNjY4MSwyMi4yOTg0NiAwLjI5MDgxLC0xNy4zMDIzNiAxLjU1NzU5LC0zNC4zNDM3NiAzLjc3NDA4LC01MS4xMzAxOSAxNi43ODY0MywtMi4yMTY0OSAzMy44MjcwOSwtMy40ODMyNyA1MS4xMzAxOSwtMy43NzQwNyAtOC4zOTk0OSwtMTUuMTMwOSAtMTUuODI1MzksLTMwLjUyMDcgLTIyLjI5ODQ2LC00Ni4xNjgyNSAxMy40Mjg4NSwtMTAuMzExMTUgMjcuNTU0ODMsLTE5LjkyODEzIDQyLjM5NDE4LC0yOC44MzE3NCAtMTQuODM5MzUsLTguOTAzNiAtMjguOTY0NTksLTE4LjUyMDU0IC00Mi4zOTQxOCwtMjguODMzMTcgNi40NzMwNywtMTUuNjQ2MDggMTMuODk3NTMsLTMxLjAzNTkyIDIyLjI5NzAyLC00Ni4xNjY4MSAtMTcuMzAyMzYsLTAuMjkwODEgLTM0LjM0MjMyLC0xLjU1NzU4IC01MS4xMjg3NSwtMy43NzQwNyAtMi4yMTY0OSwtMTYuNzg2NDMgLTMuNDg0NzEsLTMzLjgyNzEgLTMuNzc1NTEsLTUxLjEzMDE4IC0xMS4zMjMzMiw2LjI4NTgxIC0yMi43OTA4LDEyLjAyNiAtMzQuNDAzNDcsMTcuMjI5ODMgdiAtMC4wMTE1IGMgLTMuNjk5NTYsMS42NjAyNSAtNy40MTQxOSwzLjI2NzQ1IC0xMS4xNDM0Nyw0LjgxNzc5IC0wLjIwNjYzLDAuMDg1OCAtMC40MTE3MSwwLjE3Njg1IC0wLjYxODQ0LDAuMjYyMzYgLTIuNTc4MTUsLTMuMzU3NCAtNS4xMTM0OCwtNi43NTg4NyAtNy42MDQzNiwtMTAuMjAzNTUgLTEuMjQ1NDQsLTEuNzIyMzQgLTIuNDc5OTEsLTMuNDU1NTQgLTMuNzAzNDQsLTUuMTk5OCAtMi40NDcwNiwtMy40ODg1MiAtNC44NTAzOCwtNy4wMjA0NyAtNy4yMDkzOCwtMTAuNTk3MSAtMi4zNTg5OCwtMy41NzY2NCAtNC42NzM3MiwtNy4xOTcwNiAtNi45NDQxMiwtMTAuODYyMzYgLTEuMTM0ODYsLTEuODMyMDggLTIuMjU5MjUsLTMuNjc1NTggLTMuMzcxODcsLTUuNTI5OTIgeiBtIDAsNDMuMzU3MTUgYyAwLjkwNzQ4LDAgMS44MTI0LDAuMDEyIDIuNzE0NTEsMC4wMzQ2IDAuNDA0OTMsMC4wMTAyIDAuODA3MTQsMC4wMyAxLjIxMDkzLDAuMDQ0NyAwLjQ5MTg0LDAuMDE3OSAwLjk4NDYxLDAuMDMxNyAxLjQ3NDc1LDAuMDU2MyAwLjU2Njk5LDAuMDI4NSAxLjEzMDY3LDAuMDY3OCAxLjY5NTMsMC4xMDUyMyAwLjMyMDI5LDAuMDIxMSAwLjY0MjAyLDAuMDM4IDAuOTYxNTQsMC4wNjIgMC44NjU0LDAuMDY1MiAxLjcyODEyLDAuMTQwNTEgMi41ODc2NSwwLjIyNjM0IDAuNzY0MzksMC4wNzYzIDEuNTI1MzQsMC4xNjI2OCAyLjI4NDkxLDAuMjU1MTYgMC4xMjQyNSwwLjAxNTEgMC4yNDkyNSwwLjAyNzcgMC4zNzMzOCwwLjA0MzMgMC44NTQ4OSwwLjEwNzE2IDEuNzA3NDIsMC4yMjQzNyAyLjU1NTkzLDAuMzUxNzUgOC42MjM5MSwxLjI5NDYzIDE2LjkxMTQ4LDMuNjI2NzUgMjQuNzM2MTgsNi44NjA1MiB2IC0wLjAwOSBjIDM4LjczMDgsMTUuOTk2MTUgNjYuMDQ3NzMsNTQuMTYwODggNjYuMDQ3NzMsOTguNjExNzIgMCw1MC42OTUwMiAtMzUuNTI3MzYsOTMuMjE3MzMgLTgyLjk5OTM1LDEwMy45OTc1IC0wLjkxMzA2LDAuMjA3NDkgLTEuODMxNzEsMC40MDE0MSAtMi43NTM0MywwLjU4NTI4IC0wLjEzOTA2LDAuMDI3NyAtMC4yNzg3OSwwLjA1MzYgLTAuNDE4MDUsMC4wODA3IC0wLjc2NTI3LDAuMTQ5NDggLTEuNTMyNjgsMC4yOTA4NSAtMi4zMDM2NiwwLjQyMzgzIC0wLjI1MzY1LDAuMDQzNyAtMC41MDgzNSwwLjA4NSAtMC43NjI2LDAuMTI2ODYgLTAuNjY5ODQsMC4xMTA1MiAtMS4zNDEzOSwwLjIxNjMzIC0yLjAxNTM0LDAuMzE0MjYgLTAuMzA3MDksMC4wNDQ2IC0wLjYxNDY5LDAuMDg2NCAtMC45MjI2MiwwLjEyODMxIC0wLjYzMzg3LDAuMDg2NSAtMS4yNjk4OCwwLjE2Njk2IC0xLjkwNzIxLDAuMjQyMTkgLTAuMzE0OTgsMC4wMzcxIC0wLjYyOTg4LDAuMDczOCAtMC45NDU2OCwwLjEwODExIC0wLjY0Mjg3LDAuMDcgLTEuMjg4NCwwLjEzMzIxIC0xLjkzNDYyLDAuMTkxNzQgLTAuMzIzMjIsMC4wMjkyIC0wLjY0NjE0LDAuMDU4OCAtMC45NzAxOCwwLjA4NTEgLTAuNjQ4OSwwLjA1MjggLTEuMjk5OCwwLjA5NzMgLTEuOTUxOTEsMC4xMzgzOSAtMC4zMDg5OCwwLjAxOTQgLTAuNjE3MjYsMC4wNDA5IC0wLjkyNjk0LDAuMDU3NiAtMC42NTkxMiwwLjAzNTggLTEuMzIxNDEsMC4wNjE0IC0xLjk4MzYyLDAuMDg1MSAtMC4zMjE2OSwwLjAxMTQgLTAuNjQyMDMsMC4wMjc1IC0wLjk2NDQyLDAuMDM2IC0wLjk1ODI0LDAuMDI1NiAtMS45MTg4NSwwLjA0MDQgLTIuODgzMTgsMC4wNDA0IC0wLjk2NDMyLDAgLTEuOTI0OTMsLTAuMDE0OCAtMi44ODMxNywtMC4wNDA0IC0wLjMyMjQsLTAuMDA5IC0wLjY0MjczLC0wLjAyNDYgLTAuOTY0NDIsLTAuMDM2IC0wLjY2MjIyLC0wLjAyMzcgLTEuMzI0NTEsLTAuMDQ5MyAtMS45ODM2MiwtMC4wODUxIC0wLjMwOTY5LC0wLjAxNjggLTAuNjE3OTYsLTAuMDM4MiAtMC45MjY5NCwtMC4wNTc2IC0wLjY1MjExLC0wLjA0MSAtMS4zMDMwMSwtMC4wODU2IC0xLjk1MTkxLC0wLjEzODM5IC0wLjMyNDA1LC0wLjAyNjMgLTAuNjQ2OTYsLTAuMDU1OSAtMC45NzAxOSwtMC4wODUxIC0wLjY0NjIxLC0wLjA1ODUgLTEuMjkxNzUsLTAuMTIxNjkgLTEuOTM0NjEsLTAuMTkxNzQgLTAuMzE1ODEsLTAuMDM0MyAtMC42MzA3LC0wLjA3MSAtMC45NDU2OCwtMC4xMDgxMSAtMC42MzczNCwtMC4wNzUyIC0xLjI3MzM0LC0wLjE1NTc0IC0xLjkwNzIyLC0wLjI0MjE5IC0wLjMwNzkyLC0wLjA0MTkgLTAuNjE1NTIsLTAuMDgzOCAtMC45MjI2MSwtMC4xMjgzMSAtMC42NzM5NiwtMC4wOTc5IC0xLjM0NTUsLTAuMjAzNzQgLTIuMDE1MzQsLTAuMzE0MjYgLTAuMjU0MjUsLTAuMDQxOSAtMC41MDg5NSwtMC4wODMyIC0wLjc2MjYsLTAuMTI2ODYgLTAuNzcwOTgsLTAuMTMyOTggLTEuNTM4MzksLTAuMjc0MzUgLTIuMzAzNjYsLTAuNDIzODMgLTAuMTM5MjYsLTAuMDI3MiAtMC4yNzg5OSwtMC4wNTMgLTAuNDE4MDUsLTAuMDgwNyAtMC45MjE3MywtMC4xODM4NyAtMS44NDAzOCwtMC4zNzc3OSAtMi43NTM0NCwtMC41ODUyOCAtNDcuNDcxOTgsLTEwLjc4MDI4IC04Mi45OTkzNSwtNTMuMzAyNiAtODIuOTk5MzUsLTEwMy45OTc2MiAwLC00NC40NTA4NCAyNy4zMTY5MywtODIuNjE1NTcgNjYuMDQ3NzQsLTk4LjYxMTcyIHYgMC4wMDkgYyA3LjgyNDcsLTMuMjMzNzYgMTYuMTEyMjYsLTUuNTY1ODkgMjQuNzM2MTgsLTYuODYwNTEgMC44NDg1MSwtMC4xMjczNyAxLjcwMTA0LC0wLjI0NDU5IDIuNTU1OTMsLTAuMzUxNzUgMC4xMjQxMywtMC4wMTU1IDAuMjQ5MTIsLTAuMDI4MiAwLjM3MzM3LC0wLjA0MzMgMC43NTk1NywtMC4wOTI1IDEuNTIwNTIsLTAuMTc4ODQgMi4yODQ5MSwtMC4yNTUxNiAwLjg1OTUzLC0wLjA4NTggMS43MjIyNSwtMC4xNjExOCAyLjU4NzY1LC0wLjIyNjMzIDAuMzE5NTIsLTAuMDI0IDAuNjQxMjYsLTAuMDQwOCAwLjk2MTU0LC0wLjA2MiAwLjU2NDY0LC0wLjAzNzQgMS4xMjgzMSwtMC4wNzY3IDEuNjk1MzEsLTAuMTA1MjQgMC40OTAxMywtMC4wMjQ2IDAuOTgyOTEsLTAuMDM4NCAxLjQ3NDc0LC0wLjA1NjIgMC40MDM4LC0wLjAxNDggMC44MDYwMSwtMC4wMzQ1IDEuMjEwOTQsLTAuMDQ0NyAwLjkwMTk0LC0wLjAyMjcgMS44MDcxMSwtMC4wMzQ2IDIuNzE0NSwtMC4wMzQ2IHogbSAwLDEzLjI4NDIxIGMgLTAuODY3NSwwIC0xLjczMTY2LDAuMDE0MSAtMi41OTM0MSwwLjAzNzUgLTAuMjI5MzMsMC4wMDYgLTAuNDU3MywwLjAxOCAtMC42ODYyLDAuMDI2IC0wLjY0NjQyLDAuMDIyMiAtMS4yOTE2MiwwLjA0ODMgLTEuOTM0NiwwLjA4MzYgLTAuMjQ1NjUsMC4wMTM1IC0wLjQ5MDA5LDAuMDMwNyAtMC43MzUyMiwwLjA0NjEgLTAuNjEzNTgsMC4wMzg1IC0xLjIyNjI5LDAuMDgxIC0xLjgzNjU4LDAuMTMxMTkgLTAuMjU1MTUsMC4wMjEgLTAuNTA5NDgsMC4wNDQ3IC0wLjc2NDAzLDAuMDY3OCAtMC42MjY2MSwwLjA1NjcgLTEuMjUxMTQsMC4xMTk5MiAtMS44NzQwNywwLjE4ODg0IC0wLjIxNjQxLDAuMDI0MSAtMC40MzI3NSwwLjA0ODEgLTAuNjQ4NzEsMC4wNzM1IC0wLjY4NDIsMC4wODA1IC0xLjM2NjA3LDAuMTY4NjMgLTIuMDQ1NjIsMC4yNjM4MiAtMC4xNDM2MiwwLjAyMDIgLTAuMjg3NjIsMC4wMzk3IC0wLjQzMTAzLDAuMDYwNSAtMC44MDE0NiwwLjExNjA3IC0xLjU5OTgxLDAuMjQxNDcgLTIuMzk0NDcsMC4zNzc3IC0wLjAyODgsMC4wMDUgLTAuMDU3NywwLjAwOSAtMC4wODY1LDAuMDE0NCAtNDMuOTczNTUsNy41ODA1NCAtNzcuMzI2NzEsNDUuODE1NTYgLTc3LjMyNjcxLDkxLjk4NjIgMWUtNSw0Ni4xNzA2NSAzMy4zNTMxNiw4NC40MDU2NyA3Ny4zMjY3MSw5MS45ODYyMSAwLjAyODgsMC4wMDUgMC4wNTc3LDAuMDA5IDAuMDg2NSwwLjAxNDQgMC43OTQ2NiwwLjEzNjIzIDEuNTkzMDEsMC4yNjE2MyAyLjM5NDQ3LDAuMzc3NyAwLjE0MzQxLDAuMDIwOCAwLjI4NzQxLDAuMDQwNCAwLjQzMTAzLDAuMDYwNSAwLjY3OTU1LDAuMDk1MiAxLjM2MTQyLDAuMTgzMjggMi4wNDU2MiwwLjI2MzgyIDAuMjE1OTYsMC4wMjU1IDAuNDMyMywwLjA0OTQgMC42NDg3MSwwLjA3MzUgMC42MjI5MywwLjA2ODkgMS4yNDc0NiwwLjEzMjE5IDEuODc0MDcsMC4xODg4NCAwLjI1NDU1LDAuMDIzMSAwLjUwODg4LDAuMDQ2NyAwLjc2NDAzLDAuMDY3OCAwLjYxMDI5LDAuMDUwMiAxLjIyMywwLjA5MjggMS44MzY1OCwwLjEzMTE5IDAuMjQ1MTMsMC4wMTU0IDAuNDg5NTcsMC4wMzI2IDAuNzM1MjIsMC4wNDYxIDAuNjQyOTgsMC4wMzUzIDEuMjg4MTgsMC4wNjE0IDEuOTM0NiwwLjA4MzYgMC4yMjg5LDAuMDA4IDAuNDU2ODcsMC4wMTk3IDAuNjg2MiwwLjAyNTkgMC44NjE3NSwwLjAyMzQgMS43MjU5MSwwLjAzNzUgMi41OTM0MSwwLjAzNzUgMC44Njc1MSwwIDEuNzMxNjYsLTAuMDE0MSAyLjU5MzQyLC0wLjAzNzUgMC4yMjkzMiwtMC4wMDYgMC40NTczLC0wLjAxOCAwLjY4NjE5LC0wLjAyNTkgMC42NDY0MiwtMC4wMjIyIDEuMjkxNjMsLTAuMDQ4MyAxLjkzNDYxLC0wLjA4MzYgMC4yNDU2NCwtMC4wMTM1IDAuNDkwMDksLTAuMDMwNyAwLjczNTIxLC0wLjA0NjEgMC42MTM1OSwtMC4wMzg1IDEuMjI2MywtMC4wODEgMS44MzY1OCwtMC4xMzExOSAwLjI1NTE1LC0wLjAyMSAwLjUwOTQ5LC0wLjA0NDcgMC43NjQwNCwtMC4wNjc4IDAuNjI2NjEsLTAuMDU2NyAxLjI1MTEzLC0wLjExOTkyIDEuODc0MDcsLTAuMTg4ODQgMC4yMTY0MSwtMC4wMjQxIDAuNDMyNzUsLTAuMDQ4IDAuNjQ4NzEsLTAuMDczNSAwLjY4NDE5LC0wLjA4MDUgMS4zNjYwNywtMC4xNjg2MyAyLjA0NTYxLC0wLjI2MzgyIDAuMTQzNjMsLTAuMDIwMiAwLjI4NzYyLC0wLjAzOTcgMC40MzEwMywtMC4wNjA1IDAuODAxNDYsLTAuMTE2MDcgMS41OTk4MiwtMC4yNDE0NyAyLjM5NDQ4LC0wLjM3NzcgMC4wMjg4LC0wLjAwNSAwLjA1NzcsLTAuMDA5IDAuMDg2NSwtMC4wMTQ0IDQzLjk3MzU1LC03LjU4MDU0IDc3LjMyNjcsLTQ1LjgxNTU2IDc3LjMyNjcsLTkxLjk4NjIgMCwtNDYuMTcwNjQgLTMzLjM1MzE1LC04NC40MDU2NyAtNzcuMzI2NywtOTEuOTg2MTkgLTAuMDI4OCwtMC4wMDUgLTAuMDU3NywtMC4wMSAtMC4wODY1LC0wLjAxNDQgLTAuNzk0NjYsLTAuMTM2MjMgLTEuNTkzMDIsLTAuMjYxNjQgLTIuMzk0NDgsLTAuMzc3NyAtMC4xNDM0MSwtMC4wMjA4IC0wLjI4NzQsLTAuMDQwNCAtMC40MzEwMywtMC4wNjA1IC0wLjY3OTU0LC0wLjA5NTIgLTEuMzYxNDIsLTAuMTgzMjkgLTIuMDQ1NjEsLTAuMjYzODIgLTAuMjE1OTYsLTAuMDI1NSAtMC40MzIzLC0wLjA0OTQgLTAuNjQ4NzEsLTAuMDczNSAtMC42MjI5NCwtMC4wNjg5IC0xLjI0NzQ2LC0wLjEzMjE5IC0xLjg3NDA3LC0wLjE4ODg1IC0wLjI1NDU1LC0wLjAyMzEgLTAuNTA4ODksLTAuMDQ2NyAtMC43NjQwNCwtMC4wNjc3IC0wLjYxMDI4LC0wLjA1MDIgLTEuMjIyOTksLTAuMDkyOCAtMS44MzY1OCwtMC4xMzExOSAtMC4yNDUxMiwtMC4wMTU0IC0wLjQ4OTU3LC0wLjAzMjYgLTAuNzM1MjEsLTAuMDQ2MSAtMC42NDI5OCwtMC4wMzUzIC0xLjI4ODE5LC0wLjA2MTQgLTEuOTM0NjEsLTAuMDgzNiAtMC4yMjg4OSwtMC4wMDggLTAuNDU2ODcsLTAuMDE5NyAtMC42ODYxOSwtMC4wMjYgLTAuODYxNzYsLTAuMDIzNCAtMS43MjU5MSwtMC4wMzc1IC0yLjU5MzQyLC0wLjAzNzUgeiIgLz4KPC9zdmc+Cg==
data:image/svg+xml;base64,PD94bWwgdmVyc2lvbj0iMS4wIiBlbmNvZGluZz0iVVRGLTgiIHN0YW5kYWxvbmU9Im5vIj8+CjxzdmcKICAgeG1sbnM6ZGM9Imh0dHA6Ly9wdXJsLm9yZy9kYy9lbGVtZW50cy8xLjEvIgogICB4bWxuczpjYz0iaHR0cDovL2NyZWF0aXZlY29tbW9ucy5vcmcvbnMjIgogICB4bWxuczpyZGY9Imh0dHA6Ly93d3cudzMub3JnLzE5OTkvMDIvMjItcmRmLXN5bnRheC1ucyMiCiAgIHhtbG5zOnN2Zz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciCiAgIHhtbG5zPSJodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2ZyIKICAgeG1sbnM6c29kaXBvZGk9Imh0dHA6Ly9zb2RpcG9kaS5zb3VyY2Vmb3JnZS5uZXQvRFREL3NvZGlwb2RpLTAuZHRkIgogICB4bWxuczppbmtzY2FwZT0iaHR0cDovL3d3dy5pbmtzY2FwZS5vcmcvbmFtZXNwYWNlcy9pbmtzY2FwZSIKICAgaW5rc2NhcGU6dmVyc2lvbj0iMS4wICg0MDM1YTRmYjQ5LCAyMDIwLTA1LTAxKSIKICAgc29kaXBvZGk6ZG9jbmFtZT0idGVtcC1tZWRpdW0uc3ZnIgogICBpZD0ic3ZnMTU0NSIKICAgdmVyc2lvbj0iMS4xIgogICB2aWV3Qm94PSIwIDAgNTEyIDUxMiIKICAgc3R5bGU9ImhlaWdodDogNTEycHg7IHdpZHRoOiA1MTJweDsiPgogIDxtZXRhZGF0YQogICAgIGlkPSJtZXRhZGF0YTE1NTEiPgogICAgPHJkZjpSREY+CiAgICAgIDxjYzpXb3JrCiAgICAgICAgIHJkZjphYm91dD0iIj4KICAgICAgICA8ZGM6Zm9ybWF0PmltYWdlL3N2Zyt4bWw8L2RjOmZvcm1hdD4KICAgICAgICA8ZGM6dHlwZQogICAgICAgICAgIHJkZjpyZXNvdXJjZT0iaHR0cDovL3B1cmwub3JnL2RjL2RjbWl0eXBlL1N0aWxsSW1hZ2UiIC8+CiAgICAgICAgPGRjOnRpdGxlPjwvZGM6dGl0bGU+CiAgICAgIDwvY2M6V29yaz4KICAgIDwvcmRmOlJERj4KICA8L21ldGFkYXRhPgogIDxkZWZzCiAgICAgaWQ9ImRlZnMxNTQ5IiAvPgogIDxzb2RpcG9kaTpuYW1lZHZpZXcKICAgICBpbmtzY2FwZTpjdXJyZW50LWxheWVyPSJzdmcxNTQ1IgogICAgIGlua3NjYXBlOndpbmRvdy1tYXhpbWl6ZWQ9IjEiCiAgICAgaW5rc2NhcGU6d2luZG93LXk9Ii04IgogICAgIGlua3NjYXBlOndpbmRvdy14PSItOCIKICAgICBpbmtzY2FwZTpjeT0iMjc4LjUwMDYxIgogICAgIGlua3NjYXBlOmN4PSI0MzguMTU1NjkiCiAgICAgaW5rc2NhcGU6em9vbT0iMC44MzAwNzgxMyIKICAgICBzaG93Z3JpZD0iZmFsc2UiCiAgICAgaWQ9Im5hbWVkdmlldzE1NDciCiAgICAgaW5rc2NhcGU6d2luZG93LWhlaWdodD0iMTAxNyIKICAgICBpbmtzY2FwZTp3aW5kb3ctd2lkdGg9IjE5MjAiCiAgICAgaW5rc2NhcGU6cGFnZXNoYWRvdz0iMiIKICAgICBpbmtzY2FwZTpwYWdlb3BhY2l0eT0iMCIKICAgICBndWlkZXRvbGVyYW5jZT0iMTAiCiAgICAgZ3JpZHRvbGVyYW5jZT0iMTAiCiAgICAgb2JqZWN0dG9sZXJhbmNlPSIxMCIKICAgICBib3JkZXJvcGFjaXR5PSIxIgogICAgIGJvcmRlcmNvbG9yPSIjNjY2NjY2IgogICAgIHBhZ2Vjb2xvcj0iIzAwMDAwMCIKICAgICBpbmtzY2FwZTpkb2N1bWVudC1yb3RhdGlvbj0iMCIgLz4KICA8cGF0aAogICAgIGlkPSJwYXRoMTUyNSIKICAgICBmaWxsLW9wYWNpdHk9IjAiCiAgICAgZmlsbD0iIzAwMCIKICAgICBkPSJNMCAwaDUxMnY1MTJIMHoiIC8+CiAgPHBhdGgKICAgICBzb2RpcG9kaTpub2RldHlwZXM9InNzY2NjY2NjY2NjY2NjY2NjY2NjY2NjY2NjY2NjY2NjY2NjY2NjY2NzY2NjY2Njc3NzY2NzcyIKICAgICBpZD0icGF0aDE1MjciCiAgICAgZmlsbC1vcGFjaXR5PSIxIgogICAgIGZpbGw9IiNmZmZmZmYiCiAgICAgY2xhc3M9InNlbGVjdGVkIgogICAgIGQ9Im0gMTYyLDM2LjUgYyAtMTEuNjg4LDAgLTIzLDYuNjc0IC0yMywyNS41IHYgMjUgaCAyMyB2IDE4IGggLTIzIHYgMTQgaCA3IHYgMTggaCAtNyB2IDE0IGggMjMgdiAxOCBoIC0yMyB2IDE0IGggNyB2IDE4IGggLTcgdiAxNCBoIDE0IHYgMTggaCAtMTQgdiAxNCBoIDcgdiAxOCBoIC03IHYgMTQgaCAxNCB2IDE4IGggLTE0IHYgMTQgaCA3IHYgMTggaCAtNyB2IDE0IGggMTQgViAxOTIgaCAxOCB2IDIwOS4zMTMgYyAxMy42MjYsMy45OTMgMjIuOTkxLDE2LjQ4OCAyMywzMC42ODcgMCwxNy42NzMgLTE0LjMyNywzMiAtMzIsMzIgLTE3LjY3MywwIC0zMiwtMTQuMzI3IC0zMiwtMzIgMC4wMDksLTE0LjE5OSA5LjM3NCwtMjYuNjk0IDIzLC0zMC42ODggViAzNjEgaCAtMTQgdiAyMSBoIDAuMDEgYyAtMTguOTI2LDguNjczIC0zMi4wMSwyNy43NCAtMzIuMDEsNTAgMCwzMC40ODIgMjQuNTE4LDU1IDU1LDU1IDMwLjQ4MiwwIDU1LC0yNC41MTggNTUsLTU1IDAsLTIyLjI2IC0xMy4wODQsLTQxLjMyNyAtMzIuMDEsLTUwIEggMTg1IFYgNjIgQyAxODUsNDMuMTc0IDE3My42ODcsMzYuNSAxNjIsMzYuNSBaIiAvPgogIDxwYXRoCiAgICAgaWQ9InBhdGgxNTM5IgogICAgIGZpbGwtb3BhY2l0eT0iMSIKICAgICBmaWxsPSIjZmZmZmZmIgogICAgIGNsYXNzPSIiCiAgICAgZD0ibSAxNjIuMTEsNDA4LjY0OSBjIC0yNS4xODYsMCAtMjUuMTg2LDI2LjY3OCAtMjUuMTg2LDI2LjY3OCAwLDAgNy4wNSwtMTAuNCAxMS4zMSwtMTQuOTA0IDQuMTk1LC00LjQzNSAxMy44NzcsLTExLjc3NCAxMy44NzcsLTExLjc3NCB6IiAvPgogIDxnCiAgICAgdHJhbnNmb3JtPSJtYXRyaXgoMC42OTA2NDU4OSwwLDAsMC42OTA2NDU4OSwxNjAuNjMwMjYsNzguMTM2NTgzKSIKICAgICBpZD0iZzQiCiAgICAgY2xhc3M9IiI+CiAgICA8cGF0aAogICAgICAgaWQ9InBhdGgyIgogICAgICAgZmlsbC1vcGFjaXR5PSIxIgogICAgICAgZmlsbD0iI2ZmZmZmZiIKICAgICAgIGQ9Ik0gMjYzLjg0NCw0MC4zNDQgQyAyMzQuMSwyMTMuMjAyIDE0NS41OTQsMjQ4LjAzIDE0NS41OTQsMzY5LjIyIGMgMCw2MC44MDQgNjAuMTA2LDEwNS41IDExOC4yNSwxMDUuNSA1OS40NSwwIDExNS45MzcsLTQxLjgwMyAxMTUuOTM3LC05OS41MzMgMCwtMTE2LjMzMiAtODUuMiwtMTYyLjMxMiAtMTE1LjkzNiwtMzM0Ljg0MyB6IG0gLTU4LjI4LDIxNy4wOTQgYyAtMjcuOTYzLDc1LjUzIC01LjEwNSwxNTQuNTY3IDU0LjI1LDE3OS4zNzUgMTUuMTg1LDYuMzQ4IDMxLjcyNCw3LjcxNCA0Ny45MDUsNi4yOCBDIDE5MS41ODUsNDkyLjg4IDEyMS44ODMsMzYzLjI3NyAyMDUuNTYxLDI1Ny40MzcgWiIgLz4KICA8L2c+Cjwvc3ZnPgo=
data:image/svg+xml;base64,PHN2ZyBzdHlsZT0iaGVpZ2h0OiA1MTJweDsgd2lkdGg6IDUxMnB4OyIgeG1sbnM9Imh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnIiB2aWV3Qm94PSIwIDAgNTEyIDUxMiI+PHBhdGggZD0iTTAgMGg1MTJ2NTEySDB6IiBmaWxsPSIjMDAwIiBmaWxsLW9wYWNpdHk9IjAiPjwvcGF0aD48ZyBjbGFzcz0iIiBzdHlsZT0idG91Y2gtYWN0aW9uOiBub25lOyIgdHJhbnNmb3JtPSJ0cmFuc2xhdGUoMCwwKSI+PHBhdGggZD0iTTE2MCAzNi41Yy0xMS42ODggMC0yMyA2LjY3NC0yMyAyNS41djI1aDIzdjE4aC0yM3YxNGg3djE4aC03djE0aDIzdjE4aC0yM3YxNGg3djE4aC03djE0aDIzdjE4aC0yM3YxNGg3djE4aC03djE0aDIzdjE4aC0yM3YxNGg3djE4aC03djE0aDE0di0yM2gxOHY4MS4zMTNBMzIgMzIgMCAwIDEgMTkyIDQzMmEzMiAzMiAwIDAgMS0zMiAzMiAzMiAzMiAwIDAgMS0zMi0zMiAzMiAzMiAwIDAgMSAyMy0zMC42ODhWMzYxaC0xNHYyMWguMDFjLTE4LjkyNiA4LjY3My0zMi4wMSAyNy43NC0zMi4wMSA1MCAwIDMwLjQ4MiAyNC41MTggNTUgNTUgNTVzNTUtMjQuNTE4IDU1LTU1YzAtMjIuMjYtMTMuMDg0LTQxLjMyNy0zMi4wMS01MGguMDFWNjJjMC0xOC44MjYtMTEuMzEzLTI1LjUtMjMtMjUuNXptODcgMTYuMjczdjY2LjczbC00Ni0yM3YyMC4xMjRsNDYgMjN2NTAuMjQ2bC0xMy41NCAyNy4wODQtMzAuMjI4LTEuODE0LTIuMjMyLTEuMjl2MjcuMTI2bDkuOTE4IDE1LjAyTDIwMSAyNzEuMDJ2MjcuMTI2bDIuMjMyLTEuMjkgMzAuMjI3LTEuODEzTDI0NyAzMjIuMTI3djUwLjI0NmwtMjkuNTEgMTQuNzU0YzMuNzAzIDQuNzMgNi44MzQgOS45MjIgOS4yOTMgMTUuNDc4TDI0NyAzOTIuNDk4djY2LjczaDE4di02Ni43M2w2OC4yNjYgMzQuMTMzIDguMDUtMTYuMUwyNjUgMzcyLjM3NHYtNTAuMjQ2bDEzLjU0LTI3LjA4NCAzMC4yMjggMS44MTQgNDMuNTEzIDI1LjEyMy01LjExIDg1LjE3MiAxNy45NyAxLjA3OCA0LjU3LTc2LjE4NyA1Ny43OSAzMy4zNjUgOS0xNS41ODgtNTcuNzktMzMuMzY1IDYzLjY5NC00Mi4wNTMtOS45MTgtMTUuMDItNzEuMjA1IDQ3LjAxLTQzLjUxNC0yNS4xMjRMMzAxLjA4MiAyNTZsMTYuNjg0LTI1LjI2OCA0My41MTUtMjUuMTI1IDcxLjIwNiA0Ny4wMTIgOS45MTgtMTUuMDIyLTYzLjY5My00Mi4wNTMgNTcuNzktMzMuMzY1LTktMTUuNTg4LTU3Ljc5IDMzLjM2NS00LjU3LTc2LjE4Ny0xNy45NyAxLjA3OCA1LjExIDg1LjE3Mi00My41MTIgMjUuMTIzLTMwLjIyNyAxLjgxNEwyNjUgMTg5Ljg3M3YtNTAuMjQ2bDc2LjMxNi0zOC4xNTgtOC4wNS0xNi4xTDI2NSAxMTkuNXYtNjYuNzNoLTE4em0tMTYyLjUgOTMuODJsLTkgMTUuNTg3IDQzLjUgMjUuMTE1di0yMC43ODNsLTM0LjUtMTkuOTJ6bTM0LjUgNTguMzg2bC00OS40MDQgMzIuNjE4IDkuOTE4IDE1LjAyTDExOSAyMjYuNTV2LTIxLjU3em0tMzkuNDg2IDU0LjRsLTkuOTE4IDE1LjAyMkwxMTkgMzA3LjAyMnYtMjEuNTdsLTM5LjQ4Ni0yNi4wN3pNMTE5IDMyNC43MDZMNzUuNSAzNDkuODJsOSAxNS41ODggMzQuNS0xOS45MnYtMjAuNzgzem00My4xMSA4My45NDNjLTI1LjE4NiAwLTI1LjE4NiAyNi42NzgtMjUuMTg2IDI2LjY3OHM3LjA1LTEwLjQgMTEuMzEtMTQuOTA0YzQuMTk1LTQuNDM1IDEzLjg3Ny0xMS43NzQgMTMuODc3LTExLjc3NHoiIGZpbGw9IiNmZmYiIGZpbGwtb3BhY2l0eT0iMSI+PC9wYXRoPjwvZz48L3N2Zz4=
data:image/svg+xml;base64,PHN2ZyBzdHlsZT0iaGVpZ2h0OiA1MTJweDsgd2lkdGg6IDUxMnB4OyIgeG1sbnM9Imh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnIiB2aWV3Qm94PSIwIDAgNTEyIDUxMiI+PHBhdGggZD0iTTAgMGg1MTJ2NTEySDB6IiBmaWxsPSIjMDAwIiBmaWxsLW9wYWNpdHk9IjAiPjwvcGF0aD48ZyBjbGFzcz0iIiBzdHlsZT0idG91Y2gtYWN0aW9uOiBub25lOyIgdHJhbnNmb3JtPSJ0cmFuc2xhdGUoMCwwKSI+PHBhdGggZD0iTTE2MCAzNi41Yy0xMS42ODggMC0yMyA2LjY3NC0yMyAyNS41djI1aDE0VjY0aDE4djMzNy4zMTNBMzIgMzIgMCAwIDEgMTkyIDQzMmEzMiAzMiAwIDAgMS0zMiAzMiAzMiAzMiAwIDAgMS0zMi0zMiAzMiAzMiAwIDAgMSAyMy0zMC42ODhWMzYxaC0xNHYyMWguMDFjLTE4LjkyNiA4LjY3My0zMi4wMSAyNy43NC0zMi4wMSA1MCAwIDMwLjQ4MiAyNC41MTggNTUgNTUgNTVzNTUtMjQuNTE4IDU1LTU1YzAtMjIuMjYtMTMuMDg0LTQxLjMyNy0zMi4wMS01MGguMDFWNjJjMC0xOC44MjYtMTEuMzEzLTI1LjUtMjMtMjUuNXptOTYgMTYuMjczYy0xMi4wNjMgMjAuMTA1LTI1LjA5MiAzOS4yNDMtMzkuMDY0IDU3LjQzOC01LjMzNS0yLjIwNy0xMC42NDYtNC41MDgtMTUuOTM2LTYuODgydjE5LjA4MmMxNi45NjItNy4wMSAzNS41My0xMC44OTQgNTUtMTAuODk0IDc5LjY5IDAgMTQ0LjQ4NCA2NC43OTQgMTQ0LjQ4NCAxNDQuNDg0IDAgNzkuNjktNjQuNzk0IDE0NC40ODQtMTQ0LjQ4NCAxNDQuNDg0LTExLjAwNiAwLTIxLjcyNy0xLjI0LTMyLjAzMy0zLjU4MiA0LjM1MiA3Ljg5IDcuMjcgMTYuNjY2IDguNDQgMjUuOTc1IDguMjM0IDExLjc0OCAxNi4xIDIzLjg2IDIzLjU5MyAzNi4zNSAxMi4wNjMtMjAuMTA1IDI1LjA5Mi0zOS4yNDMgMzkuMDY0LTU3LjQzOCAyMS4xOTggOC43NyA0Mi4wNSAxOC44MyA2Mi41NSAzMC4yMS4zOTQtMjMuNDQyIDIuMTEtNDYuNTMgNS4xMTMtNjkuMjczIDIyLjc0My0zLjAwMyA0NS44My00LjcyIDY5LjI3My01LjExNC0xMS4zOC0yMC41LTIxLjQ0LTQxLjM1LTMwLjIxLTYyLjU1IDE4LjE5NC0xMy45NyAzNy4zMzItMjcgNTcuNDM3LTM5LjA2My0yMC4xMDUtMTIuMDYzLTM5LjI0My0yNS4wOTItNTcuNDM4LTM5LjA2NCA4Ljc3LTIxLjE5OCAxOC44My00Mi4wNSAzMC4yMS02Mi41NS0yMy40NDItLjM5NC00Ni41My0yLjExLTY5LjI3My01LjExMy0zLjAwMy0yMi43NDMtNC43Mi00NS44My01LjExNC02OS4yNzMtMjAuNSAxMS4zOC00MS4zNSAyMS40NC02Mi41NSAzMC4yMS0xMy45Ny0xOC4xOTQtMjctMzcuMzMyLTM5LjA2My01Ny40Mzd6TTEzNyAxMDV2MTRoN3YxOGgtN3YxNGgxNHYtNDZoLTE0em0xMTkgMjQuNTE2Yy0xOS43MjggMC0zOC4zNzYgNC41MTQtNTUgMTIuNTR2MjI3Ljg5YzE2LjYyNCA4LjAyNCAzNS4yNzIgMTIuNTM4IDU1IDEyLjUzOCA2OS45NjIgMCAxMjYuNDg0LTU2LjUyMiAxMjYuNDg0LTEyNi40ODQgMC02OS45NjItNTYuNTIyLTEyNi40ODQtMTI2LjQ4NC0xMjYuNDg0ek0xMTkgMTUyLjQ3Yy0xMi44OSAxLjA0NC0yNS44ODggMS42OTYtMzkgMS45MTcgMTEuMzggMjAuNSAyMS40NCA0MS4zNSAzMC4yMSA2Mi41NS0xOC4xOTQgMTMuOTctMzcuMzMyIDI3LTU3LjQzNyAzOS4wNjMgMjAuMTA1IDEyLjA2MyAzOS4yNDMgMjUuMDkyIDU3LjQzOCAzOS4wNjQtOC43NyAyMS4xOTgtMTguODMgNDIuMDUtMzAuMjEgNjIuNTUgMTMuMTEyLjIyIDI2LjExLjg3IDM5IDEuOTEzdi01Ny42NDRjLTQuODQ0LTE0LjQyMi03LjQ4NC0yOS44NDYtNy40ODQtNDUuODgzIDAtMTYuMDM1IDIuNjQtMzEuNDU4IDcuNDg0LTQ1Ljg4di01Ny42NXpNMTM3IDE2OXYxNGg3djE4aC03djE0aDE0di00NmgtMTR6bTAgNjR2MTRoN3YxOGgtN3YxNGgxNHYtNDZoLTE0em0wIDY0djE0aDd2MThoLTd2MTRoMTR2LTQ2aC0xNHptMjUuMTEgMTExLjY0OGMtMjUuMTg2IDAtMjUuMTg2IDI2LjY3OC0yNS4xODYgMjYuNjc4czcuMDUtMTAuNCAxMS4zMS0xNC45MDRjNC4xOTUtNC40MzUgMTMuODc3LTExLjc3NCAxMy44NzctMTEuNzc0eiIgZmlsbD0iI2ZmZiIgZmlsbC1vcGFjaXR5PSIxIj48L3BhdGg+PC9nPjwvc3ZnPg==
data:image/svg+xml;base64,PHN2ZyBzdHlsZT0iaGVpZ2h0OiA1MTJweDsgd2lkdGg6IDUxMnB4OyIgeG1sbnM9Imh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnIiB2aWV3Qm94PSIwIDAgNTEyIDUxMiI+PGcgY2xhc3M9IiIgc3R5bGU9IiIgdHJhbnNmb3JtPSJ0cmFuc2xhdGUoMCwwKSI+PHBhdGggZD0iTTEzNiAxNnYyMTBsNDUgMzB2NjBoNjBWMTY2bC00NS0zMFY3Nmw0NS0zMFYxNkgxMzZ6bTEzNSAwdjMwbDQ1IDMwdjYwbC00NSAzMHYxNTBoNjB2LTYwbDQ1LTMwVjE2SDI3MXptLTEzLjY4OCA0NS4wM0E0NSA0NSAwIDAgMCAyMTEgMTA2YTQ1IDQ1IDAgMCAwIDkwIDAgNDUgNDUgMCAwIDAtNDMuNjg4LTQ0Ljk3ek0xODEgMzQ2Yy0zMCAwLTQ1IDE1LTQ1IDMwaDI0MGMwLTE1LTE1LTMwLTQ1LTMwSDE4MXptLTc1IDYwYy0xNSAwLTMwIDE1LTMwIDMwdjYwaDM2MHYtNjBjMC0xNS0xNS0zMC0zMC0zMEgxMDZ6IiBmaWxsPSIjZmZmIiBmaWxsLW9wYWNpdHk9IjEiPjwvcGF0aD48L2c+PC9zdmc+
data:image/svg+xml;base64,PHN2ZyBzdHlsZT0iaGVpZ2h0OiA1MTJweDsgd2lkdGg6IDUxMnB4OyIgeG1sbnM9Imh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnIiB2aWV3Qm94PSIwIDAgNTEyIDUxMiI+PGcgY2xhc3M9IiIgc3R5bGU9IiIgdHJhbnNmb3JtPSJ0cmFuc2xhdGUoMCwwKSI+PHBhdGggZD0iTTk4LjM5OCAyMS4xNDZhMTcuMDkyIDE3LjA5MiAwIDAgMC00LjYzNi41MjFjLTIwLjQ5IDUuMjYyLTMzLjE2MyAyMC42My0zNi4xMTYgMzguNjQ5LTIuOTUyIDE4LjAxOSAyLjE2OCAzOC4zNDYgMTIuNjc2IDU4LjE5MyAyMC42OTUgMzkuMDg2IDYzLjI2MiA3Ny4wOCAxMTcuODUyIDg1Ljg1LTUuNjEtNi43Mi0xMS4wNS0xNC4yNDYtMTYuMjc0LTIyLjM3NS0zOS4wMDgtMTIuNTctNzAuMDIxLTQyLjM0NC04NS42Ny03MS44OTktOS4yMDYtMTcuMzg3LTEyLjg0Ni0zNC40OTEtMTAuODItNDYuODU3Qzc3LjQzNyA1MC44NjIgODMuNDgyIDQyLjg5IDk4LjIzOCAzOS4xYy4wNjUtLjAxNy4wNjgtLjAzNC4wOTItLjA1My0uMDY1LS4xNDMuMTA1LS4wOCAwIDAgLjAyMi4wNDkuMDYxLjExLjE3Ni4yMTcuNTI3LjQ5MyAxLjY4OSAyLjI0IDIuMjA3IDUuMTQgMS4wMzYgNS44MDQtLjQxMyAxNS41OTMtOC4xMzUgMjUuNjhsMTQuMjkzIDEwLjk0MmMxMC40MTgtMTMuNjEgMTMuNjUtMjguMDg2IDExLjU2LTM5Ljc4NS0xLjA0NC01Ljg1LTMuMzk2LTExLjE2NS03LjYyOC0xNS4xMjQtMy4xNzQtMi45NjktNy43NDctNC44NjgtMTIuNDA1LTQuOTcyem0zMTUuMjA0IDBjLTQuNjU4LjEwNC05LjIzIDIuMDAzLTEyLjQwNSA0Ljk3Mi00LjIzMiAzLjk2LTYuNTg0IDkuMjc0LTcuNjI5IDE1LjEyNC0yLjA4OSAxMS42OTkgMS4xNDMgMjYuMTc0IDExLjU2IDM5Ljc4NWwxNC4yOTQtMTAuOTQyYy03LjcyMi0xMC4wODctOS4xNzEtMTkuODc2LTguMTM1LTI1LjY4LjUxOC0yLjkgMS42OC00LjY0NyAyLjIwNy01LjE0YS42OTUuNjk1IDAgMCAwIC4xNzYtLjIxN2MtLjEwNS0uMDguMDY1LS4xNDMgMCAwIC4wMjQuMDE5LjAyNy4wMzYuMDkyLjA1MyAxNC43NTYgMy43OSAyMC44MDEgMTEuNzYgMjIuODI4IDI0LjEyNyAyLjAyNiAxMi4zNjYtMS42MTQgMjkuNDctMTAuODIgNDYuODU3LTE1LjY0OSAyOS41NTUtNDYuNjYyIDU5LjMzLTg1LjY3IDcxLjg5OS01LjIyMyA4LjEyOS0xMC42NjUgMTUuNjU1LTE2LjI3NCAyMi4zNzUgNTQuNTktOC43NyA5Ny4xNTctNDYuNzY0IDExNy44NTItODUuODUgMTAuNTA4LTE5Ljg0NyAxNS42MjgtNDAuMTc0IDEyLjY3Ni01OC4xOTMtMi45NTMtMTguMDItMTUuNjI2LTMzLjM4Ny0zNi4xMTYtMzguNjQ5YTE3LjA5MiAxNy4wOTIgMCAwIDAtNC42MzYtLjUyMXptLTI3Ni4xNjYgNy43MTNjMi4xNDYgMzYuNTMzIDE2Ljc2IDgzLjA3IDM2LjUzNyAxMjAuODI0IDEwLjcwNyAyMC40NDIgMjIuODc2IDM4LjMzNCAzNC43NjEgNTAuNjg1QzIyMC42MiAyMTIuNzIgMjMyIDIxOC44NTggMjQwIDIxOC44NThoMzJjOCAwIDE5LjM4LTYuMTM4IDMxLjI2Ni0xOC40OSAxMS44ODUtMTIuMzUxIDI0LjA1NC0zMC4yNDMgMzQuNzYxLTUwLjY4NSAxOS43NzctMzcuNzU1IDM0LjM5LTg0LjI5IDM2LjUzNy0xMjAuODI0SDEzNy40MzZ6bTk1LjU2NCAyMDh2MTZoNDZ2LTE2aC00NnptNi40NDUgMzRjLTIuNDU4IDI1Ljk2Ny0xMi43OTYgNTcuODczLTI0LjQzNyA3Nmg4MS45ODRjLTExLjY0LTE4LjEyNy0yMS45NzktNTAuMDMzLTI0LjQzNy03NmgtMzMuMTF6bS0zOC40NDUgOTR2MTRoMTEwdi0xNEgyMDF6bS0zMiAzMnY5NGgxNzR2LTk0SDE2OXptMjMgMjNoMTI4djQ4SDE5MnYtNDh6IiBmaWxsPSIjZmZmIiBmaWxsLW9wYWNpdHk9IjEiPjwvcGF0aD48L2c+PC9zdmc+
data:image/svg+xml;base64,PHN2ZyBzdHlsZT0iaGVpZ2h0OiA1MTJweDsgd2lkdGg6IDUxMnB4OyIgeG1sbnM9Imh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnIiB2aWV3Qm94PSIwIDAgNTEyIDUxMiI+PGcgY2xhc3M9IiIgc3R5bGU9IiIgdHJhbnNmb3JtPSJ0cmFuc2xhdGUoMCwwKSI+PHBhdGggZD0iTTI1NiAyN2MtMjguMzM0IDAtNTQuMTUzIDguNTQtNzMuMjgzIDIyLjg5QzE2My41ODcgNjQuMjM2IDE1MSA4NC44NzQgMTUxIDEwOGMwIDguMjA0IDEuNzk2IDE1LjU0OCA0Ljk3NSAyMS45NzUgMi4zOTggNS4xOSA1LjY5MiA5Ljg5MyA5Ljk1IDEzLjc1NyAxLjM4NiAxLjIxMyAyLjgyIDIuMzUgNC4yOTQgMy40MyA0LjMyMiAzLjM1NyA5LjIwMiA2LjE0IDE0LjQ3MyA4LjMxIDE5LjQ3NiA4LjAxIDQ0LjMwNSAxMCA3MS4zMDcgMTAgMy43OCAwIDcuNTEtLjA0NSAxMS4xOTctLjEzNCA4Ljc2Ny0uMTU0IDE3LjQ3LS42NCAyNS45NjUtMS43MTMgMTIuNTItMS40OCAyNC4wNTYtNC4wMDMgMzQuMTQ1LTguMTU0IDMuNTgtMS40NzMgNi45ODItMy4yMyAxMC4xNTItNS4yNTcgMS40MTMtLjc4MiAyLjgxNS0xLjU5IDQuMTkyLTIuNDUgNS43NC00LjE3NSAxMC4yNjctOS43NzUgMTMuNTEyLTE2LjEzMiAzLjE1LTUuNzc2IDUuMTUzLTEyLjM0IDUuNjg4LTE5LjY0NC4yMTYtMi4xNzMuMzItNC4zNTguMjg1LTYuNTQtLjA2NS0uMDE1LS4xMy0uMDMtLjE5Ni0uMDQ4LS45MDMtMjIuMDY4LTEzLjI0Ny00MS43MDItMzEuNjU3LTU1LjUxQzMxMC4xNTMgMzUuNTQyIDI4NC4zMzMgMjcgMjU2IDI3em0wIDE4YzI0LjY4NiAwIDQ2Ljg2OCA3LjU3OCA2Mi40ODIgMTkuMjlDMzM0LjA5NyA3NiAzNDMgOTEuMzYgMzQzIDEwOHMtNy4yNzMgMjQuNTQyLTIyLjU0MyAzMC44MjRjLTE1LjI3IDYuMjgzLTM4LjQ0IDguNjUtNjQuNDU3IDguNjUtMjYuMDE3IDAtNDkuMTg3LTIuMzY3LTY0LjQ1Ny04LjY1QzE3Ni4yNzMgMTMyLjU0MiAxNjkgMTI0LjY0IDE2OSAxMDhzOC45MDMtMzIgMjQuNTE4LTQzLjcxQzIwOS4xMzIgNTIuNTc3IDIzMS4zMTQgNDUgMjU2IDQ1em0tMzcuNzc1IDE3Ljc0OGMtNi4xMzguMDU0LTEyLjY5IDIuNTE3LTE4LjE2OCA2LjgyOC0xMS4xOTQgOC44MDgtMTQuOTA3IDIyLjc2LTguMjk1IDMxLjE2MiA2LjYxMiA4LjQwMiAyMS4wNDYgOC4wNyAzMi4yMzgtLjczOCAxMS4xOTMtOC44MSAxNC45MDYtMjIuNzYgOC4yOTMtMzEuMTYyLTMuMTE1LTMuOTU3LTguMTYtNi4xNDItMTQuMDY4LTYuMDl6bS04NS4yOSA0Ny43OGMtMTEuMzc4IDMuNTg3LTIxLjk0NCA3LjY0LTMxLjUzNyAxMi4wOTVDNjIuNDQ4IDE0MC43MDcgNDEgMTY0LjUyIDQxIDE4OGMwIDIzLjQ4IDIxLjQ0OCA0Ny4yOTMgNjAuMzk4IDY1LjM3N0MxNDAuMzQ4IDI3MS40NiAxOTUuMjczIDI4MyAyNTYgMjgzYzYwLjcyNyAwIDExNS42NS0xMS41NCAxNTQuNjAyLTI5LjYyM0M0NDkuNTUyIDIzNS4yOTMgNDcxIDIxMS40OCA0NzEgMTg4YzAtMjMuNDgtMjEuNDQ4LTQ3LjI5My02MC4zOTgtNjUuMzc3LTkuNTMzLTQuNDI2LTIwLjAyOC04LjQ1Ny0zMS4zMjUtMTIuMDI1LS45OTcgMjAuMDk3LTEwLjI0MyAzOS42ODUtMjcuMjkzIDUxLjkzNWwtLjIyMi4xNi0uMjMzLjE0N2MtMzMuNDY1IDIxLjA3Ni03My4zMjggMjEuMzctMTA4Ljc2OCAyMC4yNTItMjkuMjktLjczNC02My4zODMtMy41ODgtODguNzc2LTI1Ljg4bC0uMDUtLjA0Ni0uMDUtLjA0NWMtMTMuNjEtMTIuMzEyLTIwLjIyLTI5LjI2OC0yMC45NS00Ni41OXptMjkwLjExNiA0Ny4yM2M3LjY3Mi4wNDYgMTUuMyAyLjYxIDIwLjk3IDguMjggNi45OCA2Ljk3OCA5LjI1NCAxNi45MjQgNy45MiAyNi4yNjUtMS4zMzUgOS4zNC02LjA0IDE4LjUyMi0xMy41NzcgMjYuMDYtNy41MzggNy41MzgtMTYuNzIgMTIuMjQyLTI2LjA2IDEzLjU3Ni05LjM0IDEuMzM0LTE5LjI4Ny0uOTQtMjYuMjY2LTcuOTItNi45OC02Ljk4LTkuMjUyLTE2LjkyMy03LjkxOC0yNi4yNjQgMS4zMzQtOS4zNCA2LjAzNy0xOC41MjMgMTMuNTc1LTI2LjA2IDcuNTM4LTcuNTQgMTYuNzItMTIuMjQyIDI2LjA2LTEzLjU3NyAxLjc1Mi0uMjUgMy41MjUtLjM3MyA1LjI5Ni0uMzYyem0tMzM2LjA0MiAxLjk0YzEuNzctLjAxIDMuNTQzLjExNCA1LjI5NS4zNjQgOS4zNCAxLjMzNSAxOC41MjQgNi4wMzcgMjYuMDYyIDEzLjU3NSA3LjUzOCA3LjUzOCAxMi4yNCAxNi43MiAxMy41NzQgMjYuMDYyIDEuMzM0IDkuMzQtLjk0IDE5LjI4NC03LjkyIDI2LjI2My02Ljk3OCA2Ljk4LTE2LjkyIDkuMjUtMjYuMjYyIDcuOTE2LTkuMzQtMS4zMzYtMTguNTI1LTYuMDM3LTI2LjA2My0xMy41NzUtNy41MzgtNy41MzgtMTIuMjQtMTYuNzIyLTEzLjU3NC0yNi4wNjMtMS4zMzMtOS4zNC45NC0xOS4yODQgNy45Mi0yNi4yNjMgNS42Ny01LjY3MiAxMy4yOTctOC4yMzUgMjAuOTY4LTguMjh6bTMzNi43OCAxNi4wNDZjLTEuMDc4LS4wNDQtMi4yMzguMDE3LTMuNDg1LjE5NS00Ljk5LjcxMi0xMC45MjIgMy41MjMtMTUuODggOC40ODItNC45NiA0Ljk1OC03Ljc3IDEwLjg5LTguNDg0IDE1Ljg4LS43MTMgNC45OS40MzIgOC41OTggMi44MjYgMTAuOTkgMi4zOTMgMi4zOTQgNiAzLjU0IDEwLjk5MiAyLjgyNyA0Ljk5LS43MTQgMTAuOTE4LTMuNTI3IDE1Ljg3Ny04LjQ4NSA0Ljk1OC00Ljk2IDcuNzctMTAuODg3IDguNDg0LTE1Ljg3Ny43MTItNC45OS0uNDM0LTguNi0yLjgyNy0xMC45OTItMS43OTUtMS43OTUtNC4yNzQtMi44ODgtNy41MDYtMy4wMjJ6TTg2LjI3IDE3Ny42ODZjLTMuMjMyLjEzMy01LjcxIDEuMjI2LTcuNTA0IDMuMDItMi4zOTQgMi4zOTQtMy41NCA2LTIuODI4IDEwLjk5LjcxMiA0Ljk5MiAzLjUyNyAxMC45MjMgOC40ODYgMTUuODgyIDQuOTU4IDQuOTYgMTAuODg2IDcuNzcgMTUuODc3IDguNDgzIDQuOTkuNzEzIDguNi0uNDMyIDEwLjk5My0yLjgyNiAyLjM5My0yLjM5MyAzLjU0LTYgMi44MjYtMTAuOTlzLTMuNTI1LTEwLjkyMi04LjQ4My0xNS44OGMtNC45Ni00Ljk2LTEwLjg5LTcuNzctMTUuODgtOC40ODMtMS4yNS0uMTc3LTIuNDEtLjI0LTMuNDg3LS4xOTR6TTI1NiAyMTFjMTAuNjYgMCAyMC40OCAzLjE3IDI4LjAyNyA4LjgzQzI5MS41NzcgMjI1LjQ5MiAyOTcgMjM0LjEzIDI5NyAyNDRjMCA5Ljg3LTUuNDI0IDE4LjUwOC0xMi45NzMgMjQuMTdDMjc2LjQ4IDI3My44MyAyNjYuNjYgMjc3IDI1NiAyNzdjLTEwLjY2IDAtMjAuNDgtMy4xNy0yOC4wMjctOC44M0MyMjAuNDIzIDI2Mi41MDggMjE1IDI1My44NyAyMTUgMjQ0YzAtOS44NyA1LjQyNC0xOC41MDggMTIuOTczLTI0LjE3QzIzNS41MiAyMTQuMTcgMjQ1LjM0IDIxMSAyNTYgMjExem0wIDE4Yy03LjAxMyAwLTEzLjE5NCAyLjIwNC0xNy4yMjcgNS4yMy00LjAzMyAzLjAyMy01Ljc3MyA2LjM4NS01Ljc3MyA5Ljc3czEuNzQgNi43NDcgNS43NzMgOS43N2M0LjAzMyAzLjAyNiAxMC4yMTQgNS4yMyAxNy4yMjcgNS4yM3MxMy4xOTQtMi4yMDQgMTcuMjI3LTUuMjNjNC4wMzMtMy4wMjMgNS43NzMtNi4zODUgNS43NzMtOS43N3MtMS43NC02Ljc0Ny01Ljc3My05Ljc3QzI2OS4xOTQgMjMxLjIwMyAyNjMuMDEzIDIyOSAyNTYgMjI5em0tNTUuMSA2OC44OThMMTEyIDQ4MGgyODhsLTg4LjktMTgyLjEwMkMyOTMuNDMzIDI5OS45MjUgMjc0Ljk4OCAzMDEgMjU2IDMwMXMtMzcuNDMzLTEuMDc1LTU1LjEtMy4xMDJ6IiBmaWxsPSIjZmZmIiBmaWxsLW9wYWNpdHk9IjEiPjwvcGF0aD48L2c+PC9zdmc+
data:image/svg+xml;base64,PHN2ZyBzdHlsZT0iaGVpZ2h0OiA1MTJweDsgd2lkdGg6IDUxMnB4OyIgeG1sbnM9Imh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnIiB2aWV3Qm94PSIwIDAgNTEyIDUxMiI+PHBhdGggZD0iTTAgMGg1MTJ2NTEySDB6IiBmaWxsPSIjMDAwIiBmaWxsLW9wYWNpdHk9IjAiPjwvcGF0aD48ZyBjbGFzcz0iIiBzdHlsZT0idG91Y2gtYWN0aW9uOiBub25lOyIgdHJhbnNmb3JtPSJ0cmFuc2xhdGUoMCwwKSI+PHBhdGggZD0iTTE0Ni43MSAxOS4yNTJsNDUuNDcyIDI3LjE1Mi0yNS43MSA2Mi4yNjhjLTMwLjMyMyAxOC43ODItNTQuNjE0IDQ2LjM5LTY5LjI2IDc5LjIyM2wtNDAuNjQ0LTE4IDI1LjUxLTM5LjkyNi02Mi44MjQtNTAuNzR2MjQuMDJMNTcuMzI0IDEzNGwtMjguMjIgNDQuMTcyIDYxLjQwMiAyNy4xOTNjLTUuNjE3IDE3LjMwOC04LjY2NiAzNS43NjYtOC42NjYgNTQuOTI4IDAgMy4yMzQuMDkzIDYuNDQ4LjI2NCA5LjY0bC0yNS44NzUgNy4yMi0zNi45NzYtMjUuNTk2djIyLjcyOGwzMy41NSAyMy4yMjcgMzEuMzItOC43NGMyLjQ3NiAxNS4zNyA2LjkyIDMwLjA4NSAxMy4wNyA0My44OGwtNjcuMDk4IDIwLjE4IDIyLjE0MiA0NC4yOC0zMi45ODQgNS44MnYxOC45NzhsNjAuOTAyLTEwLjc0OC0yMy40MTQtNDYuODI4IDQ5LjEwMi0xNC43NjZjMTUuOTE1IDI3LjM5NSAzOC45MiA1MC4xNzYgNjYuNDkgNjUuODI4bDQuODUyIDMzLjk2LTQ5LjEzIDEwLjM0NSAyMS4zOCAzMy4wNDZoMjIuMjZsLTEzLjE3NS0yMC4zNiAzOS42NC04LjM0Ny01LjU0LTM4Ljc3NGMyMC44NDQgOC41NSA0My42NTIgMTMuMjggNjcuNTUyIDEzLjI4IDE1LjEzNCAwIDI5LjgzLTEuOSA0My44NjctNS40NThsODAuMjY1IDI4LjUwNiAyMy4zNjUgMzEuMTUyaDIzLjM2bC0zMC43MTYtNDAuOTU3IDM2LjM5LTMyLjkyNy00NS42MjYtMzcuNjJjMTkuNDg1LTIxLjA1NiAzMy45NTctNDYuODA3IDQxLjUxMi03NS4zNTJsMTEuODkyIDE3LjM4IDQ4LjI2NC02NC44NXYtMzEuMzAzTDQ0NS4xMiAyOTEuMTFsLTcuNjkyLTExLjI0NWMuNzA1LTYuNDMgMS4wNzgtMTIuOTU3IDEuMDc4LTE5LjU3MiAwLTMyLjE2My04LjU1Ny02Mi4zNTItMjMuNTEtODguNDIybDIxLjQ0Ny0yNy42NTMtMTYuNDQtNDcuMjc0SDQ1MC4xbC0xNC44NTItNzcuNjlINDE2LjIybDExLjI4IDU5aC03MC4yODdsLTEyLjk3IDI0Ljg1OGMtMjUuMDU4LTEzLjQzNi01My42ODQtMjEuMDY3LTg0LjA3LTIxLjA2Ny01Ljk0OCAwLTExLjgyNi4zLTE3LjYyNC44N2wtMzMuMTA1LTI5LjM1IDYuMTY2LTE0LjkzNC0zMi40NDgtMTkuMzc4aC0zNi40NXptNTUuMTg2IDUyLjU5MmwxNi45NTYgMTUuMDMzYy05LjIwOCAyLjE5LTE4LjE0IDUuMDk1LTI2LjczNSA4LjY1Mmw5Ljc4LTIzLjY4NnptMTY2LjY0NyAyNS4xaDMxLjY3MmwxNS4yNDYgNDMuODMzLTExLjI1IDE0LjUxYy0xMi4xMDMtMTYuNTQ0LTI2Ljk3Ny0zMC45MzUtNDMuOTQ4LTQyLjQ3NWw4LjI4LTE1Ljg3em0tMTA4LjI2IDMuNjZjODguMTE0IDAgMTU5Ljc0NiA3MS42IDE1OS43NDYgMTU5LjY3NyAwIDg4LjA4LTcxLjYzMyAxNTkuNjc1LTE1OS43NDcgMTU5LjY3NS0xOS4wNjcgMC0zNy4zNi0zLjM2LTU0LjMyNC05LjUwNi0xLjM3LS40OTctMi43MzUtMS4wMDctNC4wODctMS41NGwtLjEyLS4wNDVjLTEuMjA4LS40NzctMi40MDgtLjk2Ny0zLjYwMy0xLjQ3Mi0yLjkyNi0xLjIzMy01LjgxMi0yLjU0Mi04LjY0Ni0zLjk0bC0uMDA2LS4wNDdjLTcuMTk4LTMuNTctMTQuMDktNy42NjItMjAuNjI1LTEyLjIzNGwuMDE2LjEwM2MtMTguNDA4LTEyLjgyNy0zMy45NzctMjkuNDI2LTQ1LjU4My00OC42OTVsLS4xMi0uMzk2Yy0yLjg5Ny00LjgzLTUuNTQ0LTkuODI0LTcuOTI3LTE0Ljk2NWwtLjA3OC4wMjJjLTYuMjc2LTEzLjU4LTEwLjcwMi0yOC4xOTMtMTIuOTUyLTQzLjUyM2wuMDI4LS4wMWMtLjkxNi02LjIwNS0xLjQ4LTEyLjUyNC0xLjY1Ni0xOC45NGwtLjAxNi4wMDVjLS4wNC0xLjQ5LS4wNjYtMi45ODItLjA2Ni00LjQ4MiAwLTE2LjQ5IDIuNDk0LTMyLjM4NyA3LjEyMy00Ny4zNGwuMDQzLjAyYzEuODYzLTUuOTk4IDQuMDgtMTEuODQgNi42MS0xNy41MTRsLS4wNjYtLjAyOGMxMC44OTMtMjQuNDk0IDI3Ljc3LTQ1LjcxNiA0OC43ODgtNjEuODNsLjA3NC4wM2M1LjgwNy00LjQ2IDExLjkyNS04LjU0IDE4LjMyMi0xMi4xODNsLjAyLS4wNDhjNC4xNC0yLjM0NiA4LjM5NC00LjUxMiAxMi43NTQtNi40ODguMDMzLS4wMTUuMDY3LS4wMy4xLS4wNDcgMjAuMTI2LTkuMTU2IDQyLjQ3Mi0xNC4yNjIgNjUuOTk1LTE0LjI2MnptMCAxOC42OTdjLTQxLjEzNCAwLTc4LjEgMTcuNTIyLTEwMy44NjMgNDUuNTEzbDEzLjM5IDI3LjIzNiA2NC45ODMtNTYuMjgyIDU3LjgyMiA1MC4zODgtNjAuMzk2LTI1LjgxOC0zOS40MiA0MC4wNjYgMzQuNjIgMTEuODkgOC42MzcgNTIuODcgOTkuNTY2IDc3Ljk5LTExMi4xNjgtNTQuMzE0LTY3LjU3OCA3LjY2IDczLjg1IDU5LjE5LTYyLjk4IDEwLjE4M2MyNC44NzggMjIuMDI1IDU3LjYxNyAzNS4zOSA5My41MzYgMzUuMzkgMTMuNDA0IDAgMjYuMzY3LTEuODYgMzguNjQzLTUuMzM3bC0xMDMuNzQyLTIyLjczaC0uMDAybDEwMS43MDcgNi41ODMtMzkuMTg3LTUwLjEwMiA3NC4yNzYgNTIuMDgyYzE5LjIzLTExLjM0NiAzNS41Mi0yNy4xMiA0Ny40Ny00NS45MzRsLTEyMS44MzctOTguNTQgMTAwLjU1LTE5Ljk0Mi02Ny40Mi03OS40NSAxMDEuMzI1IDcxLjk3Yy0yMC4yNi01My03MS41NTQtOTAuNTYzLTEzMS43ODUtOTAuNTYzem0tMTE2Ljg1NSA2MS45MWMtMTUuMjggMjIuNTM4LTI0LjIgNDkuNzQ1LTI0LjIgNzkuMDcgMCA1LjQ5NS4zMjMgMTAuOTEuOTMyIDE2LjI0bDg1LjE4LTEzLjQ0NC0zLjgzLTM2LjIxNS01MS45MDUtMTMuMjMtNi4xNzctMzIuNDJ6bTI1NC44MzIgNDkuNjRsLTg4LjUzIDE0Ljk0IDc0LjQ0IDgyLjAzNGMxMC45NDYtMjAuMDQ3IDE3LjE2Ni00My4wNTYgMTcuMTY2LTY3LjU0MyAwLTEwLjA5Ni0xLjA2Ni0xOS45NC0zLjA3Ni0yOS40M3ptLTI3My40NDcgNjguODhjNS44NzUgMjAuMjQ3IDE2LjE2MyAzOC42IDI5Ljc1NyA1My45NjNsMjYuMzg1LTkuODQtNTYuMTQzLTQ0LjEyNHptMjUyLjc5IDk0LjYyNWwzMC41MiAyNS4xNjUtMjQuMzY3IDIyLjA0Ni01MS40MzItMTguMjY1YzE2LjU3Mi03LjM1IDMxLjgyLTE3LjE1IDQ1LjI4LTI4Ljk0NXoiIGZpbGw9IiNmZmYiIGZpbGwtb3BhY2l0eT0iMSI+PC9wYXRoPjwvZz48L3N2Zz4=
data:image/svg+xml;base64,PHN2ZyBzdHlsZT0iaGVpZ2h0OiA1MTJweDsgd2lkdGg6IDUxMnB4OyIgeG1sbnM9Imh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnIiB2aWV3Qm94PSIwIDAgNTEyIDUxMiI+PHBhdGggZD0iTTAgMGg1MTJ2NTEySDB6IiBmaWxsPSIjMDAwIiBmaWxsLW9wYWNpdHk9IjAiPjwvcGF0aD48ZyBjbGFzcz0iIiBzdHlsZT0idG91Y2gtYWN0aW9uOiBub25lOyIgdHJhbnNmb3JtPSJ0cmFuc2xhdGUoMCwwKSI+PHBhdGggZD0iTTEwOS45MDIgMzUuODdsLTcxLjE0IDU5LjI4NGgxNDIuMjhsLTcxLjE0LTU5LjI4NXptMjg4IDMybC03MS4xNCA1OS4yODRoMTQyLjI4bC03MS4xNC01OS4yODV6TTIyOC43MyA4NC40MDNsLTEwOC45IDkwLjc1aDIxNy44bC0xMDguOS05MC43NXptLTE3My44MjggMjguNzV2NjJoMzYuODFsNzMuMTktNjAuOTkydi0xLjAwOGgtMTEwem0yMyAxNGgxNnYxOGgtMTZ2LTE4em0yNjUgMTh2MTAuOTYzbDIzIDE5LjE2NnYtMTYuMTNoMTZ2MThoLTEzLjc1NmwuMTA0LjA4NyAxOS4wOTggMTUuOTE0aC00NC40NDZ2MTRoNzh2LTM5aDE4djM5aDE0di02MmgtMTEwem0tMTk0LjM0NSA0OHYyMC4wOGwyNC4wOTUtMjAuMDhoLTI0LjA5NXptMjguMTU4IDBsMTA1LjEgODcuNTgyIDI3LjA4Ny0yMi41NzR2LTY1LjAwOEgxNzYuNzE1em03NC42ODMgMTRoMzUuNzM1djM0aC0zNS43MzV2LTM0em0tNzYuNzE0IDcuNzRMMzAuMzcgMzM1LjE1M0gzMTlsLTE0NC4zMTQtMTIwLjI2em0xOTguMDQ2IDEzLjUxbC03Ni44NTcgNjQuMDQ3IDMyLjA0MyAyNi43MDRINDgxLjYzbC0xMDguOS05MC43NXptLTIzLjIxNCAxMDguNzVsLjEwMy4wODYgMTkuMDk1IDE1LjkxNGgtNzIuMjQ4djc3LjQ2N2g2MC40MzV2LTYzLjQ2Nmg1MHY2My40NjdoNDZ2LTkzLjQ2NkgzNDkuNTE2em0tMjc4LjYxNCAxNlY0NzYuMTNoMTI2di03Ni45NzZoNTB2NzYuOTc3aDMxLjU2NVYzNTMuMTU1SDcwLjkwMnptMzAgMzBoNTB2NTBoLTUwdi01MHoiIGZpbGw9IiNmZmYiIGZpbGwtb3BhY2l0eT0iMSI+PC9wYXRoPjwvZz48L3N2Zz4=
data:image/svg+xml;base64,PHN2ZyBzdHlsZT0iaGVpZ2h0OiA1MTJweDsgd2lkdGg6IDUxMnB4OyIgeG1sbnM9Imh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnIiB2aWV3Qm94PSIwIDAgNTEyIDUxMiI+PGRlZnM+PGNsaXBQYXRoIGlkPSJpY29uLWJnIj48cGF0aCBkPSJNMCAwaDUxMnY1MTJIMHoiIGZpbGw9IiMwMDAiIGZpbGwtb3BhY2l0eT0iMCI+PC9wYXRoPjwvY2xpcFBhdGg+PC9kZWZzPjxwYXRoIGQ9Ik0wIDBoNTEydjUxMkgweiIgZmlsbD0iIzAwMCIgZmlsbC1vcGFjaXR5PSIwIj48L3BhdGg+PGcgY2xhc3M9IiIgc3R5bGU9InRvdWNoLWFjdGlvbjogbm9uZTsiIHRyYW5zZm9ybT0idHJhbnNsYXRlKDAsMCkiPjxwYXRoIGQ9Ik0yNTYuMjUgMjAuMzEzYy0xMDguNjQgMC0xOTYuNzggOTAuNTkyLTE5Ni43OCAyMDIuOTM3IDAgODQuNjE1IDQ5Ljk5NCAxNTYuOTA0IDEyMS4wOTMgMTg3LjQzOHYtMTYuMzc1YzAtMjUuNjM4LTYuMi00MC4xMzItMTMuODc1LTQ4LjQ3LTcuNjc1LTguMzM2LTE3LjU2Ny0xMS40LTI3LjcyLTExLjkzNy0xOC4yNTItLjk3LTMyLjQtMTIuMjY2LTQwLjkwNS0yNy02LjQ3LTExLjIwNS01Ljk3NS0yNC43NjctLjUzMi0zNi45NyA1LjQ0NC0xMi4yIDE1LjQ5LTIzLjcxIDI5LjE5LTMzLjkwNSAyNy4zOTQtMjAuMzkgNjkuNzktMzUuNTYgMTIyLjQzNi0zNS41NiA1Mi43MDIgMCA5OC40NzUgMTUuNjQ4IDEyOS4zNDQgMzYuMjE4IDE1LjQzNSAxMC4yODQgMjcuMjQgMjEuNzQ2IDM0LjIyIDMzLjk2OCA2Ljk3NiAxMi4yMjIgOC45MyAyNi40MSAyLjE4NiAzOC4wOTQtNC4xOSA3LjI1Ny0xMS4wMjYgMTEuOTg4LTE4LjY4NyAxNS45MzgtNy42NjMgMy45NS0xNi4wODUgNi43OC0yNC41OTUgNi43OC0xMS44NjUgMC0yMC42MyAyLjIxNC0yNy40MzggMTAuMTU3cy0xMi40MzcgMjMuNjMtMTIuNDM3IDUyLjY4OHYxNi40MzdjNzEuMTk1LTMwLjQ4OCAxMjEuMjgtMTAyLjgxNCAxMjEuMjgtMTg3LjUgMC0xMTIuMzQ3LTg4LjE0LTIwMi45MzgtMTk2Ljc4LTIwMi45Mzh6bS03Ni42NTYgODYuNzE4YzEuNTMuMDIgMy4wNS4wNzggNC41NjIuMTU3IDE0LjUyNS43NjYgMjguMjkgNC4zIDQxLjA2MyA5Ljk3bDE3LjMxIDcuNjg3LTE2LjYyNCA5LjA2Mi04NC4wNjIgNDUuODc1LTguOTM4LTE2LjQwNSA2NS4xNTYtMzUuNTYzYy0yNC4xOTUtNS41MTMtNTAuOTItMS44NzctODIuMDYyIDE3LjUzMmwtOS44NzUtMTUuODQ0YzI1Ljc3OC0xNi4wNjYgNTAuNTI4LTIyLjc1IDczLjQ3LTIyLjQ3em0xNTAuMzEyIDBjMjIuOTQ0LS4yOCA0Ny43MjIgNi40MDQgNzMuNSAyMi40N2wtOS44NzUgMTUuODQ0Yy0zMS4xNC0xOS40MS01Ny44NjUtMjMuMDQ1LTgyLjA2LTE3LjUzbDY1LjE1NSAzNS41Ni04LjkzOCAxNi40MDctODQuMDYyLTQ1Ljg3NEwyNjcgMTI0Ljg0NGwxNy4zMTMtNy42ODhjMTIuNzcyLTUuNjcgMjYuNTA2LTkuMjAzIDQxLjAzLTkuOTcgMS41MTQtLjA3OCAzLjAzNC0uMTM2IDQuNTYzLS4xNTV6bS03My41OTQgMTcwLjI4MmMtNjguOTQ3IDAtMTEzLjEwNCAxNS4zNjctMTE2Ljg0MyAzNy45MDdsLjUuMDNjMTMuNDg3LjcxNCAyOC44NDMgNS4zMSA0MC40NjggMTcuOTM4IDExLjYyNCAxMi42MjcgMTguODEyIDMyLjQxOCAxOC44MTIgNjEuMTI1djEwMC4zMTJoMTEzLjgxM1YzOTQuMzEyYzAtMzEuNCA1Ljc2Ni01MS44MSAxNi45MzctNjQuODQzIDExLjE3LTEzLjAzNCAyNy4wMDMtMTYuNjkgNDEuNjI1LTE2LjY5LjM1MiAwIC43Ni0uMDMgMS4xNTYtLjA2LTYuNDE3LTIyLjYxNC00OS44NzItMzUuNDA4LTExNi40NjctMzUuNDA4eiIgZmlsbD0iI2ZmZmZmZiIgZmlsbC1vcGFjaXR5PSIxIiBjbGlwLXBhdGg9InVybCgjaWNvbi1iZykiPjwvcGF0aD48L2c+PC9zdmc+
data:image/svg+xml;base64,PHN2ZyBzdHlsZT0iaGVpZ2h0OiA1MTJweDsgd2lkdGg6IDUxMnB4OyIgeG1sbnM9Imh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnIiB2aWV3Qm94PSIwIDAgNTEyIDUxMiI+PGcgY2xhc3M9IiIgc3R5bGU9InRvdWNoLWFjdGlvbjogbm9uZTsiIHRyYW5zZm9ybT0idHJhbnNsYXRlKDAsMCkiPjxwYXRoIGQ9Ik0xOS4xODggMTcuNXYxNTIuMDYzQzY2Ljg2IDI1OC42MyAxNTEuOTggMzIwLjY1NiAyNDguMjggMzQxLjA5MmM3LjI4NyAyLjMwMyAxNS4wMzQgMy41NjMgMjMuMDY0IDMuNTYzIDYuNzQ3IDAgMTMuMjg4LS44ODQgMTkuNTMtMi41My00Ny41NDcgMzMuNTI1LTEwNS41NTYgNTMuMTU1LTE2OC4xODcgNTMuMTU1LTM2Ljc3IDAtNzEuMjU4LTcuOC0xMDMuNS0yMC4zNDJ2MzUuNjI1YzM5Ljg2MyA5LjI1IDc4LjY2NyAxMy4wMzQgMTE0LjE4OCAxMC44MTIgMjIuNTcyLTEuNDEzIDQzLjIxMy00LjcgNjMuMDYzLTEwLjUzLTQ1LjYzNCAzMy4zMzctMTA3LjQzNSA1MC4wMy0xNzcuMjUgNDkuNjg2djI5LjQ0YzYuODIuNDU3IDEzLjQxNy44NzQgMjAuMzQzLjg3NCAxMzIuMjc3IDAgMjQ1LjUxNS03Ny4wOCAzMDAuMjgzLTE4OC4yOC4xNzQtLjM1Ny4zNTctLjcwOC41My0xLjA2NC4yMzYtLjQ4LjQ2My0uOTUzLjY4OC0xLjQzOC0uMDQ2LjQxNy0uMDc2LjgzNS0uMTI0IDEuMjUtNy4yNTUgNjIuNTctMzQuOTY0IDEyMi41OS04Mi45MzcgMTcwLjU2My03LjY5NyA3LjY5Ni0xNS42NDcgMTQuOTQ0LTIzLjk0IDIxLjU5NGgxMDQuNTk1YzI4LjMzLTU3LjUxNCAzNy42ODctMTIwLjQ4NSAyOS4xMjUtMTgwLjcyLTMuMjg0LTIzLjA5My04LjY0LTQ1LjI1LTE2LjkzOC02Ny4xODggNTMuMTcyIDcxLjgzOCA3OC41NCAxNjAuMzggNzEuNDcgMjQ3LjkwN2g3My4zNzRDNDkyLjY4IDM2My4yMzUgNDE2LjE3MyAyNTIuMDQzIDMwNS40MDYgMTk5Yy0uMjczLS4xMy0uNTM4LS4yNzYtLjgxMi0uNDA2LTEuMTItLjU0LTIuMjI3LTEuMDQ1LTMuMzc1LTEuNTMtLjYtLjI3OC0xLjE4My0uNTczLTEuNzgzLS44NDUuMTAyLjA4Ni4yMS4xNi4zMTMuMjUtNC4zMjQtMS43My04LjgzNC0zLjA4LTEzLjUtNCA2MS4zMTctNy43NyAxMjUuNjA0IDMuOTM1IDE4My4yNSAzNy4yMTggOC44OTYgNS4xMzUgMTcuNTYyIDEwLjg2IDI1LjY1NiAxNi43OHYtOTQuNjU1Yy0yMi42ODItNS4xNzUtNDUuMjItNy42NjgtNjguMTI1LTcuOTctNjYuNzctLjg3NC0xMzMuMDc4IDE4LjI5LTE4OS4xODYgNTQuODc2LTkuMTkgNC40NzYtMTcuMzYgMTAuNzU4LTI0LjA2MyAxOC4zNDMgMjQuMDE1LTU2Ljk3MyA2Ni4yMS0xMDcuMDA0IDEyMy42OS0xNDAuMTg4IDQ5LjU3Ni0yOC42MjMgMTA0LjI3Ni00MS4wMTYgMTU3LjY4Ni0zOVYxNy41aC0xMTguNzhjLTQxLjM4MyAxNy43NzgtNzkuNDU3IDQzLjY4My0xMTEuMjgyIDc1LjY1NiAxNi4zNC0yNy41MyAzNi4xOS01Mi43MzYgNTguNTk0LTc1LjY1NmgtNDIuMDMyYy02MC44MDQgNjcuMzEtOTEuODcyIDE1Ni40Ni04NyAyNDUuNjU2LS4wOTMgMS41NDQtLjE1NiAzLjA5LS4xNTYgNC42NTYgMCAxNC44MTUgNC4yNSAyOC42NSAxMS41NjMgNDAuNDA3LTQ3LjQ0LTM3LjkxMy04My43NjYtOTAuODMtMTAwLjYyNS0xNTMuNzUtMTIuNDUtNDYuNDYtMTIuMjQ4LTkyLjk3NS0yLjY1Ny0xMzYuOTdIMTkuMTg4em0yNTIuMTU2IDE5Mi4xODhjMzIuMjIzIDAgNTguMTU2IDI1LjkwMiA1OC4xNTYgNTguMTI1IDAgMzIuMjIyLTI1LjkzMyA1OC4xNTYtNTguMTU2IDU4LjE1Ni0xMS45MzggMC0yMy4wMDctMy41Ny0zMi4yMi05LjY5IDYuMjAyIDMuMTY4IDEzLjIzIDQuOTcgMjAuNzIgNC45NyAyNS42NyAwIDQ2LjQzOC0yMC44MDIgNDYuNDM3LTQ2LjQ3LjAwMy0yMy4wOTYtMTYuNTEtNDIuMjAyLTM4LjU5Mi00NS44MSAxMC4wMyA2Ljc3NyAxNyAxOC4zOTYgMTcgMzEuNDA1IDAgMjAuODEzLTE3LjEyMyAzNy4zMTMtMzcuOTM4IDM3LjMxMy0xMy44NjQgMC0yNS44OS03LjM3OC0zMi40MzgtMTguNTMyLS43Mi0zLjY3LTEuMTI1LTcuNDU3LTEuMTI1LTExLjM0NCAwLTMyLjIyMyAyNS45MzQtNTguMTI1IDU4LjE1Ny01OC4xMjV6IiBmaWxsPSIjZmZmIiBmaWxsLW9wYWNpdHk9IjEiPjwvcGF0aD48L2c+PC9zdmc+
data:image/svg+xml;base64,PD94bWwgdmVyc2lvbj0iMS4wIiBlbmNvZGluZz0iVVRGLTgiIHN0YW5kYWxvbmU9Im5vIj8+CjxzdmcKICAgeG1sbnM6ZGM9Imh0dHA6Ly9wdXJsLm9yZy9kYy9lbGVtZW50cy8xLjEvIgogICB4bWxuczpjYz0iaHR0cDovL2NyZWF0aXZlY29tbW9ucy5vcmcvbnMjIgogICB4bWxuczpyZGY9Imh0dHA6Ly93d3cudzMub3JnLzE5OTkvMDIvMjItcmRmLXN5bnRheC1ucyMiCiAgIHhtbG5zOnN2Zz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciCiAgIHhtbG5zPSJodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2ZyIKICAgeG1sbnM6c29kaXBvZGk9Imh0dHA6Ly9zb2RpcG9kaS5zb3VyY2Vmb3JnZS5uZXQvRFREL3NvZGlwb2RpLTAuZHRkIgogICB4bWxuczppbmtzY2FwZT0iaHR0cDovL3d3dy5pbmtzY2FwZS5vcmcvbmFtZXNwYWNlcy9pbmtzY2FwZSIKICAgc3R5bGU9ImhlaWdodDogNTEycHg7IHdpZHRoOiA1MTJweDsiCiAgIHZpZXdCb3g9IjAgMCA1MTIgNTEyIgogICB2ZXJzaW9uPSIxLjEiCiAgIGlkPSJzdmc2IgogICBzb2RpcG9kaTpkb2NuYW1lPSJ3aGl0ZV9kd2FyZi5zdmciCiAgIGlua3NjYXBlOnZlcnNpb249IjEuMCAoNDAzNWE0ZmI0OSwgMjAyMC0wNS0wMSkiPgogIDxtZXRhZGF0YQogICAgIGlkPSJtZXRhZGF0YTEyIj4KICAgIDxyZGY6UkRGPgogICAgICA8Y2M6V29yawogICAgICAgICByZGY6YWJvdXQ9IiI+CiAgICAgICAgPGRjOmZvcm1hdD5pbWFnZS9zdmcreG1sPC9kYzpmb3JtYXQ+CiAgICAgICAgPGRjOnR5cGUKICAgICAgICAgICByZGY6cmVzb3VyY2U9Imh0dHA6Ly9wdXJsLm9yZy9kYy9kY21pdHlwZS9TdGlsbEltYWdlIiAvPgogICAgICAgIDxkYzp0aXRsZSAvPgogICAgICA8L2NjOldvcms+CiAgICA8L3JkZjpSREY+CiAgPC9tZXRhZGF0YT4KICA8ZGVmcwogICAgIGlkPSJkZWZzMTAiIC8+CiAgPHNvZGlwb2RpOm5hbWVkdmlldwogICAgIGlua3NjYXBlOmRvY3VtZW50LXJvdGF0aW9uPSIwIgogICAgIHBhZ2Vjb2xvcj0iIzAwMDAwMCIKICAgICBib3JkZXJjb2xvcj0iIzY2NjY2NiIKICAgICBib3JkZXJvcGFjaXR5PSIxIgogICAgIG9iamVjdHRvbGVyYW5jZT0iMTAiCiAgICAgZ3JpZHRvbGVyYW5jZT0iMTAiCiAgICAgZ3VpZGV0b2xlcmFuY2U9IjEwIgogICAgIGlua3NjYXBlOnBhZ2VvcGFjaXR5PSIwIgogICAgIGlua3NjYXBlOnBhZ2VzaGFkb3c9IjIiCiAgICAgaW5rc2NhcGU6d2luZG93LXdpZHRoPSIxOTIwIgogICAgIGlua3NjYXBlOndpbmRvdy1oZWlnaHQ9IjEwMTciCiAgICAgaWQ9Im5hbWVkdmlldzgiCiAgICAgc2hvd2dyaWQ9ImZhbHNlIgogICAgIGlua3NjYXBlOnpvb209IjEuNTczNTM4MiIKICAgICBpbmtzY2FwZTpjeD0iMjU2IgogICAgIGlua3NjYXBlOmN5PSIyNTYiCiAgICAgaW5rc2NhcGU6d2luZG93LXg9Ii04IgogICAgIGlua3NjYXBlOndpbmRvdy15PSItOCIKICAgICBpbmtzY2FwZTp3aW5kb3ctbWF4aW1pemVkPSIxIgogICAgIGlua3NjYXBlOmN1cnJlbnQtbGF5ZXI9InN2ZzYiIC8+CiAgPHBhdGgKICAgICBpZD0icGF0aDIiCiAgICAgZmlsbC1vcGFjaXR5PSIxIgogICAgIGZpbGw9IiNmZmZmZmYiCiAgICAgZD0ibSAyNTUuNTg0MzgsMTc3Ljc1NTAzIGMgLTE3LjAzNjc3LDAuMzMxMjkgLTMzLjUxMDM1LDYuMzUyMDYgLTQ2Ljc0NDUzLDE3LjAxNTE3IGwgMTMuNDM2NTUsMjYuMDM5MTIgLTI4LjY5NTE4LC05LjQ3NTUxIGMgLTIuNTc1MzksMy43OTEwNyAtNC44NTE5LDcuODU1ODEgLTYuNzc0MDksMTIuMTk4NTQgLTYuMjg0MzYsMTQuMTkzNDcgLTcuOTIzNTEsMjkuMjMyNDQgLTUuNjAzMDYsNDMuNDU5MDQgbCAzMi4yNTAwMywxLjUzMDQgLTI0LjQ4NjQsMjEuODMwMzQgYyA3Ljc3NjU5LDE0Ljg1MTcyIDIwLjQ2MzQyLDI3LjI2MDU2IDM3LjAyMTk5LDM0LjU5MDY0IDIuMjE2MDIsMC45ODIzNCA0LjQ1NTA4LDEuODUzNzYgNi43MDcxMSwyLjYxMTQgbCAxNy42NjYyMiwtMjcuNTQ3MiA2LjU1MDExLDMxLjU1NDMzIGMgMTkuNjYxMTQsMC4wNTQgMzguNzAwNzUsLTcuNDgwNiA1My4wMDA4MSwtMjEuMDIwODUgbCAtMTMuODE3NTMsLTI2LjczNjk5IDI3LjY1OTU0LDkuMTE2MTQgYyAxLjMxMjE5LC0yLjI5NTk2IDIuNTI5MzEsLTQuNjg1NTQgMy42MjI1NSwtNy4xNTcyMyA3LjAxODk2LC0xNS44NTEzNCA4LjI1MTIsLTMyLjc2NzEyIDQuNjM4MDEsLTQ4LjQxMTA1IGwgLTI3LjA5NzgsLTEuMjYwMzMgMTkuOTM5ODUsLTE3LjgwMTYxIGMgLTcuNzk5NjQsLTE0LjU0MzQ4IC0yMC4zMzUyMywtMjYuNjk3MzcgLTM2LjYzODg1LC0zMy45MTU4MiAtMC45ODY2NiwtMC40MzcxNSAtMS45NzY5MiwtMC44NDY5NCAtMi45NzA3OCwtMS4yMzg3MiBsIC0xOC42MzQxNCwyOS4wMzI5NCAtNy4xMzQxOSwtMzQuMzg4OTggYyAtMC4zNjAwOSwtMC4wMTE1IC0wLjcyMDE5LC0wLjAxNjYgLTEuMDgwMjgsLTAuMDIzIC0wLjkzNjI1LC0wLjAxNDQgLTEuODc5NjksLTAuMDE3MyAtMi44MTMwNiwwIHoiCiAgICAgc3R5bGU9InN0cm9rZS13aWR0aDowLjcyMDE4OCIKICAgICBzb2RpcG9kaTpub2RldHlwZXM9ImNjY2NjY2NjY2NjY2NjY2NjY2NjY2NjY2NjIiAvPgo8L3N2Zz4K
data:image/svg+xml;base64,PHN2ZyB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIHZpZXdCb3g9IjAgMCA1MTIgNTEyIiBzdHlsZT0iaGVpZ2h0OiA1MTJweDsgd2lkdGg6IDUxMnB4OyI+PGcgY2xhc3M9IiIgdHJhbnNmb3JtPSJ0cmFuc2xhdGUoMCwwKSIgc3R5bGU9InRvdWNoLWFjdGlvbjogbm9uZTsiPjxwYXRoIGQ9Ik0yNTMuNDcgMTcuNDA2QzEyMy43NiAxNy40MDYgMTguNDM3IDEyMi43NiAxOC40MzcgMjUyLjQ3YzAgMTI5LjcwNyAxMDUuMzI0IDIzNS4wNiAyMzUuMDMgMjM1LjA2IDEyOS43MDcgMCAyMzUuMDYzLTEwNS4zNTMgMjM1LjA2My0yMzUuMDYgMC0xMjkuNzEtMTA1LjM1NS0yMzUuMDY0LTIzNS4wNi0yMzUuMDY0ek0zNjcuODc0IDY4Ljc1YzYxLjI0NiAzOC4xOSAxMDEuOTcgMTA2LjE0IDEwMS45NyAxODMuNzIgMCAxNy4xNDMtMS45OTMgMzMuODIzLTUuNzUgNDkuODFsLTM0LjI1LTE4LjA2IDIyIDU0Ljg3NGMtOS40NTQgMjEuNjQ3LTIyLjM2MiA0MS40MzItMzggNTguNjg3bC00My4xNTgtMzAuOTM2LTY0LjYyNSA0Ny43Mi02MS42NTYgNi45NjctMTMuOTA2LTQxLjc4LTQ5LjcyIDI2Ljg0NC02OC4wOTMtMTguOTM4IDkuMTU3IDM2LjU5NGMtMjguNDEtMjEuNzkzLTUxLjIzLTUwLjQ2Ni02Ni04My41NjNMODEuMjUgMzA0LjQ3bDMyLjI1IDE3LjEyNCA1OS4yMi05Ljg3NSAyLjg0My00MC45MDgtMzcuMzQ0LTEuNzE4IDQuOTA1LTE3Ljg0NCAzMC43OC0yNS4zMTMtMjUuMDkzLTE1LjYyNSA2Ny4yMi0zOC41OTMtNDUuMzQ1LTI5LjY1Ny02Ni42MjUgNDAuMTg3LTQ5LjQzNy0xNS4yOGMxMy44MTItMzIuMTQgMzUuMjEtNjAuMjIgNjEuOTA2LTgyLjA2NGwtMy43NSA0NC4zNzUgNDMuMzc2LTM0LjEyNCA3MiAyMi4yMi0yMi41LTI3LjQwN0wyMzMgNzUuNTYybDI2LjgxMyAyOC40NjggNzEgOS44NDUtMy41LTM0LjQ3IDQxLjQ2OCAxMi42NTctLjkwNS0yMy4zMTJ6bTEuMTU2IDEyMC4wM0wyNzggMTk5LjQ3bDI4LjkwNiA0My4yMTggMy4xNTYgNjQuNDY4TDMzOS4yNSAzMjFsMTEuNDM4LTI4LjM3NSA2Mi42NTYgNDguNjU2TDM5NS43OCAyOTRsNi40MDgtNDguMzQ0LTQzLjc1LTIyLjcyIDEwLjU5My0zNC4xNTV6TTIyMSAxOTIuNDM4bC0zMS41OTQgMjEuMTg4IDM2LjQ3IDE0Ljc4IDE2LjY4Ni0xNC43OEwyMjEgMTkyLjQzN3ptMjIuMTg4IDE0NC42ODhsMTguNjg3IDUyLjU5NCAxOS43OC00Mi41NjQtMzguNDY3LTEwLjAzeiIgZmlsbD0iI2ZmZiIgZmlsbC1vcGFjaXR5PSIxIj48L3BhdGg+PC9nPjwvc3ZnPg==
data:image/svg+xml;base64,PHN2ZyB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIHZpZXdCb3g9IjAgMCA1MTIgNTEyIiBzdHlsZT0iaGVpZ2h0OiA1MTJweDsgd2lkdGg6IDUxMnB4OyI+PGcgY2xhc3M9IiIgdHJhbnNmb3JtPSJ0cmFuc2xhdGUoMCwwKSIgc3R5bGU9InRvdWNoLWFjdGlvbjogbm9uZTsiPjxwYXRoIGQ9Ik0yNTMuNDcgMTcuNDA2QzEyMy43NiAxNy40MDYgMTguNDM3IDEyMi43NiAxOC40MzcgMjUyLjQ3YzAgMTI5LjcwNyAxMDUuMzI0IDIzNS4wNiAyMzUuMDMgMjM1LjA2IDEyOS43MDcgMCAyMzUuMDYzLTEwNS4zNTMgMjM1LjA2My0yMzUuMDYgMC0xMjkuNzEtMTA1LjM1NS0yMzUuMDY0LTIzNS4wNi0yMzUuMDY0ek0zNjcuODc0IDY4Ljc1YzYxLjI0NiAzOC4xOSAxMDEuOTcgMTA2LjE0IDEwMS45NyAxODMuNzIgMCAxNy4xNDMtMS45OTMgMzMuODIzLTUuNzUgNDkuODFsLTM0LjI1LTE4LjA2IDIyIDU0Ljg3NGMtOS40NTQgMjEuNjQ3LTIyLjM2MiA0MS40MzItMzggNTguNjg3bC00My4xNTgtMzAuOTM2LTY0LjYyNSA0Ny43Mi02MS42NTYgNi45NjctMTMuOTA2LTQxLjc4LTQ5LjcyIDI2Ljg0NC02OC4wOTMtMTguOTM4IDkuMTU3IDM2LjU5NGMtMjguNDEtMjEuNzkzLTUxLjIzLTUwLjQ2Ni02Ni04My41NjNMODEuMjUgMzA0LjQ3bDMyLjI1IDE3LjEyNCA1OS4yMi05Ljg3NSAyLjg0My00MC45MDgtMzcuMzQ0LTEuNzE4IDQuOTA1LTE3Ljg0NCAzMC43OC0yNS4zMTMtMjUuMDkzLTE1LjYyNSA2Ny4yMi0zOC41OTMtNDUuMzQ1LTI5LjY1Ny02Ni42MjUgNDAuMTg3LTQ5LjQzNy0xNS4yOGMxMy44MTItMzIuMTQgMzUuMjEtNjAuMjIgNjEuOTA2LTgyLjA2NGwtMy43NSA0NC4zNzUgNDMuMzc2LTM0LjEyNCA3MiAyMi4yMi0yMi41LTI3LjQwN0wyMzMgNzUuNTYybDI2LjgxMyAyOC40NjggNzEgOS44NDUtMy41LTM0LjQ3IDQxLjQ2OCAxMi42NTctLjkwNS0yMy4zMTJ6bTEuMTU2IDEyMC4wM0wyNzggMTk5LjQ3bDI4LjkwNiA0My4yMTggMy4xNTYgNjQuNDY4TDMzOS4yNSAzMjFsMTEuNDM4LTI4LjM3NSA2Mi42NTYgNDguNjU2TDM5NS43OCAyOTRsNi40MDgtNDguMzQ0LTQzLjc1LTIyLjcyIDEwLjU5My0zNC4xNTV6TTIyMSAxOTIuNDM4bC0zMS41OTQgMjEuMTg4IDM2LjQ3IDE0Ljc4IDE2LjY4Ni0xNC43OEwyMjEgMTkyLjQzN3ptMjIuMTg4IDE0NC42ODhsMTguNjg3IDUyLjU5NCAxOS43OC00Mi41NjQtMzguNDY3LTEwLjAzeiIgZmlsbD0iI2ZmZiIgZmlsbC1vcGFjaXR5PSIxIj48L3BhdGg+PC9nPjwvc3ZnPg==
data:image/svg+xml;base64,PHN2ZyB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIHZpZXdCb3g9IjAgMCA1MTIgNTEyIiBzdHlsZT0iaGVpZ2h0OiA1MTJweDsgd2lkdGg6IDUxMnB4OyI+PGcgY2xhc3M9IiIgdHJhbnNmb3JtPSJ0cmFuc2xhdGUoMCwwKSIgc3R5bGU9InRvdWNoLWFjdGlvbjogbm9uZTsiPjxwYXRoIGQ9Ik0yNTMuNDcgMTcuNDA2QzEyMy43NiAxNy40MDYgMTguNDM3IDEyMi43NiAxOC40MzcgMjUyLjQ3YzAgMTI5LjcwNyAxMDUuMzI0IDIzNS4wNiAyMzUuMDMgMjM1LjA2IDEyOS43MDcgMCAyMzUuMDYzLTEwNS4zNTMgMjM1LjA2My0yMzUuMDYgMC0xMjkuNzEtMTA1LjM1NS0yMzUuMDY0LTIzNS4wNi0yMzUuMDY0ek0zNjcuODc0IDY4Ljc1YzYxLjI0NiAzOC4xOSAxMDEuOTcgMTA2LjE0IDEwMS45NyAxODMuNzIgMCAxNy4xNDMtMS45OTMgMzMuODIzLTUuNzUgNDkuODFsLTM0LjI1LTE4LjA2IDIyIDU0Ljg3NGMtOS40NTQgMjEuNjQ3LTIyLjM2MiA0MS40MzItMzggNTguNjg3bC00My4xNTgtMzAuOTM2LTY0LjYyNSA0Ny43Mi02MS42NTYgNi45NjctMTMuOTA2LTQxLjc4LTQ5LjcyIDI2Ljg0NC02OC4wOTMtMTguOTM4IDkuMTU3IDM2LjU5NGMtMjguNDEtMjEuNzkzLTUxLjIzLTUwLjQ2Ni02Ni04My41NjNMODEuMjUgMzA0LjQ3bDMyLjI1IDE3LjEyNCA1OS4yMi05Ljg3NSAyLjg0My00MC45MDgtMzcuMzQ0LTEuNzE4IDQuOTA1LTE3Ljg0NCAzMC43OC0yNS4zMTMtMjUuMDkzLTE1LjYyNSA2Ny4yMi0zOC41OTMtNDUuMzQ1LTI5LjY1Ny02Ni42MjUgNDAuMTg3LTQ5LjQzNy0xNS4yOGMxMy44MTItMzIuMTQgMzUuMjEtNjAuMjIgNjEuOTA2LTgyLjA2NGwtMy43NSA0NC4zNzUgNDMuMzc2LTM0LjEyNCA3MiAyMi4yMi0yMi41LTI3LjQwN0wyMzMgNzUuNTYybDI2LjgxMyAyOC40NjggNzEgOS44NDUtMy41LTM0LjQ3IDQxLjQ2OCAxMi42NTctLjkwNS0yMy4zMTJ6bTEuMTU2IDEyMC4wM0wyNzggMTk5LjQ3bDI4LjkwNiA0My4yMTggMy4xNTYgNjQuNDY4TDMzOS4yNSAzMjFsMTEuNDM4LTI4LjM3NSA2Mi42NTYgNDguNjU2TDM5NS43OCAyOTRsNi40MDgtNDguMzQ0LTQzLjc1LTIyLjcyIDEwLjU5My0zNC4xNTV6TTIyMSAxOTIuNDM4bC0zMS41OTQgMjEuMTg4IDM2LjQ3IDE0Ljc4IDE2LjY4Ni0xNC43OEwyMjEgMTkyLjQzN3ptMjIuMTg4IDE0NC42ODhsMTguNjg3IDUyLjU5NCAxOS43OC00Mi41NjQtMzguNDY3LTEwLjAzeiIgZmlsbD0iI2ZmZiIgZmlsbC1vcGFjaXR5PSIxIiB0cmFuc2Zvcm09InRyYW5zbGF0ZSg1MS4yLCA1MS4yKSBzY2FsZSgwLjgsIDAuOCkgcm90YXRlKDAsIDI1NiwgMjU2KSI+PC9wYXRoPjwvZz48L3N2Zz4=
data:image/svg+xml;base64,PHN2ZyB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIHZpZXdCb3g9IjAgMCA1MTIgNTEyIiBzdHlsZT0iaGVpZ2h0OiA1MTJweDsgd2lkdGg6IDUxMnB4OyI+PGcgY2xhc3M9IiIgdHJhbnNmb3JtPSJ0cmFuc2xhdGUoMCwwKSIgc3R5bGU9InRvdWNoLWFjdGlvbjogbm9uZTsiPjxwYXRoIGQ9Ik0yNTMuNDcgMTcuNDA2QzEyMy43NiAxNy40MDYgMTguNDM3IDEyMi43NiAxOC40MzcgMjUyLjQ3YzAgMTI5LjcwNyAxMDUuMzI0IDIzNS4wNiAyMzUuMDMgMjM1LjA2IDEyOS43MDcgMCAyMzUuMDYzLTEwNS4zNTMgMjM1LjA2My0yMzUuMDYgMC0xMjkuNzEtMTA1LjM1NS0yMzUuMDY0LTIzNS4wNi0yMzUuMDY0ek0zNjcuODc0IDY4Ljc1YzYxLjI0NiAzOC4xOSAxMDEuOTcgMTA2LjE0IDEwMS45NyAxODMuNzIgMCAxNy4xNDMtMS45OTMgMzMuODIzLTUuNzUgNDkuODFsLTM0LjI1LTE4LjA2IDIyIDU0Ljg3NGMtOS40NTQgMjEuNjQ3LTIyLjM2MiA0MS40MzItMzggNTguNjg3bC00My4xNTgtMzAuOTM2LTY0LjYyNSA0Ny43Mi02MS42NTYgNi45NjctMTMuOTA2LTQxLjc4LTQ5LjcyIDI2Ljg0NC02OC4wOTMtMTguOTM4IDkuMTU3IDM2LjU5NGMtMjguNDEtMjEuNzkzLTUxLjIzLTUwLjQ2Ni02Ni04My41NjNMODEuMjUgMzA0LjQ3bDMyLjI1IDE3LjEyNCA1OS4yMi05Ljg3NSAyLjg0My00MC45MDgtMzcuMzQ0LTEuNzE4IDQuOTA1LTE3Ljg0NCAzMC43OC0yNS4zMTMtMjUuMDkzLTE1LjYyNSA2Ny4yMi0zOC41OTMtNDUuMzQ1LTI5LjY1Ny02Ni42MjUgNDAuMTg3LTQ5LjQzNy0xNS4yOGMxMy44MTItMzIuMTQgMzUuMjEtNjAuMjIgNjEuOTA2LTgyLjA2NGwtMy43NSA0NC4zNzUgNDMuMzc2LTM0LjEyNCA3MiAyMi4yMi0yMi41LTI3LjQwN0wyMzMgNzUuNTYybDI2LjgxMyAyOC40NjggNzEgOS44NDUtMy41LTM0LjQ3IDQxLjQ2OCAxMi42NTctLjkwNS0yMy4zMTJ6bTEuMTU2IDEyMC4wM0wyNzggMTk5LjQ3bDI4LjkwNiA0My4yMTggMy4xNTYgNjQuNDY4TDMzOS4yNSAzMjFsMTEuNDM4LTI4LjM3NSA2Mi42NTYgNDguNjU2TDM5NS43OCAyOTRsNi40MDgtNDguMzQ0LTQzLjc1LTIyLjcyIDEwLjU5My0zNC4xNTV6TTIyMSAxOTIuNDM4bC0zMS41OTQgMjEuMTg4IDM2LjQ3IDE0Ljc4IDE2LjY4Ni0xNC43OEwyMjEgMTkyLjQzN3ptMjIuMTg4IDE0NC42ODhsMTguNjg3IDUyLjU5NCAxOS43OC00Mi41NjQtMzguNDY3LTEwLjAzeiIgZmlsbD0iI2ZmZiIgZmlsbC1vcGFjaXR5PSIxIiB0cmFuc2Zvcm09InRyYW5zbGF0ZSgxMDIuNCwgMTAyLjQpIHNjYWxlKDAuNiwgMC42KSByb3RhdGUoMCwgMjU2LCAyNTYpIj48L3BhdGg+PC9nPjwvc3ZnPg==
$(document).on(':passageend', function (ev) {\n\t/* Scroll to top of new passage */\n\tdocument.getElementById("content-locationbar-spacer-container").scrollTop = 0;\n\t\n\t/* Add function to handle tooltip */\n\tGameUI.setupTooltips();\n});\n\n
window.BackgroundStarfield = {\n\n\tfadeOutAndDoStarfield: function() {\n\t\t$("#starfield").fadeOut(1000,BackgroundStarfield.doStarfield);\n\t},\n\n\t// fadeOutAndDoWormholeBackground: function() {\n\t\t// $("#starfield").fadeOut(1000,BackgroundStarfield.doWormholeBackground);\n\t// },\n\n\tdoStarfield: function() {\n\t\tvar svgStr = '<svg width="100%" height="100%" viewBox="0 0 100 100" preserveAspectRatio="xMidYMid slice" xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink">';\n\n\t\tfor (var n = 0; n < 1000; n++) {\n\t\t\tvar x = randomFloat(0,100);\n\t\t\tvar y = randomFloat(0,100);\n\t\t\tvar s = randomFloat(0.1,0.2);\t/* size */\n\t\t\tvar b = random(32,192);\t\t\t/* brightness */\n\t\t\tsvgStr += '<rect x="'+x+'" y="'+y+'" width="'+s+'" height="'+s+'" style="fill:rgb('+b+','+b+','+b+')"/>';\n\t\t}\n\t\t\n\t\tsvgStr += '</svg>';\n\t\tvar container = document.getElementById("starfield");\n\t\tcontainer.innerHTML = svgStr;\n\t\t\n\t\t$("#starfield").hide();\n\t\t$("#starfield").fadeIn(1000);\n\t}\n\t\n\t// doWormholeBackground: function() {\n\t\t// var svgStr = '<svg width="100%" height="100%" viewBox="0 0 100 100" preserveAspectRatio="xMidYMid slice" xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink">';\n\n\t\t// for (var n = 0; n < 1000; n++) {\n\t\t\t// var x1 = randomFloat(0,100);\n\t\t\t// var y1 = randomFloat(0,100);\n\t\t\t// var b = random(32,192);\n\t\t\t// var len = randomFloat(1,2);\n\t\t\t// var x2 = (x1-50)*len + 50;\n\t\t\t// var y2 = (y1-50)*len + 50;\n\t\t\t\n\t\t\t// svgStr += '<line x1="'+x1+'" y1="'+y1+'" x2="'+x2+'" y2="'+y2+'" style="stroke:rgb('+(b*0.5)+','+(b*0.75)+','+b+'); stroke-width:0.1; stroke-linecap:"round"/>';\n\t\t// }\n\t\t\n\t\t// svgStr += '</svg>';\n\t\t// var container = document.getElementById("starfield");\n\t\t// container.innerHTML = svgStr;\n\t\t\n\t\t// $("#starfield").hide();\n\t\t// $("#starfield").fadeIn(1000);\n\t// }\n\n}\n
window.GameUI = {\n\t\n\tdisplay_main: 0,\n\tdisplay_crew: 1,\n\tdisplay_ship: 2,\n\tdisplay_civs: 3,\n\tdisplay_settings: 4,\n\t\n\tswitchDisplay: function(displayToShow) {\n\t\tif (displayToShow == GameUI.display_main) \t\t{\t$("#passages").show();\t\t\t} else {\t$("#passages").hide();\t\t\t}\n\t\tif (displayToShow == GameUI.display_crew) \t\t{\t$("#crew-display").show();\t\t} else {\t$("#crew-display").hide();\t\t}\n\t\tif (displayToShow == GameUI.display_ship) \t\t{\t$("#ship-display").show();\t\t} else {\t$("#ship-display").hide();\t\t}\n\t\tif (displayToShow == GameUI.display_civs) \t\t{\t$("#civ-display").show();\t\t} else {\t$("#civ-display").hide();\t\t}\n\t\tif (displayToShow == GameUI.display_settings)\t{\t$("#settings-display").show();\t} else {\t$("#settings-display").hide();\t}\n\t\tsetPageElement("menu-bar", "Menu Bar");\n\t\tGameUI.setupTooltips();\n\t},\n\t\n\tsetupTooltips: function() {\n\t\t$(".keyword,.tooltip-zone").mousemove(function(event){\n\t\t\tvar tooltipWidth = $(this).children(".tooltip").first().outerWidth();\n\t\t\tvar tooltipHeight = $(this).children(".tooltip").first().outerHeight();\n\t\t\tvar newX = Math.min(event.pageX+5, $( window ).width() - tooltipWidth );\n\t\t\tvar newY = Math.min(event.pageY+15, $( window ).height() - tooltipHeight );\n\t\t\t$(this).children(".tooltip").first().offset({left: newX, top: newY});\n\t\t});\n\t},\n\t\n\thideAchievementPopup: function() {\n\t\t$("#achievement-popups-area-inner").fadeOut();\n\t},\n\t\n\tselectedDisplay: 0\n\t\n}\n
<h1>Achievements</h1>\n<<set _achievements = recall("achievements", {})>>\n<<for _aName, _aData range Achievements>>\n\t<<set _class = "achievement-box">>\n\t<<if _achievements[_aName]>>\n\t\t<<set _class += " achievement-box-unlocked">>\n\t<<else>>\n\t\t<<set _class += " achievement-box-not-unlocked">>\n\t<</if>>\n\t<div @class="_class">\n\t\t<div class="achievement-box-icon">\n\t\t\t<span class="inline-icon"><<iconWithTooltip _aData.icon _aData.name>></span>\n\t\t</div>\n\t\t<div class="achievement-box-text">\n\t\t\t''<<= _aData.name>>''\n\t\t\t<br>\n\t\t\t<<= _aData.desc>>\n\t\t</div>\n\t\t<<if _achievements[_aName]>>\n\t\t\t<div class="achievement-box-icon" style="text-align: right">\n\t\t\t\t<span class="inline-icon"><<iconWithTooltip confirmed "Unlocked">></span>\n\t\t\t</div>\n\t\t<</if>>\n\t</div>\n<</for>>
/% $args[0] is the string id of the achivement %/\n<<widget unlockAchievement>>\n\t<<if !$sandboxMode>>\n\t\t<<set _achievements = recall("achievements", {})>>\n\t\t<<if !_achievements[$args[0]]>>\n\t\t\t<<set _achievements[$args[0]] = true>>\n\t\t\t<<set $achievementsThisTurn.push($args[0])>>\n\t\t\t<<run memorize("achievements",_achievements)>>\n\t\t\t<<if recall("achievement_notifications",true)>>\n\t\t\t\t<<run $("#achievement-popups-area-inner").fadeIn()>>\n\t\t\t\t<<run setPageElement("achievement-popups-area-inner","Achievement Notifications")>>\n\t\t\t<</if>>\n\t\t<</if>>\n\t\t<<set $gameStats.achievementsThisGame.pushUnique($args[0])>>\n\t<</if>>\n<</widget>>
<<if $achievementsThisTurn.length > 0>>\n\t<div id="achievement-unlock-dismiss-button" class="subtle-icon-link inline-icon-medium">\n\t\t<<link "<img data-passage='cancel' alt='Close'>">>\n\t\t\t<<run $("#achievement-popups-area-inner").fadeOut()>>\n\t\t<</link>>\n\t</div>\n\t<h3>Achievement<<if $achievementsThisTurn.length>1>>s<</if>> Unlocked</h3>\n\t<<for _n = 0; _n < $achievementsThisTurn.length; _n++>>\n\t\t<<set _aData = Achievements[$achievementsThisTurn[_n]]>>\n\t\t<div class="achievement-box achievement-box-unlocked">\n\t\t\t<div class="achievement-box-icon">\n\t\t\t\t<span class="inline-icon"><<iconWithTooltip _aData.icon _aData.name>></span>\n\t\t\t</div>\n\t\t\t<div class="achievement-box-text">\n\t\t\t\t''<<= _aData.name>>''\n\t\t\t\t<br>\n\t\t\t\t<<= _aData.desc>>\n\t\t\t</div>\n\t\t</div>\n\t<</for>>\n\n<</if>>
/% $args[0] is the trait name %/\n<<widget newDiscoveryAchievementCheck>>\n\t<<if $args[0] == "psLifeSubsurfaceOcean">>\n\t\t<<unlockAchievement "subsurface_ocean_life">>\n\t<<elseif $args[0] == "psLifeChemistryCarbon" || $args[0] == "psLifeChemistryHydrocarbon" || $args[0] == "psLifeChemistrySilicon" || $args[0] == "psLifeChemistryPlasma">>\n\t\t<<if $discoveredTraits["psLifeChemistryCarbon"]\n\t\t\t&& $discoveredTraits["psLifeChemistryHydrocarbon"]\n\t\t\t&& $discoveredTraits["psLifeChemistrySilicon"]\n\t\t\t&& $discoveredTraits["psLifeChemistryPlasma"]>>\n\t\t\t<<unlockAchievement "all_life_chemistries">>\n\t\t<</if>>\n\t<</if>>\n<</widget>>
/% $args[0] is the name of the trait being installed %/\n<<widget newUpgradeAchievementCheck>>\n\t<<if $ship.upgrades.includesAll(\n\t\t\t"sUpgradeScannerPlanetNum",\n\t\t\t"sUpgradeScannerSystemHazards",\n\t\t\t"sUpgradeScannerGatewayLife",\n\t\t\t"sUpgradeScannerGatewayExtinctLife",\n\t\t\t"sUpgradeScannerGatewayCiv",\n\t\t\t"sUpgradeScannerGatewayExtinctCiv",\n\t\t\t"sUpgradeScannerGatewayUsed",\n\t\t\t"sUpgradeScannerAtmosphere",\n\t\t\t"sUpgradeScannerTemperature",\n\t\t\t"sUpgradeScannerGravity",\n\t\t\t"sUpgradeScannerLiquid",\n\t\t\t"sUpgradeScannerLife",\n\t\t\t"sUpgradeScannerExtinctLife",\n\t\t\t"sUpgradeScannerCiv",\n\t\t\t"sUpgradeScannerExtinctCiv",\n\t\t\t"sUpgradeScannerMeddlingCiv")>>\n\t\t<<unlockAchievement "all_scanner_upgrades">>\n\t\t<<run setPageElement("achievement-popups-area-inner","Achievement Notifications")>>\n\t<</if>>\n\t<<if $ship.upgrades.includesAll(\n\t\t\t"sUpgradeCrewCapacityPS",\n\t\t\t"sUpgradeCrewCapacityBio",\n\t\t\t"sUpgradeCrewCapacityXeno")>>\n\t\t<<unlockAchievement "all_crew_upgrades">>\n\t\t<<run setPageElement("achievement-popups-area-inner","Achievement Notifications")>>\n\t<</if>>\n\t<<if $ship.upgrades.includesAll(\n\t\t\t"sUpgradeArmourPS",\n\t\t\t"sUpgradeArmourBio",\n\t\t\t"sUpgradeArmourXeno")>>\n\t\t<<unlockAchievement "all_ship_upgrades">>\n\t\t<<run setPageElement("achievement-popups-area-inner","Achievement Notifications")>>\n\t<</if>>\n<</widget>>
<<widget achievementLogInterstellarCivHomeworld>>\n\t<<if $apInterstellarCivHomeworlds>>\n\t\t<<set $apInterstellarCivHomeworlds++>>\n\t<<else>>\n\t\t<<set $apInterstellarCivHomeworlds = 1>>\n\t<</if>>\n\t\n\t<<if $apInterstellarCivHomeworlds >= 5>>\n\t\t<<unlockAchievement "interstellar_civ_homeworlds">>\n\t<</if>>\n<</widget>>
window.Achievements = {\n\tcomplete_game: {\n\t\tname: "A New Age",\n\t\tdesc: "Restore the Chiron Gate",\n\t\ticon: "portal"\n\t},\n\tall_life_chemistries: {\n\t\tname: "Not As We Know It",\n\t\tdesc: "Find life based on four different chemistries in a single game",\n\t\ticon: "parmecia"\n\t},\n\tsubsurface_ocean_life: {\n\t\tname: "Sunless Sea",\n\t\tdesc: "Find life in a subsurface ocean",\n\t\ticon: "algae"\n\t},\n\tinterstellar_civ_homeworlds: {\n\t\tname: "Galactic Community",\n\t\tdesc: "Visit the homeworlds of five interstellar civilisations in a single game",\n\t\ticon: "orbital"\n\t},\n\thigh_level_explorer: {\n\t\tname: "Veteran Explorer",\n\t\tdesc: "Have an explorer reach level five",\n\t\ticon: "rank-2"\n\t},\n\tmax_level_explorer: {\n\t\tname: "Space Hero",\n\t\tdesc: "Have an explorer reach level eight",\n\t\ticon: "rank-3"\n\t},\n\tall_scanner_upgrades: {\n\t\tname: "All-Seeing",\n\t\tdesc: "Have every scanner upgrade in a single game",\n\t\ticon: "radar-dish"\n\t},\n\tall_crew_upgrades: {\n\t\tname: "Home Away from Home",\n\t\tdesc: "Have every crew capacity upgrade in a single game",\n\t\ticon: "habitat-dome"\n\t},\n\tall_ship_upgrades: {\n\t\tname: "Tough Little Ship",\n\t\tdesc: "Have every ship armour upgrade in a single game",\n\t\ticon: "defense-satellite"\n\t},\n\tsame_explorer: {\n\t\tname: "Chosen One",\n\t\tdesc: "Restore the Gate using the same explorer who took the first step onto an extrasolar world",\n\t\ticon: "beams-aura"\n\t},\n\teverybody_lives: {\n\t\tname: "Everybody Lives",\n\t\tdesc: "Restore the Gate without an explorer dying",\n\t\ticon: "party-popper"\n\t},\n\tprime_directive: {\n\t\tname: "Prime Directive",\n\t\tdesc: "Restore the Gate without making contact with a non-spacefaring civilisation",\n\t\ticon: "distress-signal"\n\t},\n\tno_insterstellar_civ_systems: {\n\t\tname: "No Detours",\n\t\tdesc: "Restore the Gate without visiting the home system of any interstellar civilisation besides the Gatebuilders",\n\t\ticon: "slalom"\n\t},\n\tstasis_pod: {\n\t\tname: "Stasis Pod",\n\t\tdesc: "Return to Chiron Base with an explorer in medical stasis",\n\t\ticon: "cryo-chamber"\n\t},\n\tmultiple_negative_traits: {\n\t\tname: "Through the Wringer",\n\t\tdesc: "Return to Chiron Base with a living explorer who is simultaneously injured, depressed, and suffering from radiation sickness and an alien infection",\n\t\ticon: "pummeled"\n\t},\n\tone_survivor: {\n\t\tname: "Crew Expendable",\n\t\tdesc: "Return to Chiron Base after five explorers have died in a single system",\n\t\ticon: "skull-crossed-bones"\n\t},\n\texplorer_left: {\n\t\tname: "A New Home",\n\t\tdesc: "Have an explorer leave the project without dying",\n\t\ticon: "invisible"\n\t},\n\tevent_outcome_romance: {\n\t\tname: "Cupid",\n\t\tdesc: "Have a successful shipboard romance",\n\t\ticon: "lovers"\n\t},\n\tevent_outcome_molten_landing: {\n\t\tname: "Can Stand the Heat",\n\t\tdesc: "Successfully land on a molten world",\n\t\ticon: "fire-wave"\n\t},\n\tevent_outcome_cave_monster: {\n\t\tname: "Jaws of Death",\n\t\tdesc: "Rescue an explorer from a cave monster",\n\t\ticon: "carnivore-mouth"\n\t},\n\tevent_outcome_both_sides: {\n\t\tname: "Balance of Power",\n\t\tdesc: "Arm both sides in a conflict",\n\t\ticon: "ray-gun"\n\t},\n\tevent_outcome_structure_collapse: {\n\t\tname: "The Great Library",\n\t\tdesc: "Stop cultural artefacts from being crushed",\n\t\ticon: "classical-knowledge"\n\t},\n\tevent_outcome_oof_success: {\n\t\tname: "The Warm Equations",\n\t\tdesc: "Have the whole crew make it back to the Gate after running out of fuel",\n\t\ticon: "airtight-hatch"\n\t},\n\tgolden_ending: {\n\t\tname: "Cosmic Enlightenment",\n\t\tdesc: "Go beyond the Gates",\n\t\ticon: "abstract-061"\n\t}\n\t\n}\n
<<set $locationOverride = "Chiron Base">>\n<<set $positionTrait = "xChironBase">>\n\n<<run BackgroundStarfield.fadeOutAndDoStarfield()>>\n/% Delete all civs in civ list that are not interstellar and not discovered, as they now can't be discovered %/\n<<run $civilisations.deleteWith(function(val) { return !val.traits.includes("cDontRemove") && val.knownTraits.length == 0; } )>>\n\n/% Unset variables about current exploration %/\n<<set $planetNumber = -1>>\n<<unset $exploringTrait>>\n\n/% Generate some destinations %/\n/% Always generate 5, then only let the player select from a number based on their upgrades %/\n/% This is because they might upgrade the ship after this passage but before selecting a system %/\n<<if !$gatewayDestinations>>\n\t<<set $gatewayDestinations = []>>\n\t<<for _n = 0; _n < 5; _n++>>\n\t\t<<set $gatewayDestinations.push(StarSystemGenerator.randomSystem($civilisations))>>\n\t<</for>>\n<</if>>\n\n/% Add return-to-base events %/\n/% Most are one-time-only %/\n<<if !$seenFirstBaseReturn>>\n\t<<addEventToQueue "StoryEvent First Base Return" start>>\n<</if>>\n\n<<if $deadCrew.length > 0>>\n\t<<if $deadCrew.length >= 5>>\n\t\t<<unlockAchievement "one_survivor">>\n\t<</if>>\n\t<<if !$seenFirstBaseReturnAfterDeath>>\n\t\t<<addEventToQueue "StoryEvent First Base Return After Death" end>>\n\t<<else>>\n\t\t<<set $memorialCrew = $memorialCrew.concat($deadCrew)>>\n\t\t<<set $deadCrew = []>>\n\t<</if>>\n<</if>>\n\n/% Clear all ship damage %/\n<<set $ship.traits.delete(TraitSets.arShipDamage)>>\n<<set $ship.fuel = 100>>\n\n<<if $wormholeUsesRemaining <= 0 && !$sandboxMode>>\n\t<<addEventToQueue "StoryEvent Return With No Uses Remaining" start>>\n<</if>>\n\n<<if !$seenFirstDestinationChoice>>\n\t<<addEventToQueue "StoryEvent First Destination Choice" end>>\n<</if>>\n\n<<set $discoveriesThisSystem = []>>\n\n<<addEventToQueue "Chiron Base Return 2" end>>\n<<includeNextEvent>>
<<include [[Chiron Base Return Injured Crew]]>>\n<<include [[Chiron Base]]>>
/% Crew members already on life support %/\n<<set $noCrewGameOver = true>>\n\n<<set _output = false>>\n\n<p>\n\n<<if $crewOnLifeSupport.length > 0>>\n\tMedical personnel carefully move\n\t<<if $crewOnLifeSupport.length == 1>>\n\t\t<<nameObj $crewOnLifeSupport[0]>>'s stasis pod\n\t<<else>>\n\t\tthe injured explorers' stasis pods\n\t<</if>>\n\tto Chiron Base's hospital.\n\n\t/% Move crew off life support into the base hospital, so they're available for the next mission %/\n\t<<set $recoveringCrew = $recoveringCrew.concat($crewOnLifeSupport)>>\n\t<<set $crewOnLifeSupport = []>>\n\t<<set _output = true>>\n\t\n\t<<unlockAchievement "stasis_pod">>\n<</if>>\n\n/% Remove crew members with injury etc. traits %/\n<<set _removedCrew = $crew.deleteWith(function(crewMember) { return crewMember.traits.includesAny("eRadiationSickness","eWormholeSickness","eInjured","eAlienInfection","eTerrestrialInfection","eDepressed"); } ) >>\n\n<<if _removedCrew.some(function(crewMember) { return crewMember.traits.includesAll("eRadiationSickness","eInjured","eAlienInfection","eDepressed"); } ) >>\n\t<<unlockAchievement "multiple_negative_traits">>\n<</if>>\n\n/% If only one was removed, output a specific reason. Otherwise, list them and output a generic reason. %/\n<<if _removedCrew.length == 1>>\n\t<<if _removedCrew[0].traits.includes("eRadiationSickness")>>\n\t\tMedics take <<nameObj _removedCrew[0]>> to Chiron Base's hospital to treat <<hisherObj _removedCrew[0]>> radiation sickness.\n\t<<elseif _removedCrew[0].traits.includes("eWormholeSickness")>>\n\t\t<<nameObj _removedCrew[0]>> is still suffering from wormhole sickness, and reports to the base hospital.\n\t<<elseif _removedCrew[0].traits.includes("eInjured")>>\n\t\t<<nameObj _removedCrew[0]>> reports to the base hospital to deal with the injury <<hesheObj _removedCrew[0]>> received during the mission.\n\t<<elseif _removedCrew[0].traits.includes("eAlienInfection")>>\n\t\tMedics quarantine <<nameObj _removedCrew[0]>> in a sealed ward of Chiron Base's hospital in order to treat <<hisherObj _removedCrew[0]>> alien infection.\n\t<<elseif _removedCrew[0].traits.includes("eTerrestrialInfection")>>\n\t\t<<nameObj _removedCrew[0]>> reports to the base hospital to have <<hisherObj _removedCrew[0]>> terrestrial infection treated.\n\t<<elseif _removedCrew[0].traits.includes("eDepressed")>>\n\t\t<<nameObj _removedCrew[0]>> is still depressed after the events of the mission, and decides to take some time off to have therapy.\n\t<</if>>\n<<elseif _removedCrew.length > 1>>\n\t<<for _n = 0; _n < _removedCrew.length; _n++>>\n\t\t<<if _n < _removedCrew.length-2>>\n\t\t\t<<nameObj _removedCrew[_n]>>,\n\t\t<<elseif _n == _removedCrew.length-2>>\n\t\t\t<<nameObj _removedCrew[_n]>> and\n\t\t<<else>>\n\t\t\t<<nameObj _removedCrew[_n]>>\n\t\t<</if>>\n\t<</for>>\n\treport to Chiron Base's hospital wing to deal with the consequences of the mission.\n<</if>>\n\n</p>\n<p>\n\n/% Reduce recovering crew's statuses by one level %/\n<<for _n = 0; _n < $recoveringCrew.length; _n++>>\n\t<<if $recoveringCrew[_n].traits.includes("eRadiationSickness")>>\n\t\t<<set $recoveringCrew[_n].traits.deleteAt($recoveringCrew[_n].traits.indexOf("eRadiationSickness"))>>\n\t<</if>>\n\t<<if $recoveringCrew[_n].traits.includes("eWormholeSickness")>>\n\t\t<<set $recoveringCrew[_n].traits.deleteAt($recoveringCrew[_n].traits.indexOf("eWormholeSickness"))>>\n\t<</if>>\n\t<<if $recoveringCrew[_n].traits.includes("eInjured")>>\n\t\t<<set $recoveringCrew[_n].traits.deleteAt($recoveringCrew[_n].traits.indexOf("eInjured"))>>\n\t<</if>>\n\t<<if $recoveringCrew[_n].traits.includes("eAlienInfection")>>\n\t\t<<set $recoveringCrew[_n].traits.deleteAt($recoveringCrew[_n].traits.indexOf("eAlienInfection"))>>\n\t<</if>>\n\t<<if $recoveringCrew[_n].traits.includes("eTerrestrialInfection")>>\n\t\t<<set $recoveringCrew[_n].traits.deleteAt($recoveringCrew[_n].traits.indexOf("eTerrestrialInfection"))>>\n\t<</if>>\n\t<<if $recoveringCrew[_n].traits.includes("eDepressed")>>\n\t\t<<set $recoveringCrew[_n].traits.deleteAt($recoveringCrew[_n].traits.indexOf("eDepressed"))>>\n\t<</if>>\n<</for>>\n/% Get any fully recovered crew members and add them back to the crew pool %/\n<<set _recoveredCrew = $recoveringCrew.deleteWith(function(crewMember) { return !crewMember.traits.includesAny("eRadiationSickness","eWormholeSickness","eInjured","eAlienInfection","eTerrestrialInfection","eDepressed"); } ) >>\n\n<<if _recoveredCrew.length == 1>>\n\t<<nameObj _recoveredCrew[0]>> has fully recovered and is available for the next mission.\n<<elseif _recoveredCrew.length > 1>>\n\t<<for _n = 0; _n < _recoveredCrew.length; _n++>>\n\t\t<<if _n < _recoveredCrew.length-2>>\n\t\t\t<<nameObj _recoveredCrew[_n]>>,\n\t\t<<elseif _n == _recoveredCrew.length-2>>\n\t\t\t<<nameObj _recoveredCrew[_n]>> and\n\t\t<<else>>\n\t\t\t<<nameObj _recoveredCrew[_n]>>\n\t\t<</if>>\n\t<</for>>\n\thave fully recovered and are available for the next mission.\n<</if>>\n\n<<set $recoveringCrew = $recoveringCrew.concat(_removedCrew)>>\n<<set $crewPool = $crewPool.concat(_recoveredCrew)>>\n</p>
/% Re-populate crew pool - must happen after dealing with injured crew members %/\n/%<<include [[Repopulate Crew Pool]]>>%/\n<<include "Chiron Base">>
<<set $locationOverride = "Chiron Base">>\n<<set $chironBaseMenuButtons = true>>\n<<set $eventTitle = "">>\n\n<p>The <<shipName>> orbits within Chiron Base, a cluster of space habitats orbiting the asteroid 2060 Chiron.\n\nPotential crew members await selection in the @@.desc-explorable-trait;[[crew quarters|Chiron Base Select Crew]]@@, while the scientists and engineers in the @@.desc-explorable-trait;[[R&D lab|Chiron Base Upgrade Ship]]@@ work on new technologies using the data that the <<shipName>> has recovered.\n\n<<if $memorialCrew.length > 0>>\n\tOne floating habitat has been set aside as a @@.desc-explorable-trait;[[memorial|Chiron Base Memorial]]@@ to the explorers who have lost their lives on previous missions.\n<<elseif $retiredCrew.length > 0>>\n\tChiron Base includes a @@.desc-explorable-trait;[[plaque|Chiron Base Memorial]]@@ recognising the explorers who are no longer part of the project.\n<</if>>\n</p>\n<p>\n<<if $seenFirstDestinationChoice>>\n\tAt the heart of the base, the asteroid has been excavated to reveal the flickering blue ring of the @@.desc-explorable-trait;[[Chiron Gate|Chiron Base Choose Destination]]@@.\n<<else>>\n\tAt the heart of the base, the asteroid has been excavated to reveal the flickering blue ring of the @@.desc-explorable-trait;[[Chiron Gate|StoryEvent First Destination Choice]]@@.\n<</if>>\n</p>
window.CrewBios = {\n\t\n\t\n\tgenerate: function(crewMember) {\n\t\t\n\t\t/* Pilot/engineer/medic: */\n\t\t/* 0: worked on particular kind of ship */\n\t\t/* 1: worked on exploration missions */\n\t\t/* 2: did something notable */\n\t\t/* 3: part of a research/engineering/etc. group */\n\t\t/* 4: helped develop the player ship */\n\t\t/* 5: won an award/competition */\n\t\t/* 6: Earth Restoration Project */\n\t\t/* 7: Mars Terraforming Project */\n\t\t\n\t\t\n\t\tif (crewMember.traits.includes("ePilot")) {\n\t\t\tvar r = random(0,7);\n\t\t\tswitch (r) {\n\t\t\t\tcase 0:\t\treturn "An experienced "+oneOf(CrewBios.spaceships)+" pilot.";\n\t\t\t\tcase 1:\t\treturn "Piloted the first crewed missions to several "+oneOf(CrewBios.pioneerDestinations)+"."\n\t\t\t\tcase 2:\t\treturn "Famous for safely landing a critically damaged "+oneOf(CrewBios.spaceships)+".";\n\t\t\t\tcase 3:\t\treturn "Test pilot for the "+oneOf(CrewBios.academicGroupPrefixes)+" "+oneOf(CrewBios.shipDevelopmentAreas)+" "+oneOf(CrewBios.academicGroups)+".";\n\t\t\t\tcase 4:\t\treturn "Test pilot for early prototypes of the "+TextUtils.shipName()+".";\n\t\t\t\tcase 5:\t\treturn "Piloted the ship that won the "+random(2240,2260)+" "+oneOf(CrewBios.spaceCompetitions)+".";\n\t\t\t\tcase 6:\t\treturn "Flew "+oneOf("supply","rescue","survey","tranport","research")+" ships for the Earth Restoration Project.";\n\t\t\t\tcase 7:\t\treturn "Flew "+oneOf("supply","rescue","survey","tranport","research")+" ships for the Mars Terraforming Project.";\n\n\t\t\t}\n\t\t} else if (crewMember.traits.includes("eEngineer")) {\n\t\t\tvar r = random(0,7);\n\t\t\tswitch (r) {\n\t\t\t\tcase 0:\t\treturn "An experienced "+oneOf(CrewBios.spaceships)+" engineer.";\n\t\t\t\tcase 1:\t\treturn "Engineer on the first crewed missions to several "+oneOf(CrewBios.pioneerDestinations)+".";\n\t\t\t\tcase 2:\t\treturn "Helped to design the "+oneOf(CrewBios.shipSystems)+" used on most modern ships.";\n\t\t\t\tcase 3:\t\treturn "Engineer for the "+oneOf(CrewBios.academicGroupPrefixes)+" "+oneOf(CrewBios.shipDevelopmentAreas)+" "+oneOf(CrewBios.academicGroups)+".";\n\t\t\t\tcase 4:\t\treturn "Helped to design the "+TextUtils.shipName()+"'s "+oneOf(CrewBios.shipSystems)+".";\n\t\t\t\tcase 5:\t\treturn "Built the ship that won the "+random(2240,2260)+" "+oneOf(CrewBios.spaceCompetitions)+".";\n\t\t\t\tcase 6:\t\treturn oneOf("Built","Designed","Maintained")+" "+oneOf("carbon capture systems","geo-engineering installations","storm shelters","hostile environment habitats","surface-to-orbit transports","orbital observation stations","re-seeding drones","decontamination equipment","environment suits","radiation suits")+" for the Earth Restoration Project.";\n\t\t\t\tcase 7:\t\treturn oneOf("Built","Designed","Maintained")+" "+oneOf("surface vehicles","geo-engineering installations","drilling equipment","life support systems","environment suits","science equipment","surface-to-orbit shuttles","underground habitats","heavy-duty fabricators","atmosphere processors")+" for the Mars Terraforming Project.";\n\n\t\t\t}\n\t\t} else if (crewMember.traits.includes("eMedic")) {\n\t\t\tvar r = random(0,6);\n\t\t\tswitch (r) {\n\t\t\t\tcase 0:\t\treturn "An experienced "+oneOf(CrewBios.spaceships)+" doctor.";\n\t\t\t\tcase 1:\t\treturn "Served as ship's doctor on the first crewed missions to several "+oneOf(CrewBios.pioneerDestinations)+"."\n\t\t\t\tcase 2:\t\treturn "Helped to cure an epidemic on "+oneOf(CrewBios.inhabitedPlanets)+".";\n\t\t\t\tcase 3:\t\treturn "Leading member of the "+oneOf(CrewBios.academicGroupPrefixes)+" "+oneOf("Medical","Medical Research")+" "+oneOf(CrewBios.academicGroups)+".";\n\t\t\t\tcase 4:\t\treturn "Helped to design the "+TextUtils.shipName()+"'s "+oneOf("medbay","medical fabricator","medical scanners","life support system")+".";\n\t\t\t\tcase 5:\t\treturn oneOf("Field medic","Developed anti-radiation treatments","Worked in disease control","Medical researcher","Helped to rebuild hospitals")+" for the Earth Restoration Project.";\n\t\t\t\tcase 6:\t\treturn oneOf("Field medic","Developed low-gravity adaptation treatments","Worked in disease control","Medical researcher","Helped to set up hospitals")+" for the Mars Terraforming Project.";\n\n\t\t\t}\n\n\n\t\t/* Scientists: */\n\t\t/* 0: published a notable book/article */\n\t\t/* 1: university professor */\n\t\t/* 2: won an award */\n\t\t/* 3: leading member of an academic organisation */\n\t\t/* 4: helped develop the player ship */\n\t\t/* 5: scientist on exploration missions */\n\t\t/* 6: Earth Restoration Project */\n\t\t/* 7: Mars Terraforming Project */\n\t\t\n\t\t} else if (crewMember.traits.includes("ePlanetaryScientist")) {\n\t\t\tswitch(random(0,7)) {\n\t\t\t\tcase 0:\t\treturn "Published "+oneOf("an influential book","several influential papers")+" on "+oneOf(CrewBios.planetaryScienceAreas)+".";\n\t\t\t\tcase 1:\t\treturn "Professor of "+oneOf(CrewBios.planetaryScienceAreas)+" at "+oneOf(CrewBios.universities)+".";\n\t\t\t\tcase 2:\t\treturn "Won a major prize for "+TextUtils.hisher(crewMember)+" work in "+oneOf(CrewBios.planetaryScienceAreas)+".";\n\t\t\t\tcase 3:\t\treturn "Leading member of the "+oneOf(CrewBios.academicGroupPrefixes)+" "+oneOf(CrewBios.planetaryScienceAreas)+" "+oneOf(CrewBios.academicGroups)+".";\n\t\t\t\tcase 4:\t\treturn "Helped to design the "+TextUtils.shipName()+"'s "+oneOf("planetary scanners","interplanetary engine","landing engine","radiation shielding","power plant")+".";\n\t\t\t\tcase 5:\t\treturn "Scientist on the first crewed missions to several "+oneOf(CrewBios.pioneerDestinations)+"."\n\t\t\t\tcase 6:\t\treturn oneOf("Climate modeller","Ocean surveyor","Field researcher","Developed geo-engineering technology","Developed carbon capture technology")+" for the Earth Restoration Project.";\n\t\t\t\tcase 7:\t\treturn oneOf("Climate modeller","Surveyor","Field researcher","Areologist","Atmospheric chemist")+" for the Mars Terraforming Project.";\n\t\t\t\t\n\t\t\t}\n\t\t} else if (crewMember.traits.includes("eBiologist")) {\n\t\t\tswitch(random(0,6)) {\n\t\t\t\tcase 0:\t\treturn "Published "+oneOf("an influential book","several influential papers")+" on "+oneOf(CrewBios.biologyAreas)+".";\n\t\t\t\tcase 1:\t\treturn "Professor of "+oneOf(CrewBios.biologyAreas)+" at "+oneOf(CrewBios.universities)+".";\n\t\t\t\tcase 2:\t\treturn "Won a major prize for "+TextUtils.hisher(crewMember)+" work in "+oneOf(CrewBios.biologyAreas)+".";\n\t\t\t\tcase 3:\t\treturn "Leading member of the "+oneOf(CrewBios.academicGroupPrefixes)+" "+oneOf(CrewBios.biologyAreas)+" "+oneOf(CrewBios.academicGroups)+".";\n\t\t\t\tcase 4:\t\treturn "Helped to design the "+TextUtils.shipName()+"'s "+oneOf("life support system","medbay","medical fabricator","biolab","EVA suits")+".";\n\t\t\t\tcase 5:\t\treturn oneOf("Recreated previously extinct species","Bio-engineer","Engineered carbon-capture microbes","Field researcher","Engineered heat-resistant plants")+" for the Earth Restoration Project.";\n\t\t\t\tcase 6:\t\treturn oneOf("Developed Mars-adapted plants","Developed Mars-adapted microbes","Developed organic life support technology","Field researcher","Biological development modeller")+" for the Mars Terraforming Project.";\n\t\t\t}\n\t\t} else if (crewMember.traits.includes("eXenologist")) {\n\t\t\tswitch(random(0,6)) {\n\t\t\t\tcase 0:\t\treturn "Published "+oneOf("an influential book","several influential papers")+" on "+oneOf(CrewBios.xenologyAreas)+".";\n\t\t\t\tcase 1:\t\treturn "Professor of "+oneOf(CrewBios.xenologyAreas)+" at "+oneOf(CrewBios.universities)+".";\n\t\t\t\tcase 2:\t\treturn "Won a major prize for "+TextUtils.hisher(crewMember)+" work in "+oneOf(CrewBios.xenologyAreas)+".";\n\t\t\t\tcase 3:\t\treturn "Leading member of the "+oneOf(CrewBios.academicGroupPrefixes)+" "+oneOf(CrewBios.xenologyAreas)+" "+oneOf(CrewBios.academicGroups)+".";\n\t\t\t\tcase 4:\t\treturn "Helped to design the "+TextUtils.shipName()+"'s "+oneOf("alien contact protocols","linguistic database","information plaque","cultural database","communications system")+".";\n\t\t\t\tcase 5:\t\treturn oneOf("Studied pre-Anthropocene ruins","Reconstructed extinct languages","Planned city restoration","Restored pre-Anthropocene cultural artefacts","Historian")+" for the Earth Restoration Project.";\n\t\t\t\tcase 6:\t\treturn oneOf("Settlement planner","Studied new Martian subcultures","Developed societal prediction models","Chronicler","Psychologist")+" for the Mars Terraforming Project.";\n\t\t\t}\n\t\t} else {\n\t\t\treturn "(No class trait)";\n\t\t\t\n\t\t}\n\t},\n\tspaceships: [\n\t\t"passenger transport",\n\t\t"cargo hauler",\n\t\t"mining ship",\n\t\t"survey ship",\n\t\t"science ship",\n\t\t"hospital ship",\n\t\t"courier ship",\n\t\t"rescue ship"\n\t],\n\tpioneerDestinations: [\n\t\t"main belt asteroids",\n\t\t"Trojan asteroids",\n\t\t"Earth-crossing asteroids",\n\t\t"Kuiper Belt objects",\n\t\t"minor gas giant moons"\n\t],\n\tshipSystems: [\n\t\t"interplanetary drive",\n\t\t"landing engine",\n\t\t"air recycler",\n\t\t"fabricator",\n\t\t"EVA suits",\n\t\t"power plant",\n\t\t"solar panel",\n\t\t"radiation shielding",\n\t\t"navigation system",\n\t\t"piloting system"\n\t],\n\t/* e.g. the Interplanetary ____ Group */\n\tshipDevelopmentAreas: [\n\t\t"Propulsion",\n\t\t"Navigation",\n\t\t"Astro-Engineering",\n\t\t"Spaceship Development",\n\t\t"Space Habitation"\n\t],\n\tspaceCompetitions: [\n\t\t"Circum-Lunar Grand Prix",\n\t\t"Saturnian Ring Race",\n\t\t"Cross-System Endurance Contest",\n\t\t"Martian Regatta"\n\t],\n\tacademicGroupPrefixes: [\n\t\t"Global",\n\t\t"Interplanetary",\n\t\t"Lunar",\n\t\t"Martian",\n\t\t"Ganymede"\n\t],\n\tacademicGroups: [\n\t\t"Society",\n\t\t"Institute",\n\t\t"Association",\n\t\t"Research Group"\n\t],\n\t\n\tuniversities: [\n\t\t"Svalbard University",\n\t\t"Norilsk University",\n\t\t"the Anchorage Institute of Technology",\n\t\t"McMurdo City University",\n\t\t"the University of Earth Orbit",\n\t\t"the Lunar Institute of Technology",\n\t\t"Valles Marineris University",\n\t\t"the University of Hellas Planitia",\n\t\t"the Phobos Research Institute",\n\t\t"the University of Ganymede",\n\t],\n\tengineeringAreas: [\n\t\t"Cybernetics",\n\t\t"Engineering",\n\t\t"Propulsion",\n\t\t"Robotics",\n\t],\n\tplanetaryScienceAreas: [\n\t\t"Areology",\n\t\t"Astrogeology",\n\t\t"Astrophysics",\n\t\t"Climatology",\n\t\t"Geology",\n\t\t"Geomorphology",\n\t\t"Heliology",\n\t\t"Hydrogeology",\n\t\t"Meteorology",\n\t\t"Oceanology",\n\t\t"Paleoclimatology",\n\t\t"Paleoecology",\n\t\t"Radiology",\n\t\t"Selenology",\n\t\t"Volcanology"\n\t],\n\tbiologyAreas: [\n\t\t"Astrobiology",\n\t\t"Bacteriology",\n\t\t"Bioecology",\n\t\t"Biology",\n\t\t"Biochemistry",\n\t\t"Biophysics",\n\t\t"Computational Biology",\n\t\t"Ecology",\n\t\t"Marine Biology",\n\t\t"Microbiology",\n\t\t"Molecular Biology",\n\t\t"Mycology",\n\t\t"Paleontology",\n\t\t"Theoretical Biology",\n\t\t"Xenobiology"\n\t],\n\txenologyAreas: [\n\t\t"Anthropology",\n\t\t"Comparative Linguistics",\n\t\t"Comparative Religion",\n\t\t"Computational Linguistics",\n\t\t"Ethnology",\n\t\t"Historical Linguistics",\n\t\t"History",\n\t\t"Linguistics",\n\t\t"Palaeoarchaeology",\n\t\t"Pre-Anthropocene History",\n\t\t"Psychology",\n\t\t"Psycholinguistics",\n\t\t"Sociolinguistics",\n\t\t"Sociology",\n\t\t"Theoretical Xenology"\n\t],\n\tinhabitedPlanets: [\n\t\t"Earth",\n\t\t"Luna",\n\t\t"Mars",\n\t\t"Ganymede",\n\t\t"Ceres"\n\t],\n\tplanets: [\n\t\t"Mercury",\n\t\t"Venus",\n\t\t"Luna",\n\t\t"Mars",\n\t\t"Jupiter",\n\t\t\t"Io",\n\t\t\t"Europa",\n\t\t\t"Ganymede",\n\t\t\t"Callisto",\n\t\t"Saturn",\n\t\t\t"Titan",\n\t\t"Uranus",\n\t\t"Neptune"\n\t],\n\tplanetAdjectives: [\n\t\t"Mercurian",\n\t\t"Venusian",\n\t\t"Lunar",\n\t\t"Martian",\n\t\t"Jovian",\n\t\t\t"Ionian",\n\t\t\t"Europan",\n\t\t\t"Ganymedean",\n\t\t\t"Callistan",\n\t\t"Saturnian",\n\t\t\t"Titanic",\n\t\t"Uranian",\n\t\t"Neptunian"\n\t]\n}\n\n
/* Names from www.behindthename.com */\n\nwindow.CrewNameSets = {\n\t/*\n\tblank: {\n\t\tlastNames: ["","","","",""],\n\t\tmaleNames: ["","","","",""],\n\t\tunisexNames: ["","","","",""],\n\t\tfemaleNames: ["","","","",""],\n\t},\n\t*/\n\t\n\tnameLists: [\n\t\t\t\t"arabic","arabic",\n\t\t\t\t"chinese","chinese","chinese",\n\t\t\t\t"czech",\n\t\t\t\t"dutch",\n\t\t\t\t"east_african","east_african","east_african",\n\t\t\t\t"english","english",\n\t\t\t\t"estonian",\n\t\t\t\t"french",\n\t\t\t\t"german",\n\t\t\t\t"greek",\n\t\t\t\t"icelandic",\n\t\t\t\t"indian","indian","indian",\n\t\t\t\t"italian",\n\t\t\t\t"japanese",\n\t\t\t\t"korean",\n\t\t\t\t"native_american",\n\t\t\t\t"polish",\n\t\t\t\t"russian","russian",\n\t\t\t\t"scandinavian",\n\t\t\t\t"spanish",\n\t\t\t\t"ukrainian",\n\t\t\t\t"west_african","west_african","west_african"\n\t\t\t\t],\n\tchinese: {\n\t\treverseOrder: true,\n\t\tlastNames: ["Bai","Chai","Chen","Du","Fan","Guan","Guo","Han","Hou","Hsu","Hu","Huang","Jiang","Jin","Kuang","Kwan","Kwok","Lam","Lau","Liu","Li","Liao","Lim","Lin","Ma","Ng","Pan","Ren","Ruan","Song","Sun","Sung","Tang","Wang","Wen","Wong","Wu","Xu","Xun","Yang","Yeung","Yu","Yuan","Zhang","Zhao","Zheng","Zhou","Zhu"],\n\t\tmaleNames: ["Dong","Gang","Jiahao","Jianhong","Qiang","Tao"],\n\t\tunisexNames: ["Ah","An","Bai","Bao","Bo","Chang","Chao","Cheng","Chun","Fang","Fen","Fu","Guiying","Hai","Hai","Huan","Huang","Jia","Jian","Jin","Jing","Jingyi","Jun","Kun","Lan","Lei","Li","Lin","Min","Ning","Shi","Qiu","Shi","Shui","Wei","Wen","Wu","Xia","Xiang","Xue","Yan","Yang","Zedong","Zheng","Zhi","Zhihao","Zhong","Zhou"],\n\t\tfemaleNames: ["Mei","Ning","Xiu","Xiulan","Xiuying","Yaling"]\n\t},\n\tjapanese: {\n\t\treverseOrder: true,\n\t\tlastNames: ["Akiyama","Amano","Aoki","Fujimori","Fujimoto","Hamasaki","Hashimoto","Hayashi","Himura","Hoshino","Ikeda","Ishida","Ishikawa","Ito","Kanzaki","Kato","Kawakami","Kawasaki","Kimura","Kobayashi","Kubo","Kuroki","Maki","Miyamoto","Mori","Morimoto","Ogawa","Takahashi","Tanaka","Watanabe","Yamazaki"],\n\t\tmaleNames: ["Atsushi","Daichi","Daisuke","Hachiro","Fumihito","Hedeaki","Hideyoshi","Ichiro","Itsuki","Jiro","Kenzo","Noburu","Saburo","Shin","Takeshi","Yamato"],\n\t\tunisexNames: ["Aoi","Asuka","Chihiro","Hakura","Hikaru","Makoto","Ren","Rin","Yori"],\n\t\tfemaleNames: ["Ai","Akane","Ayame","Fuyoko","Hanako","Hiroko","Hitomi","Hoshi","Izumi","Kaori","Kasumi","Kimiko","Kyoko","Masako","Mei","Midori","Yumiko"]\n\t},\n\tkorean: {\n\t\treverseOrder: true,\n\t\tlastNames: ["Cho","Choi","Chung","Gang","Han","Jung","Kang","Kim","Lee","Moon","Park","Rhee","Song","Yi","Yun"],\n\t\tmaleNames: ["Byeong-Ho","Dae-Jung","Dae-Seong","Il-Seong","Jae-Seong","Jeong-Ho","Ji-Hun","Jong-Su","Jun-Ho","Seong-Ho"],\n\t\tunisexNames: ["Gyeong","Hwan","Hyeon","Ji-Min","Ji-Yeong","Jun","Ju-Won","Min","Myeong","Sang","Yong"],\n\t\tfemaleNames: ["Chae-Won","Chae-Yeong","Eun-Jeong","Ha-yun","Hye-Jin","Jeong-Suk","Min-Ji","Seo-Yeon"],\n\t},\n\tarabic: {\n\t\tlastNames: ["Abbas","Abdullah","Ahmad","Al-Amin","Al-Hashim","Hakim","Karim","Najjar","Qadir","Samara","Saqqaf","Zaman"],\n\t\tmaleNames: ["Aamir","Abdul","Aziz","Dawud","Fadil","Fareed","Hamid","Haroun","Ibrahim","Imam","Irfan","Ismail","Jamil","Mahmud","Muhammad","Sayyid","Talib","Tariq"],\n\t\tunisexNames: ["Farah","Karam","Noor","Sabah"],\n\t\tfemaleNames: ["Aaliyah","Aida","Aisha","Fatima","Haifa","Jalila","Jamila","Latifa","Layla","Muna","Nada","Raabi'a","Raisa","Sa'adah","Shahira","Sharazad","Yasmin","Zakiyya"]\n\t},\n\tindian: {\n\t\tlastNames: ["Anand","Banerjee","Battacharya","Chaudhary","Gupta","Joshi","Kaur","Khan","Kumar","Mishra","Nagarkar","Patel","Sharma","Singh","Zaman"],\n\t\tmaleNames: ["Abhijit","Ajit","Akshay","Arif","Dev","Dipak","Ganesh","Hari","Harsha","Jagdish","Javed","Mahesh","Nagendra","Nirav","Prabhat","Pradip","Qasim","Rahul","Ramachandra","Sharma","Suresh","Vijay","Vikram","Vishal","Vivek"],\n\t\tunisexNames: ["Chandra","Durga","Gurdeep","Hira","Jaya","Madhu","Manjeet","Narinder","Parminder","Suman"],\n\t\tfemaleNames: ["Aiza","Akanksha","Amala","Anita","Devi","Diksha","Gargi","Ila","Indira","Ishani","Kala","Kamini","Lila","Mina","Nazia","Samira","Saraswati","Sarika","Shazia","Sima","Sunita","Tahmina","Uma","Vidya","Zarina"]\n\t},\n\teast_african: {\n\t\tlastNames: ["Kamau","Kahinu","Kariuki","Luyimbazi","Magondu","Maina","Melaku","Mwangi","Otieno","Tedros","Tesfamariam"],\n\t\tmaleNames: ["Bontu","Dawit","Faraji","Ifa","Jengo","Kamau","Kibwe","Kato","Mibiru","Mwangi","Omondi","Tafari","Zuberi"],\n\t\tunisexNames: ["Alemayehu","Axmed","Berhane","Businge","Desta","Imani","Makena"],\n\t\tfemaleNames: ["Abeba","Amondi","Asha","Babirye","Imani","Mumbi","Nia","Wangari","Wanjiru","Xaliima","Zuri"]\n\t},\n\twest_african: {\n\t\tlastNames: ["Afolayan","Ayodele","Idowu","Ihejirika","Kayode","Okafor","Okeke","Okonkwo","Okorie","Olayinka","Opeyemi","Temitope"],\n\t\tmaleNames: ["Abioye","Adegoke","Amadi","Chidike","Emeka","Ikenna","Kayode","Kofi","Monifa","Nnamdi","Okoro"],\n\t\tunisexNames: ["Adedayo","Akachi","Akpofure","Anan","Ayo","Chi","Chibuike","Chinwe","Dayo","Dubaku","Emem","Eniola","Idowu","Kunto","Ngozi","Nsonowa","Nwanneka","Obi","Oluchi","Ufuoma","Uzoma"],\n\t\tfemaleNames: ["Adannaya","Akosua","Aminata","Chiamaka","Ebele","Fatimata","Nkechi","Nneka","Nkiru"]\n\t},\n\testonian: {\n\t\tlastNames: ["Heinsoo","Ilves","Kask","Koppel","Laine","Mägi","Pärn","Saar","Sepp","Tamm"],\n\t\tmaleNames: ["Athi","Aleksander","Allan","Enn","Eerik","Einar","Erik","Hendrik","Kalev","Kalle","Kaspar","Margus","Ragnar","Viktor"],\n\t\tunisexNames: [],\n\t\tfemaleNames: ["Agnes","Aino","Elina","Helve","Hilja","Kaia","Kristi","Maarika","Riina","Siiri","Taimi","Tuuli"]\n\t},\n\tfrench: {\n\t\tlastNames: ["Arnaud","Augustin","Babin","Beaufort","Beaumont","Bouchard","Charpentier","Chevalier","Clément","D'Aramitz","Delacroix","Deschamps","Desroches","Dubois","Dupont","Durant","Favreau","Fontaine","Fortier","Gardinier","Girard","Gosselin","Lachance","Lefebvre","Léon","Martel","Moreau","Paget","Paquet","Pascal","Perrault","Renaud","Rousseau","Sauvage","Séverin","Tasse","Thayer","Villeneuve"],\n\t\tmaleNames: ["Adrien","Alain","Albert","Aldric","André","Armand","Casimir","Charles","Constant","Damien","David","Denis","Édouard","Émile","Étienne","Fabien","Fernand","Francis","Fulbert","Gaston","Gérard","Hector","Henri","Jean","Jean-Baptiste","Jean-Claude","Jean-Michel","Jules","Lionel","Louis","Marc","Marcel","Mathieu","Maurice","Michel","Pascal","Pierre","Quentin","René","Sébastien","Thierry","Tristan","Valérian","Victor","Xavier"],\n\t\tunisexNames: ["Camille","Dominique"],\n\t\tfemaleNames: ["Adèle","Alexia","Amélie","Angeline","Ariane","Aurore","Bernadette","Cécile","Charlotte","Claudette","Cosette","Diane","Émeline","Estelle","Eugénie","Fabienne","Florence","Geneviève","Giselle","Hélène","Irène","Isabelle","Jacinthe","Jeannine","Jocelyn","Joséphine","Julienne","Louise","Madeline","Magali","Margot","Marie","Marie-Louise","Marthe","Mélodie","Michèle","Mirielle","Nadine","Nicole","Pauline","Régine","Roxanne","Sabine","Sophie","Valérie","Yvonne"]\n\t},\n\tgerman: {\n\t\tlastNames: ["Ackermann","Adler","Bachmann","Bader","Bauer","Baumgartner","Bayer","Beck","Becker","Behringer","Berg","Bergmann","Blum","Böhm","Bösch","Brandt","Braun","Dreyer","Ebner","Essert","Fischer","Fuchs","Gehring","Geissler","Goldschmidt","Gottlieb","Gross","Gruber","Hahn","Hass","Hauer","Herschel","Hoffmann","Holzmann","Jäger","Kästner","Kaufmann","Kirchner","Köhler","Kurzmann","Landau","Lehr","Linden","Mandel","Meyer","Morgenstern","Müller","Neumann","Oberst","Pabst","Pohl","Rapp","Reuter","Richter","Sauer","Schmidt","Schreiber","Schultz","Schwarz","Siegel","Spellmeyer","Stern","Stück","Teufel","Vogel","Weiss","Wendel","Ziegler","Zimmermann"],\n\t\tmaleNames: ["Albrecht","Anselm","Anton","Arndt","Axel","Bastian","Bernd","Berthold","Bertram","Carl","Conrad","Dietrich","Dominik","Eckart","Emmerich","Ernst","Fabian","Franz","Friedrich","Fritz","Gabriel","Gerhard","Gottfried","Günther","Hans","Heinrich","Helmut","Joachim","Johannes","Karl","Konrad","Ludwig","Matthias","Otto","Rainer","Siegfried","Ulrich","Wolf","Wolfgang"],\n\t\tunisexNames: [],\n\t\tfemaleNames: ["Ada","Adelheid","Ariane","Beatrix","Carla","Clara","Dagmar","Dana","Edith","Elena","Elise","Else","Emma","Esther","Flora","Franziska","Gerhild","Gisela","Greta","Gretchen","Hanna","Hedwig","Heidi","Helena","Henrike","Hilda","Hildegard","Ida","Ilse","Inga","Ingrid","Johanna","Juliane","Karla","Kathrin","Kristina","Linda","Lisa","Lotte","Magda","Marta","Nadja","Nikola","Paula","Renate","Rita","Sieglinde","Sonja","Stella","Sylvia","Theresa","Ulrike","Valeria","Wanda","Yvonne"],\n\t},\n\tspanish: {\n\t\tlastNames: ["Acosta","Agua","Álvarez","Arenas","Arreola","Banderas","Bautista","Benítez","Cabrera","Campana","Chávez","Cortez","Cruz","Díaz","Echeverría","Espinoza","Fernández","Fierro","Flores","García","González","Gutiérrez","Hernández","Huerta","Iglesias","López","Martínez","Medina","Mendoza","Méndez","Molina","Morales","Navarro","Olmos","Ortega","Ortiz","Pérez","Ramírez","Rodríguez","Romero","Sánchez","Santiago","Torres","Valdez","Vásquez"],\n\t\tmaleNames: ["Alejandro","Alonso","Antonio","Baltasar","Bautista","Bernadro","Carlos","César","Che","Conrado","Diego","Domingo","Edmundo","Eduardo","Enrique","Ernesto","Fabio","Felipe","Fernando","Gabriel","Gonzalo","Javier","José","Juan","Juan Carlos","Lorenzo","Manuel","Marcos","Pablo","Pancho","Ramiro","Raúl","Ricardo","Rodrigo","Sancho","Sebastián"],\n\t\tunisexNames: [],\n\t\tfemaleNames: ["Alejandra","Alicia","Ana","Anastacia","Ángela","Anita","Carmen","Claudia","Concepción","Dalila","Dora","Dorotea","Elvida","Estrella","Eva","Felicia","Fernanda","Francisca","Gabriela","Inés","Isabela","Leticia","Lidia","Lorenza","Lucía","Luna","Mada","Madalena","Marcela","María","Matilde","Mercedes","Mónica","Octavia","Paola","Priscila","Renata","Rosa","Valentina"],\n\t},\n\tenglish: {\n\t\tlastNames: ["Acker","Adkins","Alderson","Archer","Ayers","Bailey","Baines","Baldwin","Banks","Bannister","Barrett","Baxter","Beaumont","Beck","Bell","Bishop","Black","Blake","Blythe","Boone","Bowers","Bowman","Brand","Braxton","Bryant","Burke","Burnham","Caldwell","Carpenter","Carter","Causland","Chandler","Chase","Clarke","Clarkson","Cobb","Comstock","Cox","Cripps","Dalton","Daniels","Dean","Denman","Devine","Durant","Ellsworth","Everly","Fairchild","Farnham","Fletcher","Frost","Gardner","Glass","Granger","Hall","Harkavy","Harrison","Hawking","Head","Herbert","Hi","Hicks","Holland","Howell","Hunter","Jenkins","Joiner","Kendall","Kensick","Keyes","Kimball","Kinsman","Knight","Lane","Lang","Lowell","Martin","Masters","Milford","Mitchell","Moore","Morrison","Nemtin","Norton","Overton","Palmer","Paris","Payne","Peebles","Power","Queen","Randall","Rowland","Sadler","Sawyer","Seymour","Shelby","Shepherd","Smith","Stack","Starr","Steed","Steele","Strange","Summers","Taylor","Thorne","Travers","Truman","Truespirit","Tyrell","Vance","Walsh","Warren","Webb","Wessman","Wilson","Wolfe","Young"],\n\t\tmaleNames: ["Adia","Adrian","Aidan","Alan","Alex","Amos","Andrew","Anson","Ash","Barnabas","Ben","Bill","Brandon","Brendan","Brian","Bruce","Caleb","Carl","Chip","Christian","Clayton","Cleveland","Conrad","Corey","Cyrus","Damian","Dan","Dave","David","Dean","Delmar","Dennis","Dominic","Edward","Eli","Elliot","Eric","Ethan","Everett","Frank","Gabriel","Galen","Garrett","Gary","Geoff","Gerald","Gideon","Gordon","Graham","Grant","Hank","Henry","Herman","Isaac","Jack","James","Jared","Jason","Jeff","Jerome","Jesse","John","Jonah","Joseph","Joshua","Kelvin","Kevin","Kyle","Landon","Leland","Leonard","Lester","Levi","Lex","Luke","Luther","Lyndon","Malachi","Malcolm","Marcus","Mark","Martin","Mason","Matthew","Max","Michael","Mike","Milton","Mitchell","Moses","Nathaniel","Nicholas","Noah","Norman","Obidiah","Oliver","Orenwolf","Patrick","Paul","Peter","Philip","Quentin","Randall","Reed","Reuben","Richard","Roger","Ross","Ryan","Samuel","Schreikovic","Scott","Simon","Slade","Stephen","Steven","Sterling","Stuart","Tad","Thomas","Timothy","Tobias","Travis","Trent","Troy","Tyler","Victor","Vincent","Virgil","Warren","Wayne","Will","Xander","Xavier"],\n\t\tunisexNames: ["Ainsley","Ashley","Aspen","Austin","Avery","Cameron","Cassidy","Cheyenne","Dakota","Dallas","Darcy","Emery","Harper","Jordan","Kelly","Kelsey","Kim","Lavern","Lee","Lindsay","Logan","Lorne","Madison","Ocean","Raven","River","Robin","Shelby","Sheridan","Sinclair","Skyler","Taylor","Tracy","Zack"],\n\t\tfemaleNames: ["Abigail","Adele","Adia","Alexandra","Alison","Amanda","Anastasia","Ann","Aura","Aurora","Ava","Beth","Candace","Cecilia","Charlotte","Chloë","Claire","Eleanor","Ellen","Erica","Estelle","Fay","Felicity","Fiona","Gemma","Gillian","Grace","Gwen","Hailey","Hazel","Heather","Helen","Ida","Isabel","Jacqueline","Jade","Jane","Janelle","Jennifer","Jessica","Jewel","Judith","Julia","Kate","Katherine","Katia","Kayleigh","Kylie","Larissa","Laura","Leah","Lexie","Lillian","Livia","Lorraine","Lydia","Marie","Melissa","Miranda","Monica","Nancy","Naomi","Natalie","Natasha","Nicola","Olivia","Ophelia","Paige","Pearl","Phobe","Rachel","Rosa","Rose","Ruth","Saffron","Sarah","Scarlett","Serenity","Skye","Sophie","Starla","Tamara","Tempest","Tina","Trinity","Ursula","Willow","Yolanda","Zandra","Zara","Zelda","Zoë"],\n\t},\n\titalian: {\n\t\tlastNames: ["Acone","Allegri","Bandini","Barone","Bellini","Benini","Bianchi","Bruno","Calabrese","Campo","Carbone","Carrara","Caruso","Como","Cremona","Cuoco","D'Angelo","De Palma","Falco","Fermi","Ferro","Furlan","Gallo","Grimaldi","Laguardia","Lando","Leggièri","Lombardi","Moretti","Negri","Palladino","Romano","Rossi","Santini","Sapienti","Scola","Siena","Silvestri","Taverna","Verdi","Verona","Zino"],\n\t\tmaleNames: ["Adriano","Alberto","Alessandro","Alfonso","Angelo","Antonio","Armando","Bernardo","Callisto","Carlo","Cesare","Cosmo","Donato","Edmondo","Edoardo","Fabio","Francesco","Giotto","Giovanni","Guiseppe","Guido","Emilio","Enzo","Gerardo","Leonardo","Luigi","Marco","Mario","Orlando","Palmiro","Paolo","Picarello","Prospero","Riccardo","Roberto","Uberto","Valerio","Vito","Zeno"],\n\t\tunisexNames: [],\n\t\tfemaleNames: ["Allegra","Amanda","Angelina","Annabella","Antonia","Aurelia","Carmen","Cecilia","Celeste","Clarissa","Claudia","Corinna","Cristina","Daria","Donatella","Dorotea","Elena","Elsa","Euginia","Faustina","Felicia","Francesca","Gabrielle","Gaia","Gia","Gina","Livia","Loretta","Natalia","Olivia","Paola","Sabrina","Silvia","Stella"],\n\t},\n\trussian: {\n\t\tlastNames: ["Aleksandrov","Antonov","Bogomolov","Kovalchuk","Kovalyov","Kozlov","Krupin","Kuznetsov","Lebedev","Maksimov","Orlov","Pasternak","Pavlov","Popov","Smirnov","Sobol","Sokolov","Sokolovsky","Utkin","Volkov","Zima"],\n\t\tfemaleLastNames: ["Aleksandrova","Antonova","Bogomolova","Kovalchuk","Kovalyova","Kozlova","Krupin","Kuznetsova","Lebedeva","Maksimova","Orlova","Pasternak","Pavlova","Popova","Smirnova","Sobol","Sokolova","Sokolovskaya","Utkin","Volkova","Zima"],\n\t\tmaleNames: ["Aleksandr","Aleksei","Anatoliy","Andrei","Anton","Arkadiy","Bogdan","Boris","Dmitri","Evgeniy","Fyodor","Grigoriy","Igor","Ilya","Ivan","Leonid","Lev","Maksim","Mikhail","Miroslav","Nikolai","Oleg","Pavel","Prokopiy","Ruslan","Sergey","Stanislav","Vadim","Valeriy","Vasiliy","Viktor","Vitaliy","Vladimir","Yakov","Yevgeniy","Yuri"],\n\t\tunisexNames: [],\n\t\tfemaleNames: ["Aelita","Agata","Aleksandra","Anastasiya","Anna","Anya","Ekaterina","Galina","Katerina","Katia","Klara","Kseniya","Larisa","Lidiya","Ludmila","Nadezhda","Natasha","Nina","Olga","Sofiya","Sonya","Svetlana","Tatiana","Viktoria","Yuliana","Zhenya"]\n\t},\n\tukrainian: {\n\t\tlastNames: ["Bondarenko","Borysov","Boyko","Chayka","Gavrilyuk","Holub","Kohut","Kovalenko","Kravchenko","Medved","Melnyk","Pavlenko","Shevchenko","Shevchuk","Shvets","Tkachenko","Vasylyk","Zelenko","Zyma"],\n\t\tfemaleLastNames: ["Bondarenko","Borysova","Boyko","Chayka","Gavrilyuk","Holub","Kohut","Kovalenko","Kravchenko","Medved","Melnyk","Pavlenko","Shevchenko","Shevchuk","Shvets","Tkachenko","Vasylyk","Zelenko","Zyma"],\n\t\tmaleNames: ["Andriy","Artem","Avhust","Borys","Danyil","Davyd","Denys","Fedir","Ihor","Illya","Klyment","Maksym","Matviy","Mykola","Myroslav","Oleh","Oleksandr","Oleksiy","Pavlo","Serhy","Tymofiy","Volodymir","Yakiv","Yevhen"],\n\t\tunisexNames: [],\n\t\tfemaleNames: ["Anhelina","Avrora","Bohdana","Dariya","Emiliya","Halyna","Inha","Iryna","Ivanna","Karyna","Kateryna","Khrystyna","Larysa","Lyudmyla","Marharyta","Maryana","Mykhaila","Myroslava","Oleksandra","Olesya","Olha","Ruslana","Svitlana","Tetyana","Vasylyna","Vira","Yevheniya","Zoya"],\n\t},\n\tdutch: {\n\t\tlastNames: ["Aarden","Aarle","Achtoven","Anholts","Anker","Arendsen","Arzt","Asselman","Baas","Bosch","Cruyssen","Bosmans","Daalmans","de Groot","Driessen","Hendrix","Hoedemaker","Holst","Jansen","Langbroek","Martens","Rietveld","Schuyler","van Achtern","van Dijk","van Rossum","Vogel","Zaal","Zeegers"],\n\t\tmaleNames: ["Anton","Carel","Christiaan","Damian","Fabian","Ferdinand","Frank","Gerhard","Gustaaf","Hans","Herman","Ivo","Jasper","Johannes","Jurgen","Kevin","Koenraad","Lucas","Nick","Pascal","Simon","Stefan"],\n\t\tunisexNames: [],\n\t\tfemaleNames: ["Aafje","Amber","Anneke","Chloë","Felicia","Fleur","Hannah","Hilda","Jemmy","Jessica","Julia","Katinka","Laura","Marie","Marijse","Mia","Rachel","Renate","Rosa","Sara","Sonja","Cera","Yvonne","Zoë"],\n\t},\n\tscandinavian: {\n\t\tlastNames: ["Abramsson","Agnarsson","Ahlström","Andersson","Beck","Bergström","Björk","Dahl","Ericsson","Gustafsson","Hagen","Hansen","Johansen","Johansson","Klausen","Kron","Larsson","Lindström","Lund","Magnusson","Olander","Rosenberg","Skovgaard","Stenberg","Strand"],\n\t\tmaleNames: ["Agnar","Arne","Anton","Björn","Brynjar","Carl","Einar","Erik","Ernst","Gerd","Gerhard","Gunnar","Gustav","Haakon","Hans","Herman","Holger","Kevin","Knut","Leif","Linus","Magnus","Max","Maximilian","Olaf","Oskar","Otto","Ragnar","Sigmund","Sten","Sven","Torsten","Ulf"],\n\t\tunisexNames: [],\n\t\tfemaleNames: ["Agnes","Alfhild","Anna","Annelese","Annika","Astrid","Birgitta","Dagmar","Erika","Gerda","Greta","Gudrun","Heidi","Helen","Ingeborg","Irene","Liv","Lotte","Monika","Nora","Olga","Rita","Sigrid","Sonja","Therese","Ulrika","Ursula","Viktoria"],\n\t},\n\tpolish: {\n\t\tlastNames: ["Bukowski","Czajkowski","Gorecki","Jankowski","Kasprzak","Kozłowski","Krakowski","Niemczyk","Sienkiewicz","Szweda","Warszawski","Wolanski","Zdunowski","Żukowski"],\n\t\tmaleNames: ["Anatol","Antoni","Arnold","Bartosz","Bronisław","Bruno","Grzegorz","Igor","Jarek","Konrad","Piotr","Radek","Roman","Stanisław","Walter","Wilhelm"],\n\t\tunisexNames: [],\n\t\tfemaleNames: ["Ania","Antonina","Helena","Ida","Jadwiga","Jagna","Kinga","Kornelia","Ksenia","Magda","Maria","Milena","Regina","Sabina","Tatiana","Wanda"],\n\t},\n\tczech: {\n\t\tlastNames: ["Biskup","Blažek","Čermák","Chalupník","Dvořák","Hájek","Hasek","Horáček","Janíček","Kafka","Kopecký","Kováč","Král","Macek","Myška","Nováček","Sedlák","Smola","Vašek","Zahradník","Zima"],\n\t\tmaleNames: ["Alexej","Andrej","Blahoslav","Bohdan","Bvanislav","Cyril","Denis","Dobroslav","Dominik","Emil","Gustav","Ignác","Jan","Konrád","Martin","Max","Miroslav","Rostislav","Stanislav","Viktor","Vladislav"],\n\t\tunisexNames: ["Nikola"],\n\t\tfemaleNames: ["Apolena","Cecilie","Darina","Denisa","Dobroslava","Dominika","Emilie","Helena","Ilona","Ivona","Jana","Katka","Linda","Ljuba","Ludmila","Miroslava","Monka","Petra","Stanislava","Vladislava","Zdenka"],\n\t},\n\ticelandic: {\n\t\tlastNames: ["Agnarsson","Ármannsson","Gunnarsson","Heimisson","Hilmarsson","Ingólfsson","Jakobsson","Jensson","Jóhannsson","Leifsson","Ölvirsson","Sigurdsson","Stefánsson","Steinsson","Tómasson","Vilhjálmsson"],\n\t\tfemaleLastNames: ["Agnarsdóttir","Ármannsdóttir","Gunnarsdóttir","Heimisdóttir","Hilmarsdóttir","Ingólfsdóttir","Jakobsdóttir","Jensdóttir","Jóhannsdóttir","Leifsdóttir","Ölvirsdóttir","Sigurdsdóttir","Stefánsdóttir","Steinsdóttir","Tómasdóttir","Vilhjálmsdóttir"],\n\t\tmaleNames: ["Agnar","Ármann","Gunnar","Heimir","Hilmar","Ingólfr","Jakob","Jens","Jóhann","Leif","Ölvir","Sigurður","Stefán","Stein","Tómas","Vilhjálmur"],\n\t\tunisexNames: [],\n\t\tfemaleNames: ["Agnes","Alda","Arnbjörg","Ása","Ástríður","Björg","Brynja","Dagrún","Freyja","Gréta","Guðrún","Hildur","Jóna","Lára","Njála","Ragna","Sara","Sonja","Svana","Valdís","Ylfa"],\n\t},\n\tnative_american: {\n\t\tlastNames: ["Adakai","Bitsuie","Etsitty","Hatathli","Nakai","Nez","Tabaaha","Tsosie","Uentillie","Altaha","Dosela","Ethelbah","Goseyun","Mescal","Tessay","Angpetu","Anoki","Chaska","Chumani","Howahkan","Ishtasapa","Macawi"],\n\t\tmaleNames: ["Ashkii","Baishan","Cochise","Goyathlay","Hokolesqua","Kisecawchuck","Lalawethika","Muscowequan","Notah","Odeserundiye","Ohiyesa","Sequoyah","Tasunka","Tatanka","Tecumseh","Wapasha"],\n\t\tunisexNames: ["Ameyalli","Shikoba"],\n\t\tfemaleNames: ["Adsila","Awinita","Galilahi","Gouyen","Jacira","Kawisenhawe","Kimimela","Nanabah","Nizhoni","Tekakwitha","Winona","Zitkala"],\n\t},\n\tgreek: {\n\t\tlastNames: ["Antoniou","Dimitriou","Floros","Georgiou","Giannopoulos","Ioannidis","Katsaros","Metaxas","Papadopoulos","Papoutsis","Samaras","Spyros","Stavros","Xanthopoulos"],\n\t\tmaleNames: ["Alexandros","Anastasios","Andreas","Dimitrios","Diomidis","Emilios","Ermis","Evangelos","Georgios","Iason","Ioannis","Konstantinos","Michail","Nikolaos","Stavros","Thomas","Vasilis","Vissarion","Yiannis","Zacharias"],\n\t\tunisexNames: ["Alexis"],\n\t\tfemaleNames: ["Agapi","Alexandra","Alexia","Athanasia","Christina","Dimitra","Elena","Flora","Gianna","Iris","Iro","Korina","Lena","Marina","Sofia","Stella","Tatiana","Valentina","Xenia","Zenovia"],\n\t},\n}\n\n
<<set $eventTitle = "">>\n<<set _destinations =5>>\n\n<<if $crew.length == 0>>\n\t<div class="notification-box injury dont-wrap-link">The <<shipName>> does not any crew members. [[Select crew|Chiron Base Select Crew]]</div>\n<<elseif $crew.length < $ship.getMaxCrew()>>\n\t<div class="notification-box injury dont-wrap-link">\n\t\t<<done>><<run $(".universe-view-list-entry-travel-button").hide()>><</done>>\n\t\t''Warning'': The <<shipName>> does not have its full crew compliment.\n\t\t[[Add crew members|Chiron Base Select Crew]]\n\t\t<<linkreplace "Travel anyway">>\n\t\t\t<<run $(".universe-view-list-entry-travel-button").fadeIn()>>\n\t\t<</linkreplace>>\n\t</div>\n<</if>>\n\n<<if $lastChanceTrip>>\n\t<p>The Chiron Gate has almost entirely collapsed, but a dangerous energy pulse could open it just wide enough for the <<shipName>> to make one final, all-or-nothing trip to the Gatebuilders' home system.</p>\n\t<<enterGateSystemEntry $interstellarCivHomeSystems[0] "Gatebuilders' home system" 0>>\n<<else>>\n\t<<if $sandboxMode>>\n\t\t<p>The Chiron Gate can take the <<shipName>> to the following systems:</p>\n\t<<else>>\n\t<p>The Chiron Gate can be used ''<<= $wormholeUsesRemaining>>'' more <<= $wormholeUsesRemaining==1?"time":"times">> before it collapses. It can take the <<shipName>> to the following systems:</p>\n\t<</if>>\n\t/% Regular systems %/\n\t<<for _n = 0; _n < _destinations; _n++>>\n\t\t<<enterGateSystemEntry $gatewayDestinations[_n]>>\n\t<</for>>\n\n\t/% Interstellar civs' home systems %/\n\t<<if $ship.upgrades.includes("sUpgradeGateOriginHoming")>>\n\t\t<h2>Alien home systems</h2>\n\t\t<p>Due to the Gate's instability, the <<shipName>> can only visit each civilisation's home system once.</p>\n\t\t<<if !$sandboxMode && $ship.upgrades.includes("sUpgradeGateNexusLocator")>>\n\t\t\t<<set _linkText = "Gatebuilders' home system">>\n\t\t\t<<enterGateSystemEntry $interstellarCivHomeSystems[0] _linkText 0>>\n\t\t\t<<set _output = true>>\n\t\t<</if>>\n\t\t\n\t\t<<set _output = false>>\n\t\t<<for _n = 1; _n < $interstellarCivHomeSystems.length; _n++>>\n\t\t\t<<if $civilisations[_n].traits.includesAll("cKnowOf","ctInterstellar")\n\t\t\t\t&& !$civilisations[_n].visitedHomeSystem>>\n\t\t\t\t<<set _civName = Civs.getKnownName($civilisations[_n])>>\n\t\t\t\t<<set _linkText = _civName + " home system ">>\n\t\t\t\t<<enterGateSystemEntry $interstellarCivHomeSystems[_n] _linkText _n>>\n\t\t\t\t<<set _output = true>>\n\t\t\t<</if>>\n\t\t<</for>>\n\t\t\n\t\t<<if $sandboxMode && !_output>>\n\t\t\t<p>The <<shipName>> cannot visit any new alien home systems at the moment.</p>\n\t\t<</if>>\n\t<</if>>\n\n\t/% Gatebuilders' home system %/\n\t/% <<if $ship.upgrades.includes("sUpgradeGateOriginHoming")>> %/\n\t\t/% <<set _linkText = "Gatebuilders' home system">> %/\n\t\t/% <<enterGateSystemEntry $interstellarCivHomeSystems[0] _linkText>> %/\n\t/% <</if>> %/\n\n\n\t<<if $crewPool.length == 0 && $crew.length == 0>>\n\t\t<p>The Chiron Project could also @@.desc-explorable-trait;[[skip this Gate opening|Chiron Base Skip Gate Entry]]@@ to allow the recovering crew members time to return to duty.</p>\n\t<</if>>\n<</if>>\n\n@@.full-width-link;[[Cancel|Chiron Base]]@@
/% $args[0] is the system object %/\n/% $args[1] is the link text %/\n/% $args[2] is the index of the civ whose home system this is, undefined if none %/\n<<widget enterGateSystemEntry>>\n\t<<set _system = $args[0]>>\n\t<div class="universe-view-list-entry">\n\t\t<div class="universe-view-list-entry-icon-container">\n\t\t\t/%<<= getStarIcon($args[0].stars[0].traits)>>%/\n\t\t\t<<starIcon $args[0].stars[0].traits>>\n\t\t</div>\n\t\t<div class="universe-view-list-entry-name-type-container">\n\t\t\t<div class="universe-view-list-entry-name-container">\n\t\t\t\t<<if $args[1]>>\n\t\t\t\t\t''<<= $args[1]>>''\n\t\t\t\t<<else>>\n\t\t\t\t\t''<<= _system.name>>''\n\t\t\t\t<</if>>\n\t\t\t</div>\n\t\t\t<div class="universe-view-list-entry-star-type-container">\n\t\t\t\t<<if true>>\n\t\t\t\t\t<<if _system.stars[0].traits.includes("tBlackHole")>>\n\t\t\t\t\t\tBlack hole\n\t\t\t\t\t<<elseif _system.stars[0].traits.includes("tNeutronStar")>>\n\t\t\t\t\t\tNeutron star\n\t\t\t\t\t<<elseif _system.stars[0].traits.includes("tPulsar")>>\n\t\t\t\t\t\tPulsar\n\t\t\t\t\t<<elseif _system.stars[0].traits.includes("tWhiteDwarf")>>\n\t\t\t\t\t\tWhite dwarf\n\t\t\t\t\t<<else>>\n\t\t\t\t\t\t<<if _system.stars[0].traits.includes("tColourBlue")>>Blue\n\t\t\t\t\t\t<<elseif _system.stars[0].traits.includes("tColourBlueWhite")>>Blue-white\n\t\t\t\t\t\t<<elseif _system.stars[0].traits.includes("tColourWhite")>>White\n\t\t\t\t\t\t<<elseif _system.stars[0].traits.includes("tColourYellowWhite")>>Yellow-white\n\t\t\t\t\t\t<<elseif _system.stars[0].traits.includes("tColourYellow")>>Yellow\n\t\t\t\t\t\t<<elseif _system.stars[0].traits.includes("tColourOrange")>>Orange\n\t\t\t\t\t\t<<elseif _system.stars[0].traits.includes("tColourRed")>>Red\n\t\t\t\t\t\t<</if>>\n\t\t\t\t\t\t\n\t\t\t\t\t\t<<if _system.stars[0].traits.includes("tSizeHypergiant")>>hypergiant\n\t\t\t\t\t\t<<elseif _system.stars[0].traits.includes("tSizeSupergiant")>>supergiant\n\t\t\t\t\t\t<<elseif _system.stars[0].traits.includes("tSizeGiant")>>giant\n\t\t\t\t\t\t<<elseif _system.stars[0].traits.includes("tSizeSubgiant")>>subgiant\n\t\t\t\t\t\t<<elseif _system.stars[0].traits.includes("tSizeMainSequence")>>main sequence\n\t\t\t\t\t\t<<elseif _system.stars[0].traits.includes("tSizeDwarf")>>dwarf\n\t\t\t\t\t\t<</if>>\n\t\t\t\t\t<</if>>\n\t\t\t\t<</if>>\n\t\t\t</div>\n\t\t</div>\n\n\t\t<div class="universe-view-list-entry-hazards-container universe-view-list-entry-icon-container">\n\t\t\t/% Planet count %/\n\t\t\t<<if $ship.upgrades.includes("sUpgradeScannerPlanetNum")>>\n\t\t\t\t<<set _total = _system.planets.length - 1>>\t/% -1 because we don't count the Gate %/\n\t\t\t\t<div class="keyword universe-view-explorable-bodies-number">\n\t\t\t\t\t<<= _total>>\n\t\t\t\t\t<span class="tooltip"><<= _total>> explorable bodies</span>\n\t\t\t\t</div>\n\t\t\t<</if>>\n\t\t\t/% Hazards %/\n\t\t\t<<if $ship.upgrades.includes("sUpgradeScannerSystemHazards")>>\n\t\t\t\t<<for _t = 0; _t < _system.traits.length; _t++>>\n\t\t\t\t\t<<if "icon" in Traits[_system.traits[_t]]>>\n\t\t\t\t\t\t<<traitIcon _system.traits[_t]>>\n\t\t\t\t\t<</if>>\n\t\t\t\t<</for>>\n\t\t\t<</if>>\n\t\t\t<<if $ship.upgrades.includes("sUpgradeScannerGatewayLife") && _system.traits.includes("tLifeDetected")>>\n\t\t\t\t<<iconWithTooltip "dna2" "Life detected">>\n\t\t\t<</if>>\n\t\t\t<<if $ship.upgrades.includes("sUpgradeScannerGatewayExtinctLife") && _system.traits.includes("tExtinctLifeDetected")>>\n\t\t\t\t<<iconWithTooltip "dinosaur-bones" "Organic remains detected">>\n\t\t\t<</if>>\n\t\t\t<<if $ship.upgrades.includes("sUpgradeScannerGatewayCiv") && _system.traits.includes("tCivDetected")>>\n\t\t\t\t<<iconWithTooltip "village" "Civilisation">>\n\t\t\t<</if>>\n\t\t\t<<if $ship.upgrades.includes("sUpgradeScannerGatewayExtinctCiv") && _system.traits.includes("tExtinctCivDetected")>>\n\t\t\t\t<<iconWithTooltip "ancient-columns" "Extinct Civilisation">>\n\t\t\t<</if>>\n\t\t\t<<if $ship.upgrades.includes("sUpgradeScannerGatewayUsed") && _system.traits.includes("tGatewayUsed")>>\n\t\t\t\t<<iconWithTooltip "ufo" "Gate traffic detected">>\n\t\t\t<</if>>\n\t\t</div>\n\n\t\t<div class="universe-view-list-entry-button-container">\n\t\t\t<<if $crew.length > 0>>\n\t\t\t\t<<capture _system $args[2]>>\n\t\t\t\t\t<span class="universe-view-list-entry-travel-button">\n\t\t\t\t\t<<if $args[2] == 0 && $wormholeUsesRemaining > 1>>\n\t\t\t\t\t\t[[Travel|Enter Gate to Gatebuilders System Confirm]]\n\t\t\t\t\t<<else>>\n\t\t\t\t\t\t<<link "Travel" "Next Event">>\n\t\t\t\t\t\t\t<<set $currentSystem = _system>>\n\t\t\t\t\t\t\t<<include [[Chiron Base Enter Gate]]>>\n\t\t\t\t\t\t\t<<if $args[2] == 0>>\n\t\t\t\t\t\t\t\t<<set $civilisations[$args[2]].visitedHomeSystem = true>>\n\t\t\t\t\t\t\t\t<<addEventToQueue "Gate Journey To Gatebuilders System" start>>\n\t\t\t\t\t\t\t<<else>>\n\t\t\t\t\t\t\t\t<<if $args[2] != undefined>>\n\t\t\t\t\t\t\t\t\t<<set $civilisations[$args[2]].visitedHomeSystem = true>>\n\t\t\t\t\t\t\t\t<</if>>\n\t\t\t\t\t\t\t\t<<addEventFromListToQueue "gatewayJourney" start>>\n\t\t\t\t\t\t\t<</if>>\n\t\t\t\t\t\t\t<<addEventToQueue "System View" end>>\n\t\t\t\t\t\t<</link>>\n\t\t\t\t\t<</if>>\n\t\t\t\t\t</span>\n\t\t\t\t<</capture>>\n\t\t\t<</if>>\n\t\t</div>\n\t</div>\n\t\n<</widget>>
<<set $noCrewGameOver = false>>\n\n/% Refuel ship %/\n<<set $ship.fuel = 100>>\n\n/% Increase all crew members' times embarked count %/\n<<for _n = 0; _n < $crew.length; _n++>>\n\t<<if $crew[_n].missions == 0>>\n\t\t<<set $gameStats.explorersEmbarked++>>\n\t<</if>>\n\t<<set $crew[_n].missions++>>\n<</for>>\n\n<<unset $locationOverride>>\n<<unset $chironBaseMenuButtons>>\n/%<<set $systemNumber++>>%/\n<<set $planetNumber = -1>>\n<<unset $exploringTrait>>\n\n/%<<set universe[$systemNumber].visited = true>>%/\n/% <<set $currentSystem = clone($gatewayDestinations[$systemNumber])>> %/\n<<unset $gatewayDestinations>>\n\n/% Reveal traits on system planets based on ship scanners %/\n/% Also find wormhole and put ship in orbit %/\n<<set _scannerFilter = function(traitName) {\t\n\tvar rv = (traitName in Traits) && this.includes(Traits[traitName].revealedBy);\n\treturn (traitName in Traits) && this.includes(Traits[traitName].revealedBy);\n}>>\n<<for _n = $currentSystem.planets.length-1; _n >= 0; _n-->>\n\t\n\t/% Reveal planet traits based on ship scanners %/\n\t<<set $currentSystem.planets[_n].knownTraits = $currentSystem.planets[_n].traits.filter(_scannerFilter, $ship.upgrades)>>\n\t/%<<set $currentSystem.planets[_n].knownTraits.sort(traitSort).reverse()>>%/\n\t\n\t/% If this is the wormhole, put the ship in orbit %/\n\t<<if $currentSystem.planets[_n].traits.includesAny("pWormhole")>>\n\t\t<<set $planetNumber = _n>>\n\t<</if>>\n<</for>>\n<<if $planetNumber == -1>>\n\t<<run console.error("Generated system had no wormhole!")>>\n<</if>>\n\n<<set $gameStats.systemsVisited++>>\n<<set $wormholeUsesRemaining-->>\n<<set $positionTrait = "xGateJourney">>
<p>Allow the gate to close without going through it?</p>\n<p>Crew members who are currently recovering in the hospital will return to duty, but the Chiron Project will lose one of its chances to enter the Gate.</p>\n\n@@.full-width-link;<<link "Allow the Gate to close" "Chiron Base">>\n\t/% Clear traits that recovering crew were recovering from %/\n\t<<for _n = 0; _n < $recoveringCrew.length; _n++>>\n\t\t<<set $recoveringCrew[_n].traits.delete("eRadiationSickness","eWormholeSickness","eInjured","eAlienInfection","eTerrestrialInfection","eDepressed")>>\n\t<</for>>\n\t/% Move recovering crew back into the crew pool so they will be available next mission %/\n\t<<set $crewPool = $crewPool.concat($recoveringCrew)>>\n\t<<set $recoveringCrew = []>>\n\t<<if !$sandboxMode>>\n\t\t<<set $wormholeUsesRemaining-->>\n\t<</if>>\n\t/% Reroll destinations %/\n\t<<set $gatewayDestinations = []>>\n\t<<for _n = 0; _n < 5; _n++>>\n\t\t<<set $gatewayDestinations.push(StarSystemGenerator.randomSystem($civilisations))>>\n\t<</for>>\n<</link>>@@\n@@.full-width-link;[[Reconsider|Chiron Base Choose Destination]]@@
<p>The Gate's instability means that the <<shipName>> can only visit each system once--and that includes the Gatebuilders' system. If the <<shipName>> travels to the Gatebuilders' system but fails to find the secret of stabilising the Gates, the Chiron Project will have lost its one chance at the stars.</p>\n\n<div class="full-width-link"><<link "Travel to the Gatebuilders' system" "Next Event">>\n\t<<set $civilisations[0].visitedHomeSystem = true>>\n\t<<set $currentSystem = $interstellarCivHomeSystems[0]>>\n\t<<include [[Chiron Base Enter Gate]]>>\n\t<<addEventToQueue "Gate Journey To Gatebuilders System" start>>\n\t<<addEventToQueue "System View" end>>\n<</link>></div>\n<div class="full-width-link">[[Cancel|Chiron Base Choose Destination]]</div>
<div id="memorial-content">\n\t<<include [[Chiron Base Memorial Content]]>>\n</div>
<<if $memorialCrew.length > 0>>\n\tA room in Chiron Base has been converted into a memorial to the <<if $memorialCrew.length==1>>explorer who died<<else>><<= TextUtils.numberWord($memorialCrew.length)>> explorers who have died<</if>> beyond the Chiron Gate.\n\t<<for _n = 0; _n < $memorialCrew.length; _n++>>\n\t\t<<set _rowClass = "crew-select-row">>\n\t\t<div @class=_rowClass>\n\t\t\t<div class="crew-select-crew-entry">\n\t\t\t\t<<crewMemberListEntry $memorialCrew[_n]>>\n\t\t\t</div>\n\t\t</div>\n\t<</for>>\n<</if>>\n<<if $retiredCrew.length > 0>>\n\t<<if $memorialCrew.length == 0>>\n\t\tOne wall in Chiron Base contains\n\t<<else>>\n\t\tBeside the memorial is\n\t<</if>>\n\ta plaque recognising the <<if $retiredCrew.length==1>>explorer who left the project.<<else>><<= TextUtils.numberWord($retiredCrew.length)>> explorers who have left the project.<</if>>\n\t<<for _n = 0; _n < $retiredCrew.length; _n++>>\n\t\t<<set _rowClass = "crew-select-row">>\n\t\t<div @class=_rowClass>\n\t\t\t<div class="crew-select-crew-entry">\n\t\t\t\t<<crewMemberListEntry $retiredCrew[_n]>>\n\t\t\t</div>\n\t\t</div>\n\t<</for>>\n<</if>>\n@@.full-width-link;[[Done|Chiron Base]]@@
<<if $crewPool.length < 12>>\n\t<<set $crewPool.push(Crew.randomCrewMember())>>\n<</if>>
<<set _allCrew = $crewPool.concat($crew)>>\n\n/% Make sure we have at least one of each class %/\n<<if !_allCrew.some( function(crewMember) { return crewMember.traits.includes("ePilot"); } )>>\n\t<<set $crewPool.push(Crew.randomCrewMember("ePilot"))>>\n<</if>>\n<<if !_allCrew.some( function(crewMember) { return crewMember.traits.includes("eEngineer"); } )>>\n\t<<set $crewPool.push(Crew.randomCrewMember("eEngineer"))>>\n<</if>>\n<<if !_allCrew.some( function(crewMember) { return crewMember.traits.includes("eMedic"); } )>>\n\t<<set $crewPool.push(Crew.randomCrewMember("eMedic"))>>\n<</if>>\n<<if !_allCrew.some( function(crewMember) { return crewMember.traits.includes("ePlanetaryScientist"); } )>>\n\t<<set $crewPool.push(Crew.randomCrewMember("ePlanetaryScientist"))>>\n<</if>>\n<<if !_allCrew.some( function(crewMember) { return crewMember.traits.includes("eBiologist"); } )>>\n\t<<set $crewPool.push(Crew.randomCrewMember("eBiologist"))>>\n<</if>>\n<<if !_allCrew.some( function(crewMember) { return crewMember.traits.includes("eXenologist"); } )>>\n\t<<set $crewPool.push(Crew.randomCrewMember("eXenologist"))>>\n<</if>>\n/% And make sure we have at least 12 total %/\n/% Re-populate crew pool %/\n<<for _n = $crewPool.length + $crew.length; _n < 12; _n++>>\n\t<<set $crewPool.push(Crew.randomCrewMember())>>\n<</for>>\n<<run $crewPool.sort(Crew.crewPoolSort)>>
<h1>Crew Quarters</h1>\n\n<p>Hopeful interstellar explorers await selection in Chiron Base's habitat wing, where the most promising candidates have been grouped into six specialities.</p>\n\n<div id="select-crew-list">\n\t<<include "Select Crew List">>\n</div>
<<widget selectCrewRefresh>>\n\t<<run setPageElement("select-crew-list", "Select Crew List")>>\n\t<<refreshTopBar>>\n<</widget>>
<<set _allCrewMembers = $crew.concat($crewPool)>>\n<<set _allCrewMembers.sort(Crew.crewPoolSort)>>\n\n<<if _allCrewMembers.length == 0>>\n\t<p>No explorers are currently available.</p>\n<<else>>\n\t<<for _c = 0; _c < _allCrewMembers.length; _c++>>\n\t\t<<if passage() == "Intro 3">>\n\t\t\t<<crewMemberListEntry _allCrewMembers[_c] true "" false>>\n\t\t<<else>>\n\t\t\t<<crewMemberListEntry _allCrewMembers[_c] true "" true>>\n\t\t<</if>>\n\t<</for>>\n<</if>>\n\n<<if passage() != "Intro 3">>\n\t<h2>Recruitment</h2>\n\t<p>While the Chiron Project has captured humanity's collective imagination, volunteers with both the appropriate skills and the courage to risk their lives beyond the Gate are hard to find. The Chiron Project's Recruitment Group can attract more candidates by publicising the <<shipName>>'s discoveries, but the cost of doing so will increase as they look further afield.</p>\n\t<<chironBaseRecruitCrewButton "ePilot" "planetary_science">>\n\t<<chironBaseRecruitCrewButton "eMedic" "xenobiology">>\n\t<<chironBaseRecruitCrewButton "eEngineer" "xenotechnology">>\n\t<<chironBaseRecruitCrewButton "ePlanetaryScientist" "planetary_science">>\n\t<<chironBaseRecruitCrewButton "eBiologist" "xenobiology">>\n\t<<chironBaseRecruitCrewButton "eXenologist" "xenotechnology">>\n<</if>>\n\n<<if $recoveringCrew.length > 0>>\n\t<h2>Hospital</h2>\n\t<p>One wing of Chiron Base's main habitat is a fully-staffed hospital, which provides long-term care to explorers who suffer serious injuries on missions. Explorers in the hospital recover one level of each negative condition per mission, and then return to active duty.</p>\n\t<<for _n = 0; _n < $recoveringCrew.length; _n++>>\n\t\t<<set _rowClass = "crew-select-row">>\n\t\t<div @class=_rowClass>\n\t\t\t<div class="crew-select-crew-entry">\n\t\t\t\t<<crewMemberListEntry $recoveringCrew[_n] false "crew-member-list-entry-life-support">>\n\t\t\t</div>\n\t\t</div>\n\t<</for>>\n<</if>>\n\n<div class="sticky-bottom-button">\n\t<<if passage() == "Intro 3">>\n\t\t<<if $crew.length == $ship.getMaxCrew()>>\n\t\t\t@@.full-width-link;[[Confirm Selection|Intro 4]]@@\n\t\t<<else>>\n\t\t\t@@.full-width-link-disabled;<<= $crew.length>>/<<= $ship.getMaxCrew()>> selected@@\n\t\t<</if>>\n\t<<else>>\n\t\t@@.full-width-link;[["Confirm ("+$crew.length+"/"+$ship.getMaxCrew()+" selected)"|Chiron Base]]@@\n\t<</if>>\n</div>
/% $args[0] - the trait name of the crew member type %/\n/% $args[1] - the data type %/\n<<widget chironBaseRecruitCrewButton>>\n\t<<set _crewType = $args[0]>>\n\t<<set _dataType = $args[1]>>\n\t<<set _cost = Math.min(1000, Math.pow($crewMembersHiredByClass[_crewType],2)*10)>>\n\t<div class="ship-upgrade-list-row">\n\t\t<div class="ship-upgrade-list-icon">\n\t\t\t<span class="inline-icon"><<traitIcon _crewType>></span>\n\t\t</div>\n\t\t<div class="ship-upgrade-list-name">\n\t\t\tRecruit <<= getTraitName(_crewType)>>\n\t\t</div>\n\t\t<div class="ship-upgrade-list-cost-and-button">\n\t\t\t<span class="ship-upgrade-list-cost">\n\t\t\t\t<<traitIcon _dataType>>\n\t\t\t\t<<= _cost>>\n\t\t\t</span>\n\t\t\t<<if $data[_dataType] >= _cost>>\n\t\t\t\t<<capture _crewType _dataType _cost>>\n\t\t\t\t\t<span class="ship-upgrade-list-install-button">\n\t\t\t\t\t<<link "Recruit">>\n\t\t\t\t\t\t<<set $data[_dataType] -= _cost>>\n\t\t\t\t\t\t<<set _newCrewMember = Crew.randomCrewMember(_crewType)>>\n\t\t\t\t\t\t<<set $crewPool.push(_newCrewMember)>>\n\t\t\t\t\t\t<<run $crewPool.sort(Crew.crewPoolSort)>>\n\t\t\t\t\t\t<<set $crewMembersHiredByClass[_crewType] += 1>>\n\t\t\t\t\t\t<<selectCrewRefresh>>\n\t\t\t\t\t<</link>>\n\t\t\t\t\t</span>\n\t\t\t\t<</capture>>\n\t\t\t<<else>>\n\t\t\t\t<span class="disabled-link ship-upgrade-list-install-button-disabled">Recruit</span>\n\t\t\t<</if>>\n\t\t</div>\n\t</div>\n\t\n<</widget>>
window.ShipUpgradeCategories = [\n\t{\n\t\tname: "Gate Drive",\n\t\tupgrades: [\n\t\t\t"sUpgradeGateOriginHoming",\n\t\t\t"sUpgradeGateNexusLocator"\n\t\t]\n\t},{\n\t\tname: "Crew Capacity",\n\t\tupgrades: [\n\t\t\t"sUpgradeCrewCapacityPS",\n\t\t\t"sUpgradeCrewCapacityBio",\n\t\t\t"sUpgradeCrewCapacityXeno"\n\t\t]\n\t},{\n\t\tname: "Ship Armour",\n\t\tupgrades: [\n\t\t\t"sUpgradeArmourPS",\n\t\t\t"sUpgradeArmourBio",\n\t\t\t"sUpgradeArmourXeno"\n\t\t]\n\t},{\n\t\tname: "Ship Systems",\n\t\tupgrades: [\n\t\t\t"sUpgradeShipWings",\n\t\t\t"sUpgradeShipLandingGear",\n\t\t\t"sUpgradeShipRadiationShielding",\n\t\t\t"sUpgradeShipNebula",\n\t\t\t"sUpgradeShipAsteroids"\n\t\t]\n\t},{\n\t\tname: "Medical",\n\t\tupgrades: [\n\t\t\t"sUpgradeFirstAid",\n\t\t\t"sUpgradeAntiRadiation",\n\t\t\t"sUpgradeLifeSupport"\n\t\t]\n\t},{\n\t\tname: "Space Suits",\n\t\tupgrades: [\n\t\t\t"sUpgradeSuitsArmour",\n\t\t\t"sUpgradeSuitsCold",\n\t\t\t"sUpgradeSuitsHot",\n\t\t\t"sUpgradeSuitsHighGrav",\n\t\t\t"sUpgradeTranslator"\n\t\t]\n\t},{\n\t\tname: "Gate Scanners",\n\t\tupgrades: [\n\t\t\t"sUpgradeScannerPlanetNum",\n\t\t\t"sUpgradeScannerSystemHazards",\n\t\t\t"sUpgradeScannerGatewayLife",\n\t\t\t"sUpgradeScannerGatewayExtinctLife",\n\t\t\t"sUpgradeScannerGatewayCiv",\n\t\t\t"sUpgradeScannerGatewayExtinctCiv",\n\t\t\t"sUpgradeScannerGatewayUsed",\n\t\t]\n\t},{\n\t\tname: "System Scanners",\n\t\tupgrades: [\n\t\t\t"sBasicScanners",\n\t\t\t"sUpgradeScannerAtmosphere",\n\t\t\t"sUpgradeScannerTemperature",\n\t\t\t"sUpgradeScannerGravity",\n\t\t\t"sUpgradeScannerLiquid",\n\t\t\t"sUpgradeScannerLife",\n\t\t\t"sUpgradeScannerExtinctLife",\n\t\t\t"sUpgradeScannerCiv",\n\t\t\t"sUpgradeScannerExtinctCiv",\n\t\t\t"sUpgradeScannerMeddlingCiv",\n\t\t]\n\t}\n]\n
<<set $eventTitle = "Continuing Mission">>\n<<set $sandboxMode = true>>\n<<unset $lastChanceTrip>>\n<<unset $noShipGameOver>>\n<<unset $endgame_ship_destroyed>>\n\n/% Rename ship if necessary %/\n/% Everything else will be dealt with by Chiron Base Return %/\n\n<p>The Chiron Gate is stable and will no longer decay. Learning to fully control it may take decades, but in the meantime the Chiron Project can continue to explore the galaxy.\n\n<<if $endgame_option == "return">>\n\tThe Chiron Project repairs the <<shipName>> and prepares it for continued exploration.\n<<else>>\n\t<<set $ship.name = $ship.name + " II">>\n\t<<set _nameDeck = clone(TextUtils.randomShipNames)>>\n\tThe Chiron Project readies a new ship for continued exploration, and names it the\n\t<span id="textbox"><<include [[Intro Textbox]]>></span>. <span class="subtle-icon-link inline-icon keyword">\n\t\t<<link "<img data-passage='rolling-dices' alt='Dice'>">>\n\t\t\t<<set $ship.name = _nameDeck.pluck()>>\n\t\t\t<<if _nameDeck.length == 0>>\n\t\t\t\t<<set _nameDeck = clone(TextUtils.randomShipNames)>>\n\t\t\t\t<<set _nameDeck.delete($ship.name)>>\n\t\t\t<</if>>\n\t\t\t<<run setPageElement("textbox", "Intro Textbox")>>\n\t\t<</link>>\n\t\t<span class="tooltip">Randomise name</span>\n\t</span>\n<</if>>\n</p>\n\n<p><em>Endless Mode will continue until your ship is destroyed or your explorers die. You cannot record new high scores or earn achievements while in Endless Mode.</em></p>\n\n<p>@@.full-width-link;[[Continue|Chiron Base Return]]@@</p>
window.UniverseView = {\n\tsystemListEntry: function(system, shipUpgrades) {\n\t\tvar rv = "";\n\t\tvar first = true;\n\t\tvar context = clone(system.stars[0].traits);\n\t\t\n\t\t/* Star type */\n\t\tif (shipUpgrades.includes("sUpgradeScannerStarType")) {\n\t\t\trv += first ? "" : ", ";\n\t\t\t\n\t\t\tif (context.includes("tBlackHole")) {\n\t\t\t\trv += "black hole";\n\t\t\t\t\n\t\t\t} else {\n\t\t\t\n\t\t\t\n\t\t\t\t/* Colour */\n\t\t\t\tif (context.includes("tColourBlue")) {\n\t\t\t\t\trv += "blue";\n\t\t\t\t} else if (context.includes("tColourBlueWhite")) {\n\t\t\t\t\trv += "blue-white";\n\t\t\t\t} else if (context.includes("tColourWhite")) {\n\t\t\t\t\trv += "white";\n\t\t\t\t} else if (context.includes("tColourYellowWhite")) {\n\t\t\t\t\trv += "yellow-white";\n\t\t\t\t} else if (context.includes("tColourYellow")) {\n\t\t\t\t\trv += "yellow";\n\t\t\t\t} else if (context.includes("tColourOrange")) {\n\t\t\t\t\trv += "orange";\n\t\t\t\t} else if (context.includes("tColourRed")) {\n\t\t\t\t\trv += "red";\n\t\t\t\t} else {\n\t\t\t\t\tconsole.error("Star did not have colour trait");\n\t\t\t\t}\n\t\t\t\t\n\t\t\t\t/* Size */\n\t\t\t\tif (context.includes("tSizeHypergiant")) {\n\t\t\t\t\trv += " hypergiant";\n\t\t\t\t} else if (context.includes("tSizeSupergiant")) {\n\t\t\t\t\trv += " supergiant";\n\t\t\t\t} else if (context.includes("tSizeGiant")) {\n\t\t\t\t\trv += " giant";\n\t\t\t\t} else if (context.includes("tSizeSubgiant")) {\n\t\t\t\t\trv += " subgiant";\n\t\t\t\t} else if (context.includes("tSizeMainSequence")) {\n\t\t\t\t\trv += " main sequence star";\n\t\t\t\t} else if (context.includes("tSizeDwarf")) {\n\t\t\t\t\trv += " dwarf star";\n\t\t\t\t} else {\n\t\t\t\t\tconsole.error("Star did not have size trait");\n\t\t\t\t}\n\t\t\t}\n\t\t\t\n\t\t\tfirst = false;\n\t\t}\n\t\t\n\t\t/* Number of planets */\n\t\tif (shipUpgrades.includes("sUpgradeScannerPlanetNum")) {\n\t\t\trv += first ? "(" : ", ";\n\t\t\tvar numPlanets = UniverseView.getNumTruePlanets(system);\n\t\t\tif (numPlanets == 0) {\n\t\t\t\trv += "no planets";\n\t\t\t} else if (numPlanets == 1) {\n\t\t\t\trv += "1 planet";\n\t\t\t} else {\n\t\t\t\trv += numPlanets + " planets";\n\t\t\t}\n\t\t\tfirst = false;\n\t\t}\n\t\t\n\t\t/* Hazards */\n\t\tif (shipUpgrades.includes("sUpgradeScannerSystemHazards")) {\n\t\t\tfor (var h = 0; h < system.traits.length; h++) {\n\t\t\t\tif (Traits[system.traits[h]].revealedBy == "sUpgradeScannerSystemHazards") {\n\t\t\t\t\trv += first ? "(" : ", ";\n\t\t\t\t\trv += Traits[system.traits[h]].name.toLowerCase();\n\t\t\t\t\tfirst = false;\n\t\t\t\t}\n\t\t\t\t\n\t\t\t}\n\t\t}\n\t\t\n\t\t/* Interstellar visitors */\n\t\tif (shipUpgrades.includes("sUpgradeScannerGatewayUsed") && system.traits.includes("tGatewayUsed")) {\n\t\t\trv += first ? "(" : ", ";\n\t\t\trv += "interstellar visitors";\n\t\t\tfirst = false;\n\t\t}\n\t\t\n\t\t// if (!first) {\trv += ")";\t}\n\t\treturn rv;\n\t},\n\t\n\tgetNumTruePlanets: function(system) {\n\t\t/* Gets the number of true planets, not counting moons, asteroid belts, and minor planetoids */\n\t\tvar count = 0;\n\t\tfor (var n = 0; n < system.planets.length; n++) {\n\t\t\tif (system.planets[n].moonOf == -1 && system.planets[n].traits.includesAny("pTerrestrialPlanet", "pGasGiant")) {\n\t\t\t\tcount++;\n\t\t\t}\n\t\t}\n\t\treturn count;\n\t}\n}\n\n
<<set _availableUpgrades = ["sUpgradeFuelGatherer", "sUpgradeArmourGatherer"]>>\n<<set _availableUpgrades.delete($ship.upgrades)>>\n\n<h1>Shipyard</h1>\n<p>The <<shipName>> rests in the cradle of Chiron Base's zero-gravity shipyard, while remote drones and spacesuited engineers perform maintenance on its delicate systems. In the attached R&D lab, the ship's designers are busy working on new ship upgrades based on the data collected on previous missions.</p>\n\n<<if $lastChanceTrip>>\n\t<p>The Chiron Gate has almost entirely collapsed, but a dangerous energy pulse could open it just wide enough for the <<shipName>> to make one final, all-or-nothing trip to the Gatebuilders' home system.</p>\n<<elseif !$sandboxMode>>\n\t<p>The Chiron Gate can be used ''<<= $wormholeUsesRemaining>>'' more <<= $wormholeUsesRemaining==1?"time":"times">> before it collapses.</p>\n<</if>>\n\n<div id="upgrade-ship-list">\n\t<<include [[Chiron Base Upgrade Ship List]]>>\n</div>\n\n<div class="sticky-bottom-button">\n\t@@.full-width-link;[[Done|Chiron Base]]@@\n</div>
<<for _cat = 0; _cat < ShipUpgradeCategories.length; _cat++>>\n\t<<set _availableThisCategory = ShipUpgradeCategories[_cat].upgrades.filter( function(t){ return this.includes(t);}, $researchableUpgrades)>>\n\t\n\t<<if _availableThisCategory.length > 0>>\n\t\t<h2><<= ShipUpgradeCategories[_cat].name>></h2>\n\t\t<<if "extraText" in ShipUpgradeCategories[_cat]>>\n\t\t\t<<= ShipUpgradeCategories[_cat].extraText>>\n\t\t<</if>>\n\t\t<<for _n = 0; _n < _availableThisCategory.length; _n++>>\n\t\t\t<<if _availableThisCategory[_n] in Traits>>\n\t\t\t\t<<set _trait = _availableThisCategory[_n]>>\n\t\t\t\t/%<<if !("test" in Traits[_trait]) || Traits[_trait].test()>>%/\n\t\t\t\t\t<<set _cssClass = "ship-upgrade-list-row">>\n\t\t\t\t\t<<if $ship.upgrades.includes(_availableThisCategory[_n])>>\n\t\t\t\t\t\t<<set _cssClass += " menu-item-selected">>\n\t\t\t\t\t<</if>>\n\t\t\t\t\t\n\t\t\t\t\t<div @class="_cssClass">\n\t\t\t\t\t\t<div class="ship-upgrade-list-icon">\n\t\t\t\t\t\t\t<span class="inline-icon"><<traitIcon _trait>></span>\n\t\t\t\t\t\t</div>\n\t\t\t\t\t\t<div class="ship-upgrade-list-name">\n\t\t\t\t\t\t\t''<<= getTraitName(_trait)>>''\n\t\t\t\t\t\t\t<br>\n\t\t\t\t\t\t\t<<= Traits[_trait].desc.replace("&shipName&","<em>"+$ship.name+"</em>")>>\n\t\t\t\t\t\t</div>\n\t\t\t\t\t\t<div class="ship-upgrade-list-cost-and-button">\n\t\t\t\t\t\t\t<<if $ship.upgrades.includes(_availableThisCategory[_n])>>\n\t\t\t\t\t\t\t\tInstalled\n\t\t\t\t\t\t\t<<else>>\n\t\t\t\t\t\t\t\t<span class="ship-upgrade-list-cost">\n\t\t\t\t\t\t\t\t\t<<traitIcon `Traits[_trait].dataType`>>\n\t\t\t\t\t\t\t\t\t<<= Traits[_trait].dataCost>>\n\t\t\t\t\t\t\t\t</span>\t\t\t\n\t\t\t\t\t\t\t\t<<if "requires" in Traits[_trait] && !$ship.upgrades.includes(Traits[_trait].requires)>>\n\t\t\t\t\t\t\t\t\t<span class="disabled-link ship-upgrade-list-install-button-disabled">Install</span>\n\t\t\t\t\t\t\t\t\t<span class="ship-upgrade-list-cost">Requires <<= Traits[Traits[_trait].requires].name>></span>\n\t\t\t\t\t\t\t\t<<elseif $data[Traits[_trait].dataType] >= Traits[_trait].dataCost>>\n\t\t\t\t\t\t\t\t\t<<capture _trait>>\n\t\t\t\t\t\t\t\t\t\t<span class="ship-upgrade-list-install-button">\n\t\t\t\t\t\t\t\t\t\t<<link "Install">>\n\t\t\t\t\t\t\t\t\t\t\t<<set $ship.upgrades.push(_trait)>>\n\t\t\t\t\t\t\t\t\t\t\t<<set $data[Traits[_trait].dataType] -= Traits[_trait].dataCost>>\n\t\t\t\t\t\t\t\t\t\t\t<<run setPageElement("upgrade-ship-list", "Chiron Base Upgrade Ship List")>>\n\t\t\t\t\t\t\t\t\t\t\t<<refreshTopBar>>\n\t\t\t\t\t\t\t\t\t\t\t<<newUpgradeAchievementCheck>>\n\t\t\t\t\t\t\t\t\t\t<</link>>\n\t\t\t\t\t\t\t\t\t\t</span>\n\t\t\t\t\t\t\t\t\t<</capture>>\n\t\t\t\t\t\t\t\t<<else>>\n\t\t\t\t\t\t\t\t\t<span class="disabled-link ship-upgrade-list-install-button-disabled">Install</span>\n\t\t\t\t\t\t\t\t<</if>>\n\t\t\t\t\t\t\t<</if>>\n\t\t\t\t\t\t</div>\n\t\t\t\t\t</div>\n\n\t\t\t\t/%<</if>>%/\n\t\t\t<<else>>\n\t\t\t\t@@.error;Unexpected trait <<= _availableThisCategory[_n]>>@@\n\t\t\t<</if>>\n\t\t<</for>>\n\t<</if>>\n<</for>>
Config.history.controls = false;\nConfig.history.maxStates = 1;\nConfig.saves.slots = 0;\nConfig.saves.autosave = true;\nConfig.saves.isAllowed = function () {\n\treturn !tags().includes("front-matter") || passage() == "Final Score";\n};\nConfig.saves.version = "1.1.1";\nConfig.debug = false;\n\nState.prng.init();\n
window.mobileVersion = true;\n\nwindow.Difficulty = {\n\tsure: 100,\n\teasy: 70,\n\tmedium: 50,\n\thard: 30,\n\tvery_hard: 10\n}\n\nwindow.DataAmounts = {\n\tlarge: 20,\t\t/* special */\n\tmedium: 10,\t\t/* a skilled explorer taking a risk, or new discovery */\n\tsmall: 5,\t\t/* risky but no one is skilled, or skilled explorer but little/no risk */\n\ttiny: 2\t\t\t/* incidental gain when doing something else, or repeat discovery */\n}\n\nwindow.FuelAmounts = {\n\tlarge: 20,\n\tmedium: 10,\n\tsmall: 5,\n\ttiny: 2,\n}\n\n
<p>Unlocking all upgrades!</p>\n\n<<unlockUpgrade "sUpgradeCrewCapacityPS">>\n<<unlockUpgrade "sUpgradeCrewCapacityBio">>\n<<unlockUpgrade "sUpgradeCrewCapacityXeno">>\n<<unlockUpgrade "sUpgradeAntiRadiation">>\n<<unlockUpgrade "sUpgradeFirstAid">>\n<<unlockUpgrade "sUpgradeLifeSupport">>\n<<unlockUpgrade "sUpgradeSuitsCold">>\n<<unlockUpgrade "sUpgradeSuitsHot">>\n<<unlockUpgrade "sUpgradeSuitsHighGrav">>\n<<unlockUpgrade "sUpgradeSuitsArmour">>\n<<unlockUpgrade "sUpgradeTranslator">>\n\n<p><<nextEventLink>></p>
Context traits: <<= $contextTraits>>\n\nOptions widget test!\n\n<<opt "Debug Test Options Widget Always">>\s\n<<opt "Debug Test Options Widget Chance" "" 50>>\s\n<<opt "Debug Test Options Widget Pilot" "ePilot" 50 "" "Debug Test Options Widget Pilot Backup" "hard">>\s\n<<opt "Debug Test Options Widget Ocean" "pOceanWater" "easy">>\s\n<<opt "Debug Test Options Widget Translator" "" "hard" "sUpgradeTranslator">>\s
This option should always be available and always succeed
Always Option Success!\n<<nextEventLink>>
This option should always be available and have a 50% chance of success
Chance success!\n<<nextEventLink>>
Chance failure!\n<<nextEventLink>>
<<name>> is a pilot. This option requires a pilot and has a base 50% chance +10% for every pilot level
This option requires a pilot and you don't have one
Pilot success!\n<<nextEventLink>>
Pilot failure!\n<<nextEventLink>>
This option requires a planet with an ocean
Ocean success!\n<<nextEventLink>>
Ocean failure!\n<<nextEventLink>>
This option is always available but has a +50% success chance if you have the universal translator
Translator success!\n<<nextEventLink>>
Translator failure!\n<<nextEventLink>>
This backup option appears if you don't have a pilot
Pilot Backup success!\n<<nextEventLink>>
Pilot Backup failure!\n<<nextEventLink>>
<<randomCrewMember>> suddenly collapses! There are <<= $crew.length-1>> left.\n<<killCrewMember "was killed by debug code">>\n\n<p>\n<div class="full-width-link">[[Again|Debug Kill Crew Member]]</div>\n<<nextEventLink>>\n</p>
<<randomCrewMember>> has to be put on life support.\n<<moveToLifeSupport>>\n\n<<nextEventLink>>
<<randomCrewMember>> is <<inlineInjureCrewMember "injured" "was killed by debug code">>!\n\n<p>\n<div class="full-width-link">[[Again|Debug Injure Crew Member]]</div>\n<<nextEventLink>>\n</p>
<<for $crew.length > 1>>\s\n\t<<randomCrewMember>> is killed!\n\t<<killCrewMember "was killed by debug code">>\n<</for>>\s\n\n<<nextEventLink>>
<p>The <<shipName>> is <<inlineDamageShip "damaged!" "was destroyed by debug code">></p>\n<p>\n<div class="full-width-link">[[Again|Debug Damage Ship]]</div>\n<<nextEventLink>>\n</p>
Who gets XP?\n<<opt "Debug Give XP Go" "ePilot" "sure">>\s\n<<opt "Debug Give XP Go" "eEngineer" "sure">>\s\n<<opt "Debug Give XP Go" "eMedic" "sure">>\s\n<<opt "Debug Give XP Go" "ePlanetaryScientist">>\s\n<<opt "Debug Give XP Go" "eBiologist" "sure">>\s\n<<opt "Debug Give XP Go" "eXenologist" "sure">>\s
<<name>> succeeds a check
<<name>> succeeds the check!\n\n<<nextEventLink>>
<<name>> fails the check!\n\n<<nextEventLink>>
<<run forget("achievements")>>\n<<unlockAchievement "all_crew_upgrades">>\n<p>You unlock an achievement!</p>\n<p>\n<<link "Unlock another without navigating">>\n\t<<unlockAchievement "all_ship_upgrades">>\n\t<<run setPageElement("achievement-popups-area-inner","Achievement Notifications")>>\n<</link>>\n<<nextEventLink>>\n</p>
/%Nothing here%/
<<include [[Setup Game]]>>\n<<set $data = {\n\tplanetary_science: 1000,\n\txenobiology: 1000,\n\txenotechnology: 1000,\n\tgateway: 1000\n} >>\n<<set $crew = []>>\n<<set $crewPool = []>>\n\n<<set $crew.push(Crew.randomCrewMember("ePilot"))>>\n<<set $crew.push(Crew.randomCrewMember("eEngineer"))>>\n<<set $crew.push(Crew.randomCrewMember("eMedic"))>>\n<<set $crew.push(Crew.randomCrewMember("ePlanetaryScientist"))>>\n<<set $crew.push(Crew.randomCrewMember("eBiologist"))>>\n<<set $crew.push(Crew.randomCrewMember("eXenologist"))>>\n\n<<set $crewPool.push(Crew.randomCrewMember("ePilot"))>>\n<<set $crewPool.push(Crew.randomCrewMember("eEngineer"))>>\n<<set $crewPool.push(Crew.randomCrewMember("eMedic"))>>\n<<set $crewPool.push(Crew.randomCrewMember("ePlanetaryScientist"))>>\n<<set $crewPool.push(Crew.randomCrewMember("eBiologist"))>>\n<<set $crewPool.push(Crew.randomCrewMember("eXenologist"))>>\n\n\n<<for _c = 0; _c < ShipUpgradeCategories.length; _c++>>\n\t<<set $ship.upgrades = $ship.upgrades.concat(ShipUpgradeCategories[_c].upgrades)>>\t\n\t<<set $researchableUpgrades = $researchableUpgrades.concat(ShipUpgradeCategories[_c].upgrades)>>\t\n<</for>>\n\n\n<<set $seenFirstBaseReturn = true>>\n<<set $seenFirstBaseReturnAfterDeath = true>>\n<<set $seenFirstLanding = true>>\n<<set $seenFirstStep = true>>\n<<set $seenFirstLife = true>>\n\n<<goto [[Intro 6]]>>
<<include [[Setup Game]]>>\n\n<<set $crew = Crew.randomCrewPool(4)>>\n\n/% Generate new system %/\n<<unset $locationOverride>>\n<<set $systemNumber++>>\n<<set $planetNumber = -1>>\n\n<<set $currentSystem = TestData.makeSolSystem()>>\n\n/% Put ship in orbit of Earth%/\n<<set $planetNumber = 0>>\n\n<<set $positionTrait = "xInOrbit">>\n\n<<include [[Planet View]]>>
<h1>Editing <<= $currentSystem.planets[$planetNumber].name>></h1>\n\nTraits:\n<ul>\n<<for _t = 0; _t < $currentSystem.planets[$planetNumber].traits.length; _t++>>\n\t<li>\n\t<<= Debug.getInternalTraitName($currentSystem.planets[$planetNumber].traits[_t])>>\n\t<<capture _t>>\n\t\t<<link "Remove">>\n\t\t\t<<set _traitName = $currentSystem.planets[$planetNumber].traits[_t]>>\n\t\t\t<<set $currentSystem.planets[$planetNumber].traits.delete(_traitName)>>\n\t\t\t<<set $currentSystem.planets[$planetNumber].knownTraits.delete(_traitName)>>\n\t\t\t<<goto [[Debug Edit Planet]]>>\n\t\t<</link>>\n\t<</capture>>\n\t</li>\n<</for>>\n</ul>\nAdd trait: <<textbox "_traitToAdd" "">>\n<<button "Add (secret)">>\n\t<<set $currentSystem.planets[$planetNumber].traits.push(_traitToAdd)>>\n\t<<goto [[Debug Edit Planet]]>>\n<</button>>\n<<button "Add (revealed)">>\n\t<<set $currentSystem.planets[$planetNumber].traits.push(_traitToAdd)>>\n\t<<set $currentSystem.planets[$planetNumber].knownTraits.push(_traitToAdd)>>\n\t<<goto [[Debug Edit Planet]]>>\n<</button>>\n<br><br>\n\n@@.full-width-link;[[Planet View]]@@
@@.full-width-link;[[Damage Ship|Debug Damage Ship]]@@\n@@.full-width-link;[[Planet View]]@@
<<set _linkText = "DEBUG: Edit " + Crew.fullName($crew[_n])>>\n<<link _linkText>>\n\t<<run setPageElement("crew-display", "Debug Edit Crew Member")>>\n<</link>>
<h1>Editing <<= Crew.fullName($crew[_n])>></h1>\nLevel: <<textbox "_newLevel" $crew[_n].level>>\n<<link "Update">>\n\t<<set $crew[_n].level = Number.parseInt(_newLevel)>>\n\t<<run setPageElement("crew-display", "Debug Edit Crew Member")>>\n<</link>>\n<br>\nXP: <<textbox "_newXP" $crew[_n].xp>>\n<<link "Update">>\n\t<<set $crew[_n].xp = Number.parseInt(_newXP)>>\n\t<<run setPageElement("crew-display", "Debug Edit Crew Member")>>\n<</link>>\n<br>\n<br>\nTraits:\n<ul>\n<<for _t = 0; _t < $crew[_n].traits.length; _t++>>\n\t<li>\n\t<<= Debug.getInternalTraitName($crew[_n].traits[_t])>>\n\t<<capture _t>>\n\t\t<<link "Remove">>\n\t\t\t<<set $crew[_n].traits.deleteAt(_t)>>\n\t\t\t<<run setPageElement("crew-display", "Debug Edit Crew Member")>>\n\t\t<</link>>\n\t<</capture>>\n\t</li>\n<</for>>\n</ul>\nAdd trait: <<textbox "_traitToAdd" "">>\n<<link "Add">>\n\t<<set $crew[_n].traits.push(_traitToAdd)>>\n\t<<run setPageElement("crew-display", "Debug Edit Crew Member")>>\n<</link>>\n<br><br>\n@@.full-width-link;<<link "Done">>\n\t<<run setPageElement("crew-display", "Crew Display")>>\n<</link>>@@
<<set _json = JSON.stringify(EntityGenerator.spawnGroups, null, 1)>>\nFULL SPAWN GROUPS:\n<br>\n<code><<= _json>></code>\n<br><br>\n<<include [[Debug Test New Universe Generator Menu]]>>
[[System|Debug Test New Universe Generator System]]\n<br>\n[[Star|Debug Test New Universe Generator Star]]\n<br>\n[[Planet|Debug Test New Universe Generator Planet]]\n<br>\n[[Many Systems|Debug Test New Universe Generator Many Systems]]\n<br>\n[[Count Traits|Debug Test New Universe Generator Count Traits]]\n<br>\n[[Start]]
<<set $civilisations = []>>\n<<set _system = StarSystemGenerator.randomSystem($civilisations)>>\n<<set _json = JSON.stringify(_system, null, 1)>>\nNew random system:\n<br><br>\n<code><<= _json>></code>\n<br><br>\n<<include [[Debug Test New Universe Generator Menu]]>>
<<set _star = StarSystemGenerator.randomStar()>>\n<<set _json = JSON.stringify(_star, null, 1)>>\nNew random star:\n<br><br>\n<code><<= _json>></code>\n<br><br>\n<<include [[Debug Test New Universe Generator Menu]]>>
<<set _planet = StarSystemGenerator.randomPlanet([],[])>>\n<<set _json = JSON.stringify(_planet, null, 1)>>\nNew random planet:\n<br><br>\n<code><<= _json>></code>\n<br><br>\n<<include [[Debug Test New Universe Generator Menu]]>>\n\n/% ::Debug Test New Universe Generator Civ [nobr front-matter] %/\n/% <<set _civ = CivGenerator.randomCiv([])>> %/\n/% <<set _json = JSON.stringify(_civ, null, 1)>> %/\n/% New random civ: %/\n/% <br><br> %/\n/% <code><<= _json>></code> %/\n/% <br><br> %/\n/% <<include [[Debug Test New Universe Generator Menu]]>> %/
<<set $debugsystems = Debug.makeManySystems()>>\nDone\n<<include [[Debug Test New Universe Generator Menu]]>>
<<set $unusedStarNames = clone(starNames)>>\n<<set _traitCounts = Debug.manySystemTraitCounts(10000)>>\n<<set _json = JSON.stringify(_traitCounts, null, 1)>>\nTrait counts for 10000 systems:\n<br><br>\n<code><<= _json>></code>\n<br><br>\n[[Start]]
/% <<for _n = 0; _n < 100; _n++>> %/\n\t/% <<set $tempCivName = []>> %/\n\t/% <<set $tempPlanetName = []>> %/\n\t/% <<script>> %/\n\t\t/% var nameList = alienNames.random(); %/\n\t\t/% var names = nameList.randomMany(2); %/\n\t\t\n\t\t/% variables().tempCivName = names[0]; %/\n\t\t/% variables().tempPlanetName = names[1]; %/\n\t/% <</script>> %/\n\t/% <<= $tempCivName>> : <<= $tempPlanetName>><br> %/\n/% <</for>> %/\n/%[[Reroll|Debug Test Alien Names]]%/\n/% <<for _nl = 0; _nl < alienNames.length; _nl++>> %/\n\t/% <<for _n = 0; _n < alienNames[_nl].length; _n++>> %/\n\t\t/% <<= alienNames[_nl][_n]>><br> %/\n\t/% <</for>> %/\n/% <</for>> %/\n<<set $unusedStarNames = clone(starNames)>>\n<<set _civilisations = Debug.manySystemCivs(1000)>>\nGenerated <<= _civilisations.length>> civs:<br>\n<<for _c = 0; _c < _civilisations.length; _c++>>\n\t<<if typeof _civilisations[_c].civName === 'string' && typeof _civilisations[_c].civPlanetName === 'string'>>\n\t\tOK: \n\t<<else>>\n\t\t<span style="color: red">BAD:</span>\n\t<</if>>\n\t<<= _civilisations[_c].civName>> : <<= _civilisations[_c].civPlanetName>>\n\t<br>\n<</for>>\n<<printDesc undefined>>\n[[Reroll|Debug Test Alien Names]]\n<br>\n[[Start]]
<<goto $debug_goto>>\n<<switchDisplay 0>>\n<<unset $debug_goto>>
<<include [[Setup Game]]>>\n<<set $crew = []>>\n<<set $crewPool = []>>\n<<set $crew.push(Crew.randomCrewMember("ePilot"))>>\n<<set $crew.push(Crew.randomCrewMember("eEngineer"))>>\n<<set $crew.push(Crew.randomCrewMember("eMedic"))>>\n<<set $crew.push(Crew.randomCrewMember("ePlanetaryScientist"))>>\n<<set $crew.push(Crew.randomCrewMember("eBiologist"))>>\n<<set $crew.push(Crew.randomCrewMember("eXenologist"))>>\n<<set $currentSystem = {\n\tname: "Sigma Beta",\n\tstars: [{\n\t\tname: "Sigma Beta",\n\t\ttraits: ["tColourYellow","tSizeMainSequence","tMassMedium","tLuminosityMedium"]\n\t\t}],\n\tplanets: [\n\t\t{\n\t\t\tname: "Sigma Beta I",\n\t\t\tcivPlanetName: "Xargon",\n\t\t\tcivName: "Xar",\n\t\t\ttraits: ["pTempGoldilocks","pTerrestrialPlanet","pMedium","pSurfaceRocky","pGravMedium","pAtmosOxNi","pAtmosThick","pOceanWater","psCiv","ctDigital","cBipedal","cOmnivores","psCities","pPossibleStructures"],\n\t\t\texploredTraits: [],\n\t\t\tmoonOf: -1,\n\t\t\tinterstellarCiv: -1,\n\t\t\tnativeCiv: -1\n\t\t},\n\t\t{\n\t\t\tname: "Test Wormhole",\n\t\t\ttraits: ["pWormhole"],\n\t\t\tknownTraits: ["pWormhole"],\n\t\t\texploredTraits: [],\n\t\t\tmoonOf: -1,\n\t\t\tinterstellarCiv: -1,\n\t\t\tnativeCiv: 1\n\t\t}\n\t]\n }>>\n<<set $planetNumber = 0>>\n\n<<include [[Debug Test Event]]>>
<h1>Test Event</h1>\s\nEvent: <<textbox "_goto" "Planet View">>\n\nCrew member 1:\n<<textbox "$crew[0].firstName" $crew[0].firstName>> <<textbox "$crew[0].lastName" $crew[0].lastName>>\nLevel: <<numberbox "$crew[0].level" 1>>\n<<debugTestEventArrayInput crew[0].traits $crew[0].traits 5>>\n\nCrew member 2:\n<<textbox "$crew[1].firstName" $crew[1].firstName>> <<textbox "$crew[1].lastName" $crew[1].lastName>>\nLevel: <<numberbox "$crew[1].level" 1>>\n<<debugTestEventArrayInput crew[1].traits $crew[1].traits 5>>\n\nCrew member 3:\n<<textbox "$crew[2].firstName" $crew[2].firstName>> <<textbox "$crew[2].lastName" $crew[2].lastName>>\nLevel: <<numberbox "$crew[2].level" 1>>\n<<debugTestEventArrayInput crew[2].traits $crew[2].traits 5>>\n\nCrew member 4:\n<<textbox "$crew[3].firstName" $crew[3].firstName>> <<textbox "$crew[3].lastName" $crew[3].lastName>>\nLevel: <<numberbox "$crew[3].level" 1>>\n<<debugTestEventArrayInput crew[3].traits $crew[3].traits 5>>\n\nCrew member 5:\n<<textbox "$crew[4].firstName" $crew[4].firstName>> <<textbox "$crew[4].lastName" $crew[4].lastName>>\nLevel: <<numberbox "$crew[4].level" 1>>\n<<debugTestEventArrayInput crew[4].traits $crew[4].traits 5>>\n\nCrew member 6:\n<<textbox "$crew[5].firstName" $crew[5].firstName>> <<textbox "$crew[5].lastName" $crew[5].lastName>>\nLevel: <<numberbox "$crew[5].level" 1>>\n<<debugTestEventArrayInput crew[5].traits $crew[5].traits 5>>\n\nSelected crew member 1: <<numberbox "$selectedCrewMember" 0>>\nSelected crew member 2: <<numberbox "$selectedCrewMember2" 0>>\n\nPosition: <<listbox "$positionTrait">>\n\t<<option "xExploringSurface">>\n\t<<option "xInOrbit">>\n\t<<option "xInterplanetary">>\n<</listbox>>\n\nPlanet:\n<<debugTestEventArrayInput currentSystem.planets[0].traits $currentSystem.planets[0].traits 10>>\n\nStar:\n<<debugTestEventArrayInput currentSystem.stars[0].traits $currentSystem.star.traits 5>>\n\nShip upgrades:\n<<debugTestEventArrayInput ship.upgrades $ship.upgrades 10>>\n\nShip traits:\n<<debugTestEventArrayInput ship.traits $ship.traits 5>>\n\n<div class="sticky-bottom-button">\n\t<div class="full-width-link"><<link "Go">>\n\t\t<<set $crew.deleteWith( function(crewMember) { return crewMember.level < 1 || crewMember.traits.length == 0; } )>>\n\t\t<<for _n = 0; _n < $crew.length; _n++>>\n\t\t\t<<set $crew[_n].traits.delete("")>>\n\t\t<</for>>\n\t\t<<set $currentSystem.planets[0].traits.delete("")>>\n\t\t<<set $currentSystem.stars[0].traits.delete("")>>\n\t\t<<set $ship.upgrades.delete("")>>\n\t\t<<set $ship.traits.delete("")>>\n\t\t<<if $currentSystem.planets[0].knownTraits === undefined>>\n\t\t\t<<set $currentSystem.planets[0].knownTraits = []>>\n\t\t<</if>>\n\t\t<<set $currentSystem.planets[0].knownTraits = $currentSystem.planets[0].knownTraits.concatUnique($currentSystem.planets[0].traits.filter(traitNonSecretFilter))>>\n\n\t\t<<include [[Refresh Context Traits]]>>\n\t\t<<goto _goto>>\n\t<</link>></div>\n</div>
/% $args[0] is the array name without $ %/\n/% $args[1] is the array %/\n/% $args[2] is the total number of rows to show %/\n<<widget debugTestEventArrayInput>>\n\t<<set _receiverBase = $args[0]>>\n\t<<set _array = $args[1]>>\n<<set _total = $args[2]>>\n\t<<if _array.length > _total>>\n\t\t<<set _total = _array.length + 1>>\n\t<</if>>\n\t<<for _n = 0; _n < _total; _n++>>\n\t\t<<set _receiver = "$" + _receiverBase + "[" + _n + "]">>\n\t\t<<if _n < _array.length>>\n\t\t\t<<textbox _receiver _array[_n]>><br>\n\t\t<<else>>\n\t\t\t<<textbox _receiver "">><br>\n\t\t<</if>>\n\t<</for>>\n<</widget>>
window.TestData = {\n\t\n\ttestArray: [\n\t\t/* comment */\n\t\t"A",\n\t\t"B",\n\t\t"C",\n\t],\n\tmakeSolSystem: function() {\n\t\tvar sol = {\n\t\t\tname: "Sol",\n\t\t\ttraits: ["tColourYellow","tSizeMainSequence","tMassMedium","tLuminosityMedium"]\n\t\t}\n\t\t\n\t\tvar solSystem = {\n\t\t\tname: "Sol",\n\t\t\tstar: sol,\n\t\t\tplanets: []\n\t\t\t\n\t\t}\n\t\t\n\t\tsolSystem.planets.push(TestData.makeEarth());\n\t\t\n\t\treturn solSystem;\n\t},\n\t\n\t\n\tmakeEarth: function() {\n\t\tvar earth = {\n\t\t\tname: "Sol III",\n\t\t\tcivPlanetName: "Earth",\n\t\t\tcivName: "humans",\n\t\t\ttraits: [\n\t\t\t\t"pTempGoldilocks","pTerrestrialPlanet","pMedium","pSurfaceRocky","pGravMedium","pAtmosThick","pAtmosOxNi","pOceanWater","pPossibleVegetation",\n\t\t\t\t"psLifeMicrobes","psLifePlants","psLifeAnimals","psMicrobesMakeOxygen","psComplexForests",\n\t\t\t\t"psCiv","pPossibleStructures","psCities","pRingSystem","psSpaceJunk","cBipedal","cOmnivores","ctTools","ctMetal","ctMachines","ctElectricity","ctAtomic","ctComputers","ctSelectiveBreeding","ctOrbital","cSuperpowers","cRepresentativeDemocracy","cWealthyElite","cUnequal","cAttitudeSuspicious",\n\t\t\t\t"cExtinct","cxClimateChange"],\n\t\t\texploredTraits: [],\n\t\t\tmoonOf: -1,\n\t\t\tmeddlingCiv: -1\n\t\t}\n\t\t//earth.civ = TestData.makeHumans();\n\t\t//earth.knownTraits = clone(earth.traits);\n\t\tearth.knownTraits = ["pTempGoldilocks","pTerrestrialPlanet","pMedium","pSurfaceRocky","pGravMedium","pAtmosThick","pAtmosOxNi"];\n\t\t\n\t\treturn earth;\n\t},\n\t\n\tmakeHumans: function() {\n\t\tvar humans = {\n\t\t\tname: "humans",\n\t\t\textinctionDate: 0,\n\t\t\thomeworldName: "Earth",\n\t\t\ttraits: ["cBipedal","cOmnivores","cInformationAge","cOrbital","cKnowName","cSuperpowers","cRepresentativeDemocracy","cWealthyElite","cUnequal"]\n\t\t}\n\t\thumans.knownTraits = clone(humans.traits);\n\t\treturn humans;\n\t},\n\t\n\tmakeTestSystem: function() {\n\t\tvar star = {\n\t\t\tname: "TestStar",\n\t\t\ttraits: ["tColourYellow","tSizeMainSequence","tMassMedium","tLuminosityMedium"]\n\t\t}\n\t\t\n\t\tstar.name = oneOf(TextUtils.greekLetters) + " " + oneOf(TextUtils.greekLetters);\n\t\t\n\t\tvar starSystem = {\n\t\t\tname: "TestStar",\n\t\t\tstar: star,\n\t\t\tplanets: []\n\t\t\t\n\t\t}\n\t\t\n\t\tstarSystem.planets.push(TestData.makeTestPlanet());\n\t\tstarSystem.planets[0].name = star.name + " I";\n\t\t\n\t\treturn starSystem;\n\t},\n\t\n\t\n\tmakeTestPlanet: function() {\n\t\tvar testPlanet = {\n\t\t\tname: "TestStar I",\n\t\t\tcivPlanetName: "TestPlanetNativeName",\n\t\t\tcivName: "TestAliens",\n\t\t\ttraits: [\n\t\t\t\t"pTempGoldilocks","pTerrestrialPlanet","pMedium","pSurfaceRocky","pGravMedium","pAtmosThick","pAtmosOxNi","pOceanWater","pPossibleVegetation",\n\t\t\t\t"psLifeMicrobes","psLifePlants","psLifeAnimals","psMicrobesMakeOxygen","psComplexForests",\n\t\t\t\t"psCiv","pPossibleStructures","psCities","pRingSystem","psSpaceJunk","cBipedal","cOmnivores","ctTools","ctMetal","ctMachines","ctElectricity","ctAtomic","ctComputers","ctSelectiveBreeding","ctOrbital","cSuperpowers","cRepresentativeDemocracy","cWealthyElite","cUnequal","cAttitudeSuspicious",\n\t\t\t\t"cExtinct","cxClimateChange"],\n\t\t\texploredTraits: [],\n\t\t\tmoonOf: -1,\n\t\t\tmeddlingCiv: -1\n\t\t}\n\t\ttestPlanet.civName = TextUtils.randomCivName();\n\t\ttestPlanet.knownTraits = ["pTempGoldilocks","pTerrestrialPlanet","pMedium","pSurfaceRocky","pGravMedium","pAtmosThick","pAtmosOxNi"];\n\t\t\n\t\treturn testPlanet;\n\t},\n\n}
window.Debug = {\n\tgetInternalTraitName: function(trait) {\n\t\treturn trait\n\t},\n\t\n\t\n\t\n\tmakeManySystems: function(num) {\n\t\tif (num === undefined) {\n\t\t\tnum = 100;\n\t\t}\n\t\t\n\t\tvar systems = [];\n\t\tfor (var n = 0; n < num; n++) {\n\t\t\tvar system = StarSystemGenerator.randomSystem();\n\t\t}\n\t\treturn systems;\n\t},\n\t\n\tmanySystemTraitCounts: function(num) {\n\t\tif (num === undefined) {\n\t\t\tnum = 100;\n\t\t}\n\t\tvar traitCounts = clone(Traits);\n\t\tfor (t in traitCounts) {\n\t\t\ttraitCounts[t] = 0;\n\t\t}\n\t\tvar civilisations = [];\n\t\tvar interstellarCivHomeSystems = StarSystemGenerator.makeInterstellarCivHomeSystems(civilisations, 10);\n\t\t\t\t\n\t\tfor (var n = 0; n < num; n++) {\n\t\t\tvar system = StarSystemGenerator.randomSystem(civilisations, false);\n\n\t\t\tfor (var t = 0; t < system.traits.length; t++) {\n\t\t\t\tif (system.traits[t] in traitCounts) {\n\t\t\t\t\ttraitCounts[system.traits[t]]++;\n\t\t\t\t} else {\n\t\t\t\t\ttraitCounts[system.traits[t]] = 1;\n\t\t\t\t}\n\t\t\t}\n\t\t\t\n\t\t\tfor (var s = 0; s < system.stars.length; s++) {\n\t\t\t\tfor (var t = 0; t < system.stars[s].traits.length; t++) {\n\t\t\t\t\tif (system.stars[s].traits[t] in traitCounts) {\n\t\t\t\t\t\ttraitCounts[system.stars[s].traits[t]]++;\n\t\t\t\t\t} else {\n\t\t\t\t\t\ttraitCounts[system.stars[s].traits[t]] = 1;\n\t\t\t\t\t}\n\t\t\t\t}\n\t\t\t}\n\t\t\tfor (var p = 0; p < system.planets.length; p++) {\n\t\t\t\tfor (var t = 0; t < system.planets[p].traits.length; t++) {\n\t\t\t\t\tif (system.planets[p].traits[t] in traitCounts) {\n\t\t\t\t\t\ttraitCounts[system.planets[p].traits[t]]++;\n\t\t\t\t\t} else {\n\t\t\t\t\t\ttraitCounts[system.planets[p].traits[t]] = 1;\n\t\t\t\t\t}\n\t\t\t\t}\n\t\t\t}\n\n\t\t}\n\t\treturn traitCounts;\n\t\t\n\t},\n\tmanySystemCivs: function(num) {\n\t\t\n\t\tif (num === undefined) {\n\t\t\tnum = 100;\n\t\t}\n\t\tvar civilisations = [];\n\t\tvar interstellarCivHomeSystems = StarSystemGenerator.makeInterstellarCivHomeSystems(civilisations, 10);\n\t\tfor (var n = 0; n < num; n++) {\n\t\t\tvar system = StarSystemGenerator.randomSystem(civilisations, false);\n\t\t}\n\t\treturn civilisations;\n\t}\n}\n
window.CivDescription = {\n\t\n\t\n\tinPlanetDesc: function(context,fullContext) {\n\t\t/*var context = clone(fullContext);*/\n\t\t/*var context = fullContext;*/\n\t\tvar ex = !context.includes("cNotExtinct");\n\t\tvar rv = "";\n\t\t\n\t\tif (context.includes("cExtinct")) {\n\t\t\trv += "This &planetNoun& once had";\n\t\t} else if (context.includes("cNotExtinct")){\n\t\t\trv += "This &planetNoun& is home to";\n\t\t} else {\n\t\t\trv += "The &shipName& has detected signs of";\n\t\t}\n\t\t\n\t\trv += CivDescription.aTech(context);\n\t\trv += " &civilisation==psCiv&";\n\t\tif (context.includesAny("cBipedal","cQuadrupedal","cAquatic","cAvian","cWormlike","cAmorphous","cOmnivores","cCarnivores","cHerbivores","cPhotosynthesizers")) {\n\t\t\trv += " of ";\n\t\t\trv += CivDescription.bodyShapeDiet(context);\n\t\t}\n\t\tif (fullContext.includes("cKnowOf")) {\n\t\t\trv += CivDescription.whoName(context,fullContext);\n\t\t}\n\t\t\n\t\trv += ".";\n\t\trv += CivDescription.commonDescription(context,fullContext);\n\t\tcontext.delete("cKnowOf");\n\t\treturn rv;\n\t},\n\t\n\tonDiscovery: function(fullContext) {\n\t\tvar context = clone(fullContext);\n\t\tvar ex = !context.includes("cNotExtinct");\n\t\tvar rv = "";\n\t\t\n\t\tif (ex) {\n\t\t\trv += "They were " + CivDescription.aTech(context);\n\t\t} else {\n\t\t\trv += "They are a &living==cNotExtinct&, " + CivDescription.tech(context);\n\t\t}\n\t\trv += " &civilisation==psCiv&";\n\t\tif (context.includesAny("cBipedal","cQuadrupedal","cAquatic","cAvian","cWormlike","cAmorphous","cOmnivores","cCarnivores","cHerbivores","cPhotosynthesizers")) {\n\t\t\trv += " of ";\n\t\t\trv += CivDescription.bodyShapeDiet(context);\n\t\t}\n\t\t\n\t\t/*rv += CivDescription.whoName(context) + ".";*/\n\t\t/* Add name only if we know it */\n\t\tif (context.includes("cKnowName")) {\n\t\t\tif (ex) {\n\t\t\t\trv += " who called themselves the &civNameKeyword&";\n\t\t\t} else {\n\t\t\t\trv += " who call themselves the &civNameKeyword&";\n\t\t\t}\n\t\t\tcontext.delete("cKnowName");\n\t\t}\n\t\trv += ".";\n\t\trv += CivDescription.commonDescription(context);\n\t\tcontext.delete("cKnowof");\n\t\treturn rv;\n\t},\n\t\n\tinDataView: function(fullContext) {\n\t\tvar context = clone(fullContext);\n\t\tvar ex = !context.includes("cNotExtinct");\n\t\tvar rv = "";\n\t\tif (context.includes("cExtinct")) {\n\t\t\trv += "an &extinct==cExtinct&";\n\t\t\trv += CivDescription.tech(context);\n\t\t} else if (context.includes("cNotExtinct")) {\n\t\t\trv += CivDescription.aTech(context);\n\t\t} else {\n\t\t\trv += "a presumed extinct";\n\t\t\trv += CivDescription.tech(context);\n\t\t}\n\t\trv += " &civilisation==psCiv&";\n\t\tif (context.includesAny("cBipedal","cQuadrupedal","cAquatic","cAvian","cWormlike","cAmorphous","cOmnivores","cCarnivores","cHerbivores","cPhotosynthesizers")) {\n\t\t\trv += " of ";\n\t\t\trv += CivDescription.bodyShapeDiet(context);\n\t\t}\n\t\trv += ".";\n\t\tcontext.delete("cKnowName","cKnowOf");\n\t\trv += CivDescription.commonDescription(context);\n\t\treturn rv;\n\t},\n\t\n\ttech: function(context) {\n\t\tvar rv = "";\n\t\tif (context.includes("ctNonToolUsing")) {\n\t\t\tcontext.delete("ctNonToolUsing");\n\t\t\trv += " &non-tool-using==ctNonToolUsing&";\n\t\t} else if (context.includes("ctPaleolithic")) {\n\t\t\tcontext.delete("ctPaleolithic");\n\t\t\trv += " &Paleolithic==ctPaleolithic&";\n\t\t} else if (context.includes("ctMesolithic")) {\n\t\t\tcontext.delete("ctMesolithic");\n\t\t\trv += " &Mesolithic==ctMesolithic&";\n\t\t} else if (context.includes("ctNeolithic")) {\n\t\t\tcontext.delete("ctNeolithic");\n\t\t\trv += " &Neolithic==ctNeolithic&";\n\t\t} else if (context.includes("ctBronzeAge")) {\n\t\t\tcontext.delete("ctBronzeAge");\n\t\t\trv += " &Bronze Age==ctBronzeAge&";\n\t\t} else if (context.includes("ctIronAge")) {\n\t\t\tcontext.delete("ctIronAge");\n\t\t\trv += " &Iron Age==ctIronAge&";\n\t\t} else if (context.includes("ctMedieval")) {\n\t\t\tcontext.delete("ctMedieval");\n\t\t\trv += " &Medieval==ctMedieval&";\n\t\t} else if (context.includes("ctIndustrial")) {\n\t\t\tcontext.delete("ctIndustrial");\n\t\t\trv += " &Industrial==ctIndustrial&";\n\t\t} else if (context.includes("ctDigital")) {\n\t\t\tcontext.delete("ctDigital");\n\t\t\trv += " &Information Age==ctDigital&";\n\t\t} else if (context.includes("ctInterstellar")) {\n\t\t\tcontext.delete("ctInterstellar","ctSpacefaring");\n\t\t\trv += " &interstellar==ctInterstellar&, &spacefaring==ctSpacefaring&";\n\t\t} else if (context.includes("ctSpacefaring")) {\n\t\t\tcontext.delete("ctSpacefaring");\n\t\t\trv += " &spacefaring==ctSpacefaring&";\n\t\t}\n\t\treturn rv;\n\t},\n\t\n\taTech: function(context) {\n\t\tvar rv = "";\n\t\tif (context.includes("ctNonToolUsing")) {\n\t\t\tcontext.delete("ctNonToolUsing");\n\t\t\trv += " a &non-tool-using==ctNonToolUsing&";\n\t\t} else if (context.includes("ctPaleolithic")) {\n\t\t\tcontext.delete("ctPaleolithic");\n\t\t\trv += " a &Paleolithic==ctPaleolithic&";\n\t\t} else if (context.includes("ctMesolithic")) {\n\t\t\tcontext.delete("ctMesolithic");\n\t\t\trv += " a &Mesolithic==ctMesolithic&";\n\t\t} else if (context.includes("ctNeolithic")) {\n\t\t\tcontext.delete("ctNeolithic");\n\t\t\trv += " a &Neolithic==ctNeolithic&";\n\t\t} else if (context.includes("ctBronzeAge")) {\n\t\t\tcontext.delete("ctBronzeAge");\n\t\t\trv += " a &Bronze Age==ctBronzeAge&";\n\t\t} else if (context.includes("ctIronAge")) {\n\t\t\tcontext.delete("ctIronAge");\n\t\t\trv += " an &Iron Age==ctIronAge&";\n\t\t} else if (context.includes("ctMedieval")) {\n\t\t\tcontext.delete("ctMedieval");\n\t\t\trv += " a &Medieval==ctMedieval&";\n\t\t} else if (context.includes("ctIndustrial")) {\n\t\t\tcontext.delete("ctIndustrial");\n\t\t\trv += " an &Industrial==ctIndustrial&";\n\t\t} else if (context.includes("ctDigital")) {\n\t\t\tcontext.delete("ctDigital");\n\t\t\trv += " an &Information Age==ctDigital&";\n\t\t} else if (context.includes("ctSpacefaring")) {\n\t\t\tcontext.delete("ctSpacefaring");\n\t\t\trv += " a &spacefaring==ctSpacefaring&";\n\t\t} else {\n\t\t\trv += " a";\n\t\t}\n\t\treturn rv;\n\t},\n\t\n\tbodyShapeDiet: function(context) {\n\t\tvar rv = "";\n\t\tvar displayedBodyShape = false;\n\t\t\n\t\t\t/* Body shape */\n\t\tif (context.includes("cBipedal")) {\n\t\t\tcontext.delete("cBipedal");\n\t\t\tdisplayedBodyShape = true;\n\t\t\trv += "&bipedal==cBipedal&";\n\t\t} else if (context.includes("cQuadrupedal")) {\n\t\t\tcontext.delete("cQuadrupedal");\n\t\t\tdisplayedBodyShape = true;\n\t\t\trv += "&quadrupedal==cQuadrupedal&";\n\t\t} else if (context.includes("cAquatic")) {\n\t\t\tcontext.delete("cAquatic");\n\t\t\tdisplayedBodyShape = true;\n\t\t\trv += "&aquatic==cAquatic&";\n\t\t} else if (context.includes("cAvian")) {\n\t\t\tcontext.delete("cAvian");\n\t\t\tdisplayedBodyShape = true;\n\t\t\trv += "&avian==cAvian&";\n\t\t} else if (context.includes("cWormlike")) {\n\t\t\tcontext.delete("cWormlike");\n\t\t\tdisplayedBodyShape = true;\n\t\t\trv += "&worm-like==cWormlike&";\n\t\t} else if (context.includes("cAmorphous")) {\n\t\t\tcontext.delete("cAmorphous");\n\t\t\tdisplayedBodyShape = true;\n\t\t\trv += "&amorphous==cAmorphous&";\n\t\t}\n\t\t\n\t\t\t/* Diet */\n\t\tif (context.includes("cAICiv")) {\n\t\t\tcontext.delete("cAICiv");\n\t\t\trv += " &machines==cAICiv&";\n\t\t} else if (context.includes("cOmnivores")) {\n\t\t\tcontext.delete("cOmnivores");\n\t\t\trv += " &omnivores==cOmnivores&";\n\t\t} else if (context.includes("cCarnivores")) {\n\t\t\tcontext.delete("cCarnivores");\n\t\t\trv += " &carnivores==cCarnivores&";\n\t\t} else if (context.includes("cHerbivores")) {\n\t\t\tcontext.delete("cHerbivores");\n\t\t\trv += " &herbivores==cHerbivores&";\n\t\t} else if (context.includes("cPhotosynthesizers")) {\n\t\t\tcontext.delete("cPhotosynthesizers");\n\t\t\trv += " &photosynthesizers==cPhotosynthesizers&";\n\t\t} else /*if (displayedBodyShape)*/ {\n\t\t\trv += " creatures";\n\t\t}\n\t\t\n\t\treturn rv;\n\t},\n\t\n\twhoName: function(context) {\n\t\tvar rv = "";\n\t\tvar ex = !context.includes("cNotExtinct");\n\t\tif (context.includes("cKnowName")) {\n\t\t\tif (ex) {\n\t\t\t\trv += " who called themselves the &civNameKeyword&";\n\t\t\t} else {\n\t\t\t\trv += " who call themselves the &civNameKeyword&";\n\t\t\t}\n\t\t\tcontext.delete("cKnowName");\n\t\t} else {\n\t\t\trv += " whom the explorers have nicknamed the &civNameKeyword&";\n\t\t}\n\t\treturn rv;\n\t},\n\t\n\t\n\tcommonDescription: function(context,fullContext) {\n\t\t\n\t\t/*var context = clone(civTraits);*/\n\t\t/*var context = civTraits;*/\n\t\tif (fullContext === undefined) {\n\t\t\tfullContext = clone(context);\n\t\t}\n\t\tvar ex = !context.includes("cNotExtinct");\n\t\t\n\t\tvar rv = "";\n\t\t\t\n\t\t\t\t/* TECHNOLOGY DETAILS */\n\t\tif (context.includesAll("ctOrbital")) {\n\t\t\tcontext.delete("ctOrbital");\n\t\t\trv += " They "+(ex?"had":"have")+" &achieved orbit==ctOrbital& of their homeworld, although they "+(ex?"did":"do")+" not use space travel extensively enough to be called a fully spacefaring civilisation.";\n\t\t}\n\n\n\t\t/* Technological regression: new for 1.1.0 */\n\t\tif (context.includes("ctRegressionRejection")) {\n\t\t\tcontext.delete("ctRegression","ctRegressionRejection");\n\t\t\trv += " They once had more advanced technology, but &deliberately rejected it==ctRegressionRejection& in order to adopt a simpler way of life.";\n\t\t}\n\t\tif (context.includes("ctRegressionDepletion")) {\n\t\t\tcontext.delete("ctRegression","ctRegressionDepletion");\n\t\t\trv += " They once had more advanced technology, but &depleted the resources==ctRegressionDepletion& they needed to maintain it and were forced to regress to a simpler level of technology.";\n\t\t}\n\t\tif (context.includes("ctRegressionFlare")) {\n\t\t\tcontext.delete("ctRegression","ctRegressionFlare");\n\t\t\trv += " They once had more advanced technology, but an intense period of &stellar flare==ctRegressionFlare& activity destroyed their electronics and the survivors were forced to regress to a simpler level of technology.";\n\t\t}\n\t\tif (context.includes("ctRegressionWar")) {\n\t\t\tcontext.delete("ctRegression","ctRegressionWar");\n\t\t\trv += " They once had more advanced technology, but a &global war==ctRegressionWar& destroyed their technological base and left their civilisation in more primitive state.";\n\t\t}\n\t\tif (context.includes("ctRegressionMeddling")) {\n\t\t\tcontext.delete("ctRegression","ctRegressionMeddling","psMeddlingCiv","pIdentifiedMeddlingCiv","psMeddlingCivDetected");\n\n\t\t\trv += " They once had more advanced technology, but the &meddlingCivName& interfered with their civilisation and forced them to ®ress==ctRegressionMeddling& to a lower technological level.";\n\t\t}\n\n\t\tif (context.includes("ctRegression")) {\n\t\t\tcontext.delete("ctRegression");\n\t\t\tif (ex) {\n\t\t\t\trv += " They once had more advanced technology, but ®ressed==ctRegression& to a lower technological level before their eventual extinction.";\n\t\t\t} else {\n\t\t\t\trv += " There is evidence that they once had more advanced technology, but ®ressed==ctRegression& to a lower technological level.";\n\t\t\t}\n\t\t}\n\n\t\t\n\t\t/* SETTLEMENTS AND OTHER EFFECTS ON HOME PLANET */\n\t\tif (context.includesAll("psUndergroundCities","psArtificialCaves")) {\n\t\t\tcontext.delete("pCaves","psUndergroundCities","psArtificialCaves");\n\t\t\trv += " They "+(ex?"lived":"live")+" in &cities==psUndergroundCities& built into an &artificial cave system==psArtificialCaves&.";\n\t\t} \n\n\t\tif (context.includes("psUndergroundCities")) {\n\t\t\tcontext.delete("pCaves","psUndergroundCities");\n\t\t\tif (ex) {\n\t\t\t\trv += " Their &underground cities==psUndergroundCities& still stand in &thePlanetNoun&'s natural cave system.";\n\t\t\t} else {\n\t\t\t\trv += " They live in &underground cities==psUndergroundCities& inside &thePlanetNoun&'s natural cave system.";\n\t\t\t}\n\t\t} \n\t\tif (context.includes("psCities")) {\n\t\t\tcontext.delete("pPossibleStructures","psCities");\n\t\t\tif (ex) {\n\t\t\t\trv += " Their &ruined cities==psCities& dot &thePlanetNoun&'s surface.";\n\t\t\t} else {\n\t\t\t\trv += " They live in &cities==psCities& on &thePlanetNoun&'s surface.";\n\t\t\t}\n\t\t} \n\t\tif (context.includes("psSmallSettlements")) {\n\t\t\tcontext.delete("pPossibleStructures","psSmallSettlements");\n\t\t\tif (ex) {\n\t\t\t\trv += " The ruins of their &small settlements==psSmallSettlements& dot &thePlanetNoun&'s surface.";\n\t\t\t} else {\n\t\t\t\trv += " They live in innumerable &small settlements==psSmallSettlements& scattered across &thePlanetNoun&'s surface.";\n\t\t\t}\n\t\t} \n\t\tif (context.includesAll("psForestCities","psTendedForests")) {\n\t\t\tcontext.delete("pPossibleVegetation","psForestCities","psTendedForests");\n\t\t\tif (ex) {\n\t\t\t\trv += " The planet's forests still grow into the shapes of their &forest cities==psForestCities&.";\n\t\t\t} else {\n\t\t\t\trv += " They live in &forests==psForestCities&, whose plants they have engineered to grow into living spaces.";\n\t\t\t}\n\t\t} \n\t\tif (context.includes("psForestCities")) {\n\t\t\tcontext.delete("pPossibleVegetation","psForestCities");\n\t\t\tif (ex) {\n\t\t\t\trv += " Traces of their &forest cities==psForestCities& still exist in &thePlanetNoun&'s forests.";\n\t\t\t} else {\n\t\t\t\trv += " They build their &cities==psForestCities& into the branches of &thePlanetNoun&'s forests.";\n\t\t\t}\n\t\t} \n\t\tif (context.includes("psTendedForests")) {\n\t\t\tcontext.delete("pPossibleVegetation","psTendedForests");\n\t\t\tif (ex) {\n\t\t\t\trv += " &thePlanetNoun&'s plant life still shows signs of having once been &tended==psTendedForests&.";\n\t\t\t} else {\n\t\t\t\trv += " They tend &thePlanetNoun&'s plant life into huge &gardens==psTendedForests&.";\n\t\t\t}\n\t\t} \n\n\t\tif (context.includes("psFloatingCities")) {\n\t\t\tcontext.delete("pFloatingStructures","psFloatingCities");\n\t\t\tif (ex) {\n\t\t\t\trv += " Their abandoned &floating cities==psFloatingCities& drift aimlessly across the surface of the ocean.";\n\t\t\t} else {\n\t\t\t\trv += " They live in &floating cities==psFloatingCities& that drift across the surface of its ocean.";\n\t\t\t}\n\t\t} \n\t\tif (context.includes("psCrystalCities")) {\n\t\t\tcontext.delete("psCrystalCities","pPossibleVegetation");\n\t\t\tif (fullContext.includes("psCrystalForests")) {\n\t\t\t\tif (ex) {\n\t\t\t\t\trv += " They built &crystal cities==psCrystalCities& into &thePlanetNoun&'s natural crystal formations.";\n\t\t\t\t} else {\n\t\t\t\t\trv += " They build &crystal cities==psCrystalCities& into &thePlanetNoun&'s natural crystal formations.";\n\t\t\t\t}\n\t\t\t} else {\n\t\t\t\tif (ex) {\n\t\t\t\t\trv += " Their &crystal cities==psCrystalCities& slowly crumble on the surface.";\n\t\t\t\t} else {\n\t\t\t\t\trv += " Their &crystal cities==psCrystalCities& dot &thePlanetNoun&'s surface.";\n\t\t\t\t}\n\t\t\t}\n\t\t}\n\t\tif (context.includes("psInhabitedFloatingVeg")) {\n\t\t\tcontext.delete("pFloatingStructures","psInhabitedFloatingVeg");\n\t\t\tif (ex) {\n\t\t\t\trv += " Traces of their &settlements==psInhabitedFloatingVeg& still exist on the mats of floating vegetation.";\n\t\t\t} else {\n\t\t\t\trv += " They live in &settlements==psInhabitedFloatingVeg& on the mats of floating vegetation.";\n\t\t\t}\n\t\t}\n\t\tif (context.includes("psUnderwaterCities")) {\n\t\t\tcontext.delete("psUnderwaterCities");\n\t\t\tif (ex) {\n\t\t\t\trv += " The ruins of their &underwater cities==psUnderwaterCities& rest on the ocean floor.";\n\t\t\t} else {\n\t\t\t\trv += " They live in &underwater cities==psUnderwaterCities& on the ocean floor.";\n\t\t\t}\n\t\t}\n\t\tif (context.includes("psSmallUnderwaterSettlements")) {\n\t\t\tcontext.delete("psSmallUnderwaterSettlements");\n\t\t\tif (ex) {\n\t\t\t\trv += " The ruins of their small &settlements==psSmallUnderwaterSettlements& dot the ocean floor.";\n\t\t\t} else {\n\t\t\t\trv += " They live in &small settlements==psSmallUnderwaterSettlements& on the ocean floor.";\n\t\t\t}\n\t\t}\n\t\tif (context.includes("psFlyingCities")) {\n\t\t\tcontext.delete("psFlyingCities","pFlyingObjects");\n\t\t\tif (ex) {\n\t\t\t\trv += " The ruins of their &aerial cities==psFlyingCities& still drift through the atmosphere.";\n\t\t\t} else {\n\t\t\t\tif (context.includes("psAircraft")) {\n\t\t\t\t\tcontext.delete("psAircraft");\n\t\t\t\t\trv += " Their &aircraft==psAircraft& crowd the skies between their &flying cities==psFlyingCities&.";\n\t\t\t\t} else {\n\t\t\t\t\trv += " They live in &aerial cities==psFlyingCities&.";\n\t\t\t\t}\n\n\t\t\t}\n\t\t}\n\t\tif (context.includes("psNomadicGroups")) {\n\t\t\tcontext.delete("psNomadicGroups","pMovingLandObjects");\n\t\t\tif (ex) {\n\t\t\t\trv += " They lived in &nomadic groups==psNomadicGroups& that travelled across &thePlanetNoun&'s surface.";\n\t\t\t} else {\n\t\t\t\trv += " They live in &nomadic groups==psNomadicGroups& that travel across &thePlanetNoun&'s surface.";\n\t\t\t}\n\t\t}\n\t\tif (context.includes("psAirborneNomads")) {\n\t\t\tcontext.delete("psAirborneNomads","pFlyingObjects");\n\t\t\tif (ex) {\n\t\t\t\trv += " They lived in &nomadic groups==psAirborneNomads& that travelled through &thePlanetNoun&'s atmosphere.";\n\t\t\t} else {\n\t\t\t\trv += " They live in &nomadic groups==psAirborneNomads& that travel through &thePlanetNoun&'s atmosphere.";\n\t\t\t}\n\t\t}\n\t\tif (context.includes("psOceanNomads")) {\n\t\t\tcontext.delete("psOceanNomads");\n\t\t\tif (ex) {\n\t\t\t\trv += " They lived in &nomadic groups==psOceanNomads& that travelled through &thePlanetNoun&'s oceans.";\n\t\t\t} else {\n\t\t\t\trv += " They live in &nomadic groups==psOceanNomads& that travel through &thePlanetNoun&'s oceans.";\n\t\t\t}\n\t\t}\n\t\tif (context.includes("psAircraft")) {\n\t\t\tcontext.delete("psAircraft","pFlyingObjects");\n\t\t\trv += " Their &aircraft==psAircraft& "+(ex?"once crowded":"crowd")+" &thePlanetNoun&'s skies.";\n\t\t}\n\t\tif (context.includes("psNuclearBattlefields")) {\n\t\t\tcontext.delete("pRadiationZones","psNuclearBattlefields");\n\t\t\tif (ex) {\n\t\t\t\trv += " Parts of the "+(fullContext.includes("pGasGiant")?"atmosphere":"surface")+" are still radioactive from their devastating &nuclear wars==psNuclearBattlefields&.";\t\t\t\t\t\n\t\t\t} else {\n\t\t\t\trv += " Devastating &nuclear wars==psNuclearBattlefields& have left parts of the "+(fullContext.includes("pGasGiant")?"atmosphere":"surface")+" radioactive.";\n\t\t\t}\n\t\t\t\n\t\t} \n\t\tif (context.includes("psNuclearPowerAccident")) {\n\t\t\tcontext.delete("pRadiationZones","psNuclearPowerAccident");\n\t\t\tif (ex) {\n\t\t\t\trv += " Part of the "+(fullContext.includes("pGasGiant")?"atmosphere":"surface")+" is still radioactive from a large-scale &nuclear power accident==psNuclearPowerAccident&.";\n\t\t\t} else {\n\t\t\t\trv += " A catastrophic &nuclear power accident==psNuclearPowerAccident& has left part of the "+(fullContext.includes("pGasGiant")?"atmosphere":"surface")+" radioactive.";\n\t\t\t}\n\t\t}\n\t\tif (context.includes("psSatelliteRing")) {\n\t\t\tcontext.delete("pRingSystem","psSatelliteRing");\n\t\t\tif (ex) {\n\t\t\t\trv += " The remains of their &artificial satellites==psSatelliteRing& still orbit &thePlanetNoun&.";\n\t\t\t} else {\n\t\t\t\trv += " Their &artificial satellites==psSatelliteRing& orbit &thePlanetNoun&.";\n\t\t\t}\n\t\t} \n\t\tif (context.includes("psSpaceJunk")) {\n\t\t\tcontext.delete("pRingSystem","psSpaceJunk");\n\t\t\trv += " Their space program has left &thePlanetNoun&'s orbit crowded with &space junk==psSpaceJunk&.";\n\t\t}\n\t\tif (context.includes("psIndustrialGreenhouse")) {\n\t\t\tcontext.delete("pRunawayGreenhouseEffect","psIndustrialGreenhouse");\n\t\t\trv += " Warming caused by their industries pushed the already delicate climate over a tipping point, leading to a &runaway greenhouse effect==psIndustrialGreenhouse& that left the &planetNoun& in its current inhospitable state.";\n\t\t}\n\t\tif (context.includes("psOceanSurfacePollution")) {\n\t\t\tcontext.delete("pOceanSurfaceScum","psOceanSurfacePollution");\n\t\t\tif (ex) {\n\t\t\t\trv += " &Pollution==psOceanSurfacePollution& from their industries still floats on &thePlanetNoun&'s oceans.";\n\t\t\t} else {\n\t\t\t\trv += " Their industries constantly pump &pollution==psOceanSurfacePollution& into &thePlanetNoun&'s oceans.";\n\t\t\t}\n\t\t}\n\t\t\n\t\t/* CIV MYSTERY SOLUTIONS */\n\t\tif (context.includes("cAIConversion")) {\n\t\t\tcontext.delete("cAICiv","cAIConversion");\n\t\t\trv += " Their ancestors long ago &transferred their minds into mechanical bodies==cAIConversion&, becoming a civilisation of intelligent machines.";\n\t\t}\n\t\tif (context.includes("cAIOutlived")) {\n\t\t\tcontext.delete("cAICiv","cAIOutlived");\n\t\t\trv += " They were originally robots who &outlived their creators==cAIOutlived& and inherited their civilisation.";\n\t\t}\n\t\tif (context.includes("cAIReplacement")) {\n\t\t\tcontext.delete("cAICiv","cAIReplacement");\n\t\t\trv += " They were originally robotic servants, who &destroyed their creators==cAIReplacement& and replaced them.";\n\t\t}\n\n\n\t\tif (context.includes("cPackIntelligence")) {\n\t\t\tcontext.delete("cSmallGroups","cPackIntelligence");\n\t\t\trv += " They "+(ex?"had":"have")+" a &pack intelligence==cPackIntelligence&, "+(ex?"in which each individual was":"with each individual being")+" a small group of creatures with a shared consciousness.";\n\t\t}\n\t\tif (context.includes("cStrongSocialBonds")) {\n\t\t\tcontext.delete("cSmallGroups","cStrongSocialBonds");\n\t\t\trv += " They "+(ex?"had":"have")+" &very strong social bonds==cStrongSocialBonds&, going everywhere and doing everything in small groups.";\n\t\t}\n\t\tif (context.includes("cBondedOffspring")) {\n\t\t\tcontext.delete("cSmallGroups","cBondedOffspring");\n\t\t\trv += " Their children &"+(ex?"stayed":"stay")+" with their parents==cBondedOffspring& at all times until they "+(ex?"reached":"reach")+" maturity.";\n\t\t}\n\t\tif (context.includes("cRedundantGroups")) {\n\t\t\tcontext.delete("cSmallGroups","cRedundantGroups");\n\t\t\trv += " They "+(ex?"practiced":"practice")+" &social redundancy==cRedundantGroups&, in which multiple individuals "+(ex?"did":"do")+" everything together so that any one of them "+(ex?"could":"can")+" step in if another "+(ex?"was":"is")+" incapacitated.";\n\t\t}\n\t\t\n\t\tif (context.includes("cHistoricalCulture")) {\n\t\t\tcontext.delete("cDistantMemories","cHistoricalCulture");\n\t\t\trv += " They "+(ex?"devoted":"devote")+" a great deal of energy to &preserving and learning their history==cHistoricalCulture&.";\n\t\t}\n\t\tif (context.includes("cInheritedMemories")) {\n\t\t\tcontext.delete("cDistantMemories","cInheritedMemories");\n\t\t\trv += " They "+(ex?"were":"are")+" able to &inherit memories==cInheritedMemories& from their parents.";\n\t\t}\n\t\tif (context.includes("cCannibalMemories")) {\n\t\t\tcontext.delete("cDistantMemories","cCannibalMemories");\n\t\t\trv += " They "+(ex?"had":"have")+" a natural ability to &acquire memories by eating the dead==cCannibalMemories&.";\n\t\t}\n\t\tif (context.includes("cLongLivedSymbionts")) {\n\t\t\tcontext.delete("cDistantMemories","cLongLivedSymbionts");\n\t\t\trv += " Their brains "+(ex?"contained":"contain")+" &long-lived symbionts==cLongLivedSymbionts& that "+(ex?"moved":"move")+" to new hosts when the old ones "+(ex?"died":"die")+", taking their memories with them.";\n\t\t}\n\t\tif (context.includes("cRejuvenationTechnology")) {\n\t\t\tcontext.delete("cDistantMemories","cRejuvenationTechnology");\n\t\t\trv += " Their &rejuvenation technology==cRejuvenationTechnology& "+(ex?"allowed":"allows")+" them to live effectively forever.";\n\t\t}\n\t\tif (context.includes("cMemoryRecordings")) {\n\t\t\tcontext.delete("cDistantMemories","cMemoryRecordings");\n\t\t\trv += " They "+(ex?"were":"are")+" able to &record and transfer memories==cMemoryRecordings& using technology.";\n\t\t}\n\t\t\n\t\tif (context.includes("cNaturalSanctuaries")) {\n\t\t\tcontext.delete("cUndevelopedAreas","cNaturalSanctuaries");\n\t\t\trv += " They deliberately "+(ex?"preserved":"preserve")+" large areas of the &planetNoun& as &natural sanctuaries==cNaturalSanctuaries&.";\n\t\t}\n\t\tif (context.includes("cHarmfulAreas")) {\n\t\t\tcontext.delete("cUndevelopedAreas","cHarmfulAreas");\n\t\t\trv += " They "+(ex?"were":"are")+" only able to live on &certain areas==cHarmfulAreas& of the &planetNoun&, the others being harmful to their biology.";\n\t\t}\n\t\tif (context.includes("cAncientRadiationZones")) {\n\t\t\tcontext.delete("cUndevelopedAreas","cAncientRadiationZones");\n\t\t\trv += " They &"+(ex?"shunned":"shun")+" certain areas==cAncientRadiationZones& of the planet that were once radioactive, the taboo against settling them having outlasted the radiation itself.";\n\t\t}\n\n\n\t\tif (context.includes("cTwoSeparatelyEvolvedSpecies")) {\n\t\t\tcontext.delete("cTwoSpecies","cTwoSeparatelyEvolvedSpecies");\n\t\t\trv += " The civilisation "+(ex?"consisted":"consists")+" of &two species==cTwoSeparatelyEvolvedSpecies& which originally evolved separately on different parts of the &planetNoun&.";\n\t\t}\n\t\tif (context.includes("cCivIncludesAliens")) {\n\t\t\tcontext.delete("cTwoSpecies","cCivIncludesAliens","psMeddlingCiv","pIdentifiedMeddlingCiv","psMeddlingCivDetected");\n\t\t\trv += " The civilisation "+(ex?"incorporated":"incorporares")+" a &meddlingCivName& population that arrived at the &planetNoun& as &settlers==cCivIncludesAliens&.";\n\t\t}\n\t\tif (context.includes("cCivIncludesUpliftedAnimals")) {\n\t\t\tcontext.delete("cTwoSpecies","cCivIncludesUpliftedAnimals");\n\t\t\trv += " The planet's dominant species &uplifted a second species==cCivIncludesUpliftedAnimals& to sapience, and eventually integrated them into their civilisation.";\n\t\t}\n\t\tif (context.includes("cCivIncludesCreatedSpecies")) {\n\t\t\tcontext.delete("cTwoSpecies","cCivIncludesCreatedSpecies");\n\t\t\trv += " The planet's dominant species &created a second sapient species==cCivIncludesUpliftedAnimals&, and they are now integrated into the civilisation.";\n\t\t}\n\t\tif (context.includes("cLifeStageDiversity")) {\n\t\t\tcontext.delete("cTwoSpecies","cLifeStageDiversity");\n\t\t\trv += " The species &"+(ex?"took":"takes")+" on radically different forms==cLifeStageDiversity& at different stages of its life cycle.";\n\t\t}\n\n\t\tif (context.includes("cGeneticallyModifiedSpecies")) {\n\t\t\tcontext.delete("cCivNotLinkedToNativeLife","cGeneticallyModifiedSpecies");\n\t\t\trv += " They "+(ex?"had":"have")+" &genetically modified themselves==cGeneticallyModifiedSpecies& so extensively that they no longer "+(ex?"resembled":"resemble")+" the animals from which they evolved.";\n\t\t}\n\t\tif (context.includes("cMissingLinksExterminated")) {\n\t\t\tcontext.delete("cCivNotLinkedToNativeLife","cMissingLinksExterminated");\n\t\t\trv += " Although they evolved from the native life, at some "+(ex?"point before their extinction":"time in the past")+" they &wiped out==cMissingLinksExterminated& any animals remotely resembling themselves.";\n\t\t}\n\n\n\t\tif (context.includes("cBrainInterfaces")) {\n\t\t\tcontext.delete("cCyberBrains","cBrainInterfaces");\n\t\t\trv += " They "+(ex?"interfaced":"interface")+" with their technology using &cybernetic implants==cBrainInterfaces&.";\n\t\t}\n\t\tif (context.includes("cGovernmentBrainImplants")) {\n\t\t\tcontext.delete("cCyberBrains","cGovernmentBrainImplants");\n\t\t\trv += " The ruling class "+(ex?"forced":"forces")+" the population to install &thought-monitoring implants==cGovernmentBrainImplants&.";\n\t\t}\n\t\tif (context.includes("cCyberneticGroupMind")) {\n\t\t\tcontext.delete("cCyberBrains","cCyberneticGroupMind");\n\t\t\trv += " The entire population "+(ex?"was":"is")+" linked in a &cybernetic group mind==cCyberneticGroupMind&.";\n\t\t}\n\n\t\tif (context.includes("cNaturalCloning")) {\n\t\t\tcontext.delete("cImprobablyHomogeneous","cNaturalCloning");\n\t\t\trv += " They "+(ex?"reproduced":"reproduce")+" by &natural cloning==cNaturalCloning&.";\n\t\t}\n\t\tif (context.includes("cCloneWorld")) {\n\t\t\tcontext.delete("cImprobablyHomogeneous","cCloneWorld");\n\t\t\trv += " The entire population "+(ex?"consisted":"consists")+" of &clones==cCloneWorld& of a single individual.";\n\t\t}\n\t\tif (context.includes("cOneFashionableAppearance")) {\n\t\t\tcontext.delete("cImprobablyHomogeneous","cOneFashionableAppearance");\n\t\t\tif (ex) {\n\t\t\t\trv += " They routinely modified their appearance, and at the time of their extinction the entire population had adopted a &single fashionable appearance==cOneFashionableAppearance&.";\n\t\t\t} else {\n\t\t\t\trv += " They routinely modify their appearance, and the entire population has currently adopted a &single fashionable appearance==cOneFashionableAppearance&.";\n\t\t\t}\n\t\t}\n\n\t\tif (context.includes("cDeathReverence")) {\n\t\t\tcontext.delete("cMummiesOnDisplay","cDeathReverence");\n\t\t\trv += " They &"+(ex?"revered":"revere")+" their dead==cDeathReverence&, whose preserved bodies they keep prominently on display.";\n\t\t}\n\t\tif (context.includes("cDeadInformationStorage")) {\n\t\t\tcontext.delete("cMummiesOnDisplay","cDeadInformationStorage");\n\t\t\trv += " They "+(ex?"could":"can")+" &retrieve memories from the dead==cDeadInformationStorage&, and keep preserved bodies around as an information store.";\n\t\t}\n\t\tif (context.includes("cDormantNotDead")) {\n\t\t\tcontext.delete("cMummiesOnDisplay","cDormantNotDead");\n\t\t\trv += " Their life cycle "+(ex?"included":"includes")+" &long periods of dormancy==cDormantNotDead&.";\n\t\t}\n\n\t\tif (context.includes("cSocialEquilibrium")) {\n\t\t\tcontext.delete("cHistoricalStasis","cSocialEquilibrium");\n\t\t\trv += " The civilisation "+(ex?"had":"have")+" achieved an &equilibrium state==cSocialEquilibrium&, in which any changes will tend to self-correct.";\n\t\t}\n\t\tif (context.includes("cMeddlingStasis")) {\n\t\t\tcontext.delete("cHistoricalStasis","cMeddlingStasis","psMeddlingCiv","pIdentifiedMeddlingCiv","psMeddlingCivDetected");\n\t\t\trv += " The &meddlingCivName& regularly &"+(ex?"interfered":"interfere")+" in their development==cMeddlingStasis& to keep them in a state of historical stasis.";\n\t\t}\n\t\tif (context.includes("cFakeHistory")) {\n\t\t\tcontext.delete("cHistoricalStasis","cFakeHistory");\n\t\t\trv += " They "+(ex?"had":"have")+" &faked their historical records==cFakeHistory& so that the "+(ex?"final":"current")+" state of their civilisation "+(ex?"appeared":"appears")+" to have persisted forever.";\n\t\t}\n\n\t\tif (context.includes("cBaselessAncientAliensMyth")) {\n\t\t\tcontext.delete("cAncientAliensMyth","cBaselessAncientAliensMyth");\n\t\t\trv += " Their &rich mythology==cBaselessAncientAliensMyth& "+(ex?"included":"includes")+" imaginary tales of beings from the stars.";\n\t\t}\n\t\tif (context.includes("cRealAncientAliensMyth")) {\n\t\t\tcontext.delete("cAncientAliensMyth","cRealAncientAliensMyth","psMeddlingCiv","pIdentifiedMeddlingCiv","psMeddlingCivDetected");\n\t\t\trv += " Their mythology records stories of an &ancient visit==cRealAncientAliensMyth& by the &meddlingCivName&.";\n\t\t}\n\n\t\tif (context.includes("cPeriodicHibernation")) {\n\t\t\tcontext.delete("cEmptySettlements","cPeriodicHibernation");\n\t\t\tif (ex) {\n\t\t\t\trv += " Large parts of the population would &periodically hibernate==cPeriodicHibernation&.";\n\t\t\t} else {\n\t\t\t\trv += " Most of the population is in one of its &periodic hibernations==cPeriodicHibernation&.";\n\t\t\t}\n\t\t}\n\t\tif (context.includes("cPeriodicDieOffs")) {\n\t\t\tcontext.delete("cEmptySettlements","cPeriodicDieOffs");\n\t\t\trv += " Their life cycle "+(ex?"involved":"involves")+" &periodic die-offs==cPeriodicDieOffs& of almost the entire population.";\n\t\t}\n\t\tif (context.includes("cRecentPlague")) {\n\t\t\tcontext.delete("cEmptySettlements","cRecentPlague");\n\t\t\tif (ex) {\n\t\t\t\trv += " A &virulent disease==cRecentPlague& ravaged their population in the generations before their eventual extinction.";\n\t\t\t} else {\n\t\t\t\trv += " A &virulent disease==cRecentPlague& recently wiped out most of the population.";\n\t\t\t}\n\t\t}\n\t\t\n\t\t/* NEW FOR 1.1.0 */\n\t\tif (context.includes("psSimulatedWorld")) {\n\t\t\tcontext.delete("psPlanetSpanningComputer","psSimulatedWorld","pPossibleStructures");\n\t\t\tif (ex) {\n\t\t\t\trv += " Although they are extinct in the 'real world', a proportion of their civilisation live on in a &simulated reality==psSimulatedWorld& sustained by huge city-like computers.";\n\t\t\t} else {\n\t\t\t\trv += " The population living in the 'real world' coexists with many others who live as virtual beings in a &simulated world==psSimulatedWorld&.";\n\t\t\t}\n\t\t}\n\t\tif (context.includes("psComputerGod")) {\n\t\t\tcontext.delete("psPlanetSpanningComputer","psComputerGod","pPossibleStructures");\n\t\t\tif (ex) {\n\t\t\t\trv += " By the time of their extinction, they had delegated the running of their civilisation to a &huge computer system==psComputerGod& that they treated essentially like a god.";\n\t\t\t} else {\n\t\t\t\trv += " Their civilisation is run by a &huge computer system==psComputerGod& that they treat essentially like a god.";\n\t\t\t}\n\t\t}\n\t\tif (context.includes("psGrandCalculator")) {\n\t\t\tcontext.delete("psPlanetSpanningComputer","psGrandCalculator","pPossibleStructures");\n\t\t\tif (ex) {\n\t\t\t\trv += " Although they are gone, their greatest achievement remains: a huge computer system spanning much of their &planetNoun&, still performing calculations to &solve a fundamental question==psGrandCalculator& about the nature of reality.";\n\t\t\t} else {\n\t\t\t\trv += " A significant part of their resources are devoted to maintaining a huge computer system, which is performing calculations to &solve a fundamental question==psGrandCalculator& about the nature of reality.";\n\t\t\t}\n\t\t}\n\t\tif (context.includes("psPlanetSpanningComputer")) {\n\t\t\tcontext.delete("psPlanetSpanningComputer","pPossibleStructures");\n\t\t\tif (fullContext.includesAny("psCities","psSmallSettlements")) {\n\t\t\t\tif (ex) {\n\t\t\t\t\trv += " The building-sized nodes of a &huge interconnected computer system==psPlanetSpanningComputer& runs throughout their crumbling settlements, still active despite the disappearance of its makers.";\n\t\t\t\t} else {\n\t\t\t\t\trv += " Throughout their settlements run the building-sized nodes of a &huge interconnected computer system==psPlanetSpanningComputer&.";\t\t\t\t}\n\t\t\t} else {\n\t\t\t\tif (ex) {\n\t\t\t\t\trv += " The building-sized nodes of a &huge interconnected computer system==psPlanetSpanningComputer& stretch out across the &planetNoun&'s surface, still active despite the disappearance of its makers.";\n\t\t\t\t} else {\n\t\t\t\t\trv += " The civilisation devotes considerable resources to maintaining a &huge interconnected computer system==psPlanetSpanningComputer& that stretches across the &planetNoun&'s surface.";\n\t\t\t\t}\n\t\t\t}\n\t\t}\n\t\t\n\t\t/* Civ solutions to life mysteries */\n\t\tif (context.includesAll("plsExtinctionNativeCiv")) {\n\t\t\tcontext.delete("plRecentExtinction","plsExtinctionNativeCiv");\n\t\t\trv += " Their industries "+(ex?"":"recently")+" caused a &climate shift==plsExtinctionNativeCiv& that killed most of the &planetNoun&'s life.";\n\t\t}\n\n\n\t\t/* CIV MYSTERIES */\n\t\tif (context.includes("cSmallGroups")) {\n\t\t\tcontext.delete("cSmallGroups");\n\t\t\tif (ex) {\n\t\t\t\trv += " They are always depicted in &small groups==cSmallGroups&.";\n\t\t\t} else {\n\t\t\t\trv += " They always move in &small groups==cSmallGroups&.";\n\t\t\t}\n\t\t}\n\t\tif (context.includes("cDistantMemories")) {\n\t\t\tcontext.delete("cDistantMemories");\n\t\t\tif (ex) {\n\t\t\t\trv += " They appear to have personally &remembered events from the distant past==cDistantMemories&.";\n\t\t\t} else {\n\t\t\t\trv += " They talk as if they personally &remember events from the distant past==cDistantMemories&.";\n\t\t\t}\n\t\t}\n\t\tif (context.includes("cUndevelopedAreas")) {\n\t\t\tcontext.delete("cUndevelopedAreas");\n\t\t\trv += " They "+(ex?"left":"leave")+" certain areas of the &planetNoun& &undeveloped==cUndevelopedAreas&.";\n\t\t}\n\t\tif (context.includes("cTwoSpecies")) {\n\t\t\tcontext.delete("cTwoSpecies");\n\t\t\trv += " The civilisation appears to "+(ex?"have been":"be")+" composed of &two intelligent species==cTwoSpecies&.";\n\t\t}\n\t\tif (context.includes("cCivNotLinkedToNativeLife")) {\n\t\t\tcontext.delete("cCivNotLinkedToNativeLife");\n\t\t\trv += " The species appears ¬ to have evolved==cCivNotLinkedToNativeLife& from the other native life.";\n\t\t}\n\t\tif (context.includes("cCyberBrains")) {\n\t\t\tcontext.delete("cCyberBrains");\n\t\t\trv += " All members of this civilisation "+(ex?"had":"have")+" &cybernetic brain implants==cCyberBrains&.";\n\t\t}\n\t\tif (context.includes("cImprobablyHomogeneous")) {\n\t\t\tcontext.delete("cImprobablyHomogeneous");\n\t\t\trv += " The species seems to "+(ex?"have been":"be")+" &improbably homogeneous==cImprobablyHomogeneous&.";\n\t\t}\n\t\tif (context.includes("cMummiesOnDisplay")) {\n\t\t\tcontext.delete("cMummiesOnDisplay");\n\t\t\trv += " They "+(ex?"kept":"keep")+" &preserved bodies of the dead==cMummiesOnDisplay& prominently on display.";\n\t\t}\n\t\tif (context.includes("cHistoricalStasis")) {\n\t\t\tcontext.delete("cHistoricalStasis");\n\t\t\trv += " Their technology and culture appear to have &stayed the same==cHistoricalStasis& for thousands or perhaps millions of years.";\n\t\t}\n\t\tif (context.includes("cAncientAliensMyth")) {\n\t\t\tcontext.delete("cAncientAliensMyth");\n\t\t\trv += " Their culture "+(ex?"included":"includes")+" a myth about &ancient visitors from the stars==cAncientAliensMyth&.";\n\t\t}\n\t\tif (context.includes("cEmptySettlements")) {\n\t\t\tcontext.delete("cEmptySettlements");\n\t\t\trv += " Most of the planet's settlements are &empty==cEmptySettlements&, as if built for a much larger population than "+(ex?"existed":"exists")+".";\n\t\t}\n\t\tif (context.includes("cAICiv")) {\n\t\t\tcontext.delete("cAICiv");\n\t\t\trv += " The entire civilisation appears to "+(ex?"have consisted":"consist")+" of &intellgent machines==cAICiv&.";\n\t\t}\n\n\t\t\n\t\t/* INTERSTELLAR CIV TRAITS */\n\t\tif (context.includesAll("icEcoEngineering")) {\n\t\t\tcontext.delete("icEcoEngineering");\n\t\t\trv += " They "+(ex?"had":"have")+" the technology to re-engineer entire planetary &ecoystems==icEcoEngineering&.";\n\t\t}\n\t\tif (context.includesAll("icNanotech")) {\n\t\t\tcontext.delete("icNanotech");\n\t\t\trv += " Much of their technology "+(ex?"involved":"involves")+" self-replicating &nanites==icNanotech&.";\n\t\t}\n\t\tif (context.includesAll("icPlanetMoving")) {\n\t\t\tcontext.delete("icPlanetMoving");\n\t\t\trv += " They "+(ex?"were":"are")+" able to &change the orbits==icPlanetMoving& of planets.";\n\t\t}\n\t\tif (context.includesAll("icPlanetEngineering")) {\n\t\t\tcontext.delete("icPlanetEngineering");\n\t\t\trv += " They "+(ex?"could":"can")+" perform planetary-scale feats of &engineering==icPlanetEngineering&.";\n\t\t}\n\t\tif (context.includesAll("icSelfReplicatingMachines")) {\n\t\t\tcontext.delete("icSelfReplicatingMachines");\n\t\t\trv += " They "+(ex?"created":"create")+" sophisticated &self-replicating machines==icSelfReplicatingMachines&.";\n\t\t}\n\t\tif (context.includesAll("icColonisers")) {\n\t\t\tcontext.delete("icColonisers");\n\t\t\trv += " They "+(ex?"":"have")+" &colonised==icColonisers& other worlds.";\n\t\t}\n\t\tif (context.includesAll("icExperimenters")) {\n\t\t\tcontext.delete("icExperimenters");\n\t\t\trv += " They "+(ex?"visited":"visit")+" other worlds and "+(ex?"performed":"perform")+" large-scale &experiments==icExperimenters&.";\n\t\t}\n\t\tif (context.includesAll("icExploiters")) {\n\t\t\tcontext.delete("icExploiters");\n\t\t\trv += " They "+(ex?"travelled":"travel")+" to other worlds and &"+(ex?"exploited":"exploit")+"==icExploiters& their resources.";\n\t\t}\n\t\tif (context.includesAll("icObservers")) {\n\t\t\tcontext.delete("icObservers");\n\t\t\trv += " They "+(ex?"travelled":"travel")+" to other worlds as passive &observers==icObservers&.";\n\t\t}\n\t\tif (context.includesAll("icSpaceHabitation")) {\n\t\t\tcontext.delete("icSpaceHabitation");\n\t\t\trv += " Much of their population "+(ex?"lived":"lives")+" in &artificial habitats==icSpaceHabitation&.";\n\t\t}\n\t\tif (context.includesAll("icSpaceWarfare")) {\n\t\t\tcontext.delete("icSpaceWarfare");\n\t\t\trv += " They "+(ex?"engaged":"engage")+" in &interplanetary warfare==icSpaceWarfare&.";\n\t\t}\n\t\tif (context.includesAll("icSuspendedAnimation")) {\n\t\t\tcontext.delete("icSuspendedAnimation");\n\t\t\trv += " They "+(ex?"had":"have")+" perfected &suspended animation==icSuspendedAnimation&.";\n\t\t}\n\t\tif (context.includesAll("icTerraformers")) {\n\t\t\tcontext.delete("icTerraformers");\n\t\t\trv += " They "+(ex?"were":"are")+" able to &terraform==icTerraformers& other worlds.";\n\t\t}\n\t\tif (context.includesAll("icExterminators")) {\n\t\t\tcontext.delete("icExterminators");\n\t\t\tif (ex) {\n\t\t\t\trv += " They deliberately &exterminated==icExterminators& life on other worlds.";\n\t\t\t} else {\n\t\t\t\trv += " They deliberately &exterminate==icExterminators& life on other worlds.";\n\t\t\t}\n\t\t}\n\t\tif (context.includesAll("icInterferers")) {\n\t\t\tcontext.delete("icInterferers");\n\t\t\tif (ex) {\n\t\t\t\trv += " They routinely &interfered==icInterferers& in the development of other sapient species.";\n\t\t\t} else {\n\t\t\t\trv += " They routinely &interfere==icInterferers& in the development of other sapient species.";\n\t\t\t}\n\t\t}\n\t\tif (context.includesAll("icArtists")) {\n\t\t\tcontext.delete("icArtists");\n\t\t\trv += " They "+(ex?"created":"create")+" long-lasting space-based &artworks==icArtists&.";\n\t\t}\n\n\t\t/* GATEBUILDERS */\n\t\tif (context.includes("icGatebuilders")) {\n\t\t\tcontext.delete("icGatebuilders","ctSpacefaring","ctInterstellar");\n\t\t\trv += " They created the &Gate network==icGatebuilders&, which allowed them and the civilisations that came after them to &travel the galaxy==ctInterstellar&.";\n\t\t}\n\t\t\n\t\t/* EXTINCTION REASONS */\n\t\tif (context.includesAll("cxMeteor")) {\n\t\t\tcontext.delete("cxMeteor","cExtinct");\n\t\t\tif (fullContext.includesAll("plExtinct","plsExtinctionAsteroid")) {\n\t\t\t\trv += " They were wiped out by the same &asteroid impact==cxMeteor& that killed all the &planetNoun&'s life.";\n\t\t\t} else {\n\t\t\t\trv += " They became extinct when an &asteroid==cxMeteor& hit their planet.";\n\t\t\t}\n\t\t}\n\t\tif (context.includesAll("cxFlare")) {\n\t\t\tcontext.delete("cxFlare","cExtinct");\n\t\t\trv += " They were wiped out by a powerful &stellar flare==cxFlare&.";\n\t\t}\n\t\tif (context.includesAll("cxDisease")) {\n\t\t\tcontext.delete("cxDisease","cExtinct");\n\t\t\tif (fullContext.includesAll("plExtinct","plsExtinctionAsteroid")) {\n\t\t\t\trv += " They were wiped out by the same &disease==cxDisease& that killed all the &planetNoun&'s life.";\n\t\t\t} else {\n\t\t\t\trv += " They were wiped out by a virulent &disease==cxDisease&.";\n\t\t\t}\n\t\t}\n\t\tif (context.includesAll("cxGammaBurst")) {\n\t\t\tcontext.delete("cxGammaBurst","cExtinct");\n\t\t\trv += " They were wiped out by a cosmic &gamma ray burst==cxGammaBurst&.";\n\t\t}\n\t\tif (context.includesAll("cxClimateChange")) {\n\t\t\tcontext.delete("cxClimateChange","cExtinct");\n\t\t\trv += " Their civilisation was destroyed by &climate change==cxClimateChange& caused by their own industries.";\n\t\t}\n\t\tif (context.includesAll("cxNuclearWar")) {\n\t\t\tcontext.delete("cxNuclearWar","cExtinct");\n\t\t\trv += " They were wiped out by a powerful &stellar flare==cxFlare&.";\n\t\t}\n\t\tif (context.includesAll("cxBioweapon")) {\n\t\t\tcontext.delete("cxBioweapon","cExtinct");\n\t\t\trv += " They accidentally destroyed themselves when they lost control of a powerful &bioweapon==cxBioweapon&.";\n\t\t}\n\t\tif (context.includesAll("cxAIRebellion")) {\n\t\t\tcontext.delete("cxAIRebellion","cExtinct");\n\t\t\trv += " They were destroyed by an &AI rebellion==cxAIRebellion&.";\n\t\t}\n\t\tif (context.includesAll("cxClimateShift")) {\n\t\t\tcontext.delete("cxClimateShift","cExtinct");\n\t\t\tif (fullContext.includesAll("plExtinct","plsExtinctionClimateShift")) {\n\t\t\t\trv += " They were wiped out by the same &climate shift==plsExtinctionClimateShift& that killed the &planetNoun&'s life.";\n\t\t\t} else {\n\t\t\t\trv += " They were killed off by a &natural climate shift==cxClimateShift&.";\n\t\t\t}\n\t\t}\n\t\tif (context.includesAll("cxDeliberatelyPostSapient")) {\n\t\t\tcontext.delete("cxDeliberatelyPostSapient","cExtinct");\n\t\t\trv += " Their civilisation ended when they &deliberately gave up==cxDeliberatelyPostSapient& their capacity for abstract thought.";\n\t\t}\n\t\tif (context.includesAll("cxGraduallyPostSapient")) {\n\t\t\tcontext.delete("cxGraduallyPostSapient","cExtinct");\n\t\t\trv += " They gradually &evolved away==cxGraduallyPostSapient& their ability for abstract thought, until they became a post-sapient animal species.";\n\t\t}\n\t\tif (context.includesAll("cxTheMachineStops")) {\n\t\t\tcontext.delete("cxTheMachineStops","cExtinct");\n\t\t\trv += " They became entirely dependent on advanced machines, and became extinct once those machines &stopped working==cxTheMachineStops&.";\n\t\t}\n\t\tif (context.includesAll("cxInterstellarWar")) {\n\t\t\tcontext.delete("cxInterstellarWar","cExtinct");\n\t\t\trv += " The entire spacefaring civilisation destroyed itself in an &interstellar war==cxInterstellarWar&.";\n\t\t}\n\t\tif (context.includesAll("cxAscension")) {\n\t\t\tcontext.delete("cxAscension","cExtinct");\n\t\t\trv += " They long ago advanced beyond the need for physical bodies,& and now exist as &fluctuations in spacetime==cxAscension&.";\n\t\t}\n\t\tif (context.includesAll("cxPassedBeyondTheRim")) {\n\t\t\tcontext.delete("cxPassedBeyondTheRim","cExtinct");\n\t\t\trv += " The entire civilisation decided to to leave the galaxy for younger civilisation, and &voyaged beyond the galactic rim==cxPassedBeyondTheRim&.";\n\t\t}\n\t\tif (context.includesAll("cxUnsustainableGrowth")) {\n\t\t\tcontext.delete("cxUnsustainableGrowth","cExtinct");\n\t\t\trv += " Their economic system was based on constant expansion and growth, and the civilisation collapsed when &endless growth proved unsustainable==cxUnsustainableGrowth& even for an interstellar civilisation.";\n\t\t}\n\t\tif (context.includesAll("cxScientificHubris")) {\n\t\t\tcontext.delete("cxScientificHubris","cExtinct");\n\t\t\trv += " In their scientific hubris, they eventually &experimented on the fundamental nature of reality==cxScientificHubris&, causing a disaster that wiped them out.";\n\t\t}\n\t\tif (context.includesAll("cxGateFailure")) {\n\t\t\tcontext.delete("cxGateFailure","cExtinct");\n\t\t\trv += " They became extinct when a &Gate failure==cxGateFailure& cut &planetName& off from its colonies in other star systems, depriving it of the imports it had come to rely on.";\n\t\t}\n\t\tif (context.includesAll("cxGatebuilderFate")) {\n\t\t\tcontext.delete("cxGatebuilderFate","cExtinct");\n\t\t\trv += " At the end of their recorded history they &vanished into the Gate network==cxGatebuilderFate&, never to return to normal space.";\n\t\t}\n\t\tif (context.includes("cExtinct")) {\n\t\t\tcontext.delete("cExtinct");\n\t\t\trv += " They became &extinct==cExtinct& for unknown reasons.";\n\t\t}\n\t\t\n\t\tcontext.delete("psCiv","cKnowOf","cNotExtinct");\n\t\t\n\t\t\t/* FINAL PROCESSING */\n\t\t\t/* Delete all non-civ context traits */\n\t\t// context.deleteWith(function(val) { return !val.startsWith("c") && !val.startsWith("ic") } );\n\t\t// if (context.length > 0) {\n\t\t\t// console.error("Civ description failed to handle traits: "+context);\n\t\t\t// rv += "<br><br>UNDESCRIBED TRAITS: " + context;\n\t\t// }\n\t\t\n\t\treturn rv;\n\t\t\n\t},\n\t\n\tinTooltip: function(fullContext) {\n\t\t/* This one should not generate any tooltips as it appears inside a tooltip */\n\t\tvar context = clone(fullContext);\n\t\tvar ex = !context.includes("cNotExtinct");\n\t\tvar rv = "";\n\t\tif (context.includes("cExtinct")) {\n\t\t\trv += "Extinct";\n\t\t} else if (context.includes("cNotExtinct")) {\n\t\t} else {\n\t\t\trv += "Presumed extinct";\n\t\t}\n\t\tif (context.includes("ctInterstellar")) {\n\t\t\trv += " interstellar";\n\t\t} else if (context.includes("ctNonToolUsing")) {\n\t\t\trv += " non-tool-using";\n\t\t} else if (context.includes("ctPaleolithic")) {\n\t\t\trv += " Paleolithic";\n\t\t} else if (context.includes("ctMesolithic")) {\n\t\t\trv += " Mesolithic";\n\t\t} else if (context.includes("ctNeolithic")) {\n\t\t\trv += " Neolithic";\n\t\t} else if (context.includes("ctBronzeAge")) {\n\t\t\trv += " Bronze Age";\n\t\t} else if (context.includes("ctIronAge")) {\n\t\t\trv += " Iron Age";\n\t\t} else if (context.includes("ctMedieval")) {\n\t\t\trv += " Medieval";\n\t\t} else if (context.includes("ctIndustrial")) {\n\t\t\trv += " Industrial";\n\t\t} else if (context.includes("ctDigital")) {\n\t\t\trv += " Information Age";\n\t\t} else if (context.includes("ctSpacefaring")) {\n\t\t\trv += " spacefaring";\n\t\t}\n\t\t\t/* Body shape */\n\t\tif (context.includes("cBipedal")) {\n\t\t\trv += " bipedal";\n\t\t} else if (context.includes("cQuadrupedal")) {\n\t\t\trv += " quadrupedal";\n\t\t} else if (context.includes("cAquatic")) {\n\t\t\trv += " aquatic";\n\t\t} else if (context.includes("cAvian")) {\n\t\t\trv += " avian";\n\t\t} else if (context.includes("cWormlike")) {\n\t\t\trv += " worm-like";\n\t\t}\t\t\n\t\t\t/* Diet */\n\t\tif (context.includes("cAICiv")) {\n\t\t\trv += " machines";\n\t\t} else if (context.includes("cOmnivores")) {\n\t\t\trv += " omnivores";\n\t\t} else if (context.includes("cCarnivores")) {\n\t\t\trv += " carnivores";\n\t\t} else if (context.includes("cHerbivores")) {\n\t\t\trv += " herbivores";\n\t\t} else if (context.includes("cPhotosynthesizers")) {\n\t\t\trv += " photosynthesizers";\n\t\t} else {\n\t\t\trv += " civilisation";\n\t\t}\n\t\treturn rv.trim().toUpperFirst();\n\t},\n\n}
<<set _planet = $currentSystem.planets[$planetNumber]>>\n\n<<set _describeTraits = _planet.knownTraits.concat($positionTrait,$ship.upgrades)>>\n<<if _planet.nativeCiv != -1 && _planet.exploredTraits.includes("psCiv")>>\n\t<<set _describeTraits = _describeTraits.concat($civilisations[_planet.nativeCiv].knownTraits)>>\n<</if>>\n<<set _desc = PlanetDescription.describePlanet(_describeTraits)>>\n<<printDesc _desc true _planet>>
<<set _desc = StarDescription.describeStar($currentSystem.stars[0].traits)>>\n<<printDesc _desc true $currentSystem.star>>
/% $args[0] is the string %/\n/% $args[1] is true if there should be links, false otherwise %/\n/% $args[2] is the planet or other entity we're talking about, if not set default to current planet %/\n\s<<widget printDesc>>\s\n\t\s<<if $args[2]>><<set _planet = $args[2]>>\n\t\s<<elseif $currentSystem === undefined || $currentSystem.planets[$planetNumber] === undefined>>\s\n\t\t\s<<set _planet = { name: "", nativeCiv: _c, meddlingCiv: _c, traits: ["civHomeworld"], knownTraits: [], exploredTraits: [] }>>\s\n\t\s<<else>><<set _planet = $currentSystem.planets[$planetNumber]>><</if>>\s\n\t\s<<if typeof $args[0] == 'string'>>\s\n\t\t\s<<set _parts = $args[0].split("&")>>\s\n\t\s<<else>>\s\n\t\t\s<<set _parts = ["ERROR: printDesc called with argument that was not a string"]>>\s\n\t\s<</if>>\s\n\t\s<<set _mentionedTraits = []>>\s\n\t\s<<for _n = 0; _n < _parts.length; _n++>>\s\n\t\t\s<<if _parts[_n].includes("==")>>\s\n\t\t\t\s<<set _subParts = _parts[_n].split("==")>>\s\n\t\t\t\s<<set _linkText = _subParts[0]>>\s\n\t\t\t\s<<set _trait = _subParts[1]>>\s\n\t\t\t\s<<if _trait in Traits>>\s\n\t\t\t\t\s<<if _mentionedTraits.includes(_trait)>>\s\n\t\t\t\t\t\s<<= _linkText>>\s\n\t\t\t\t\s<<elseif Traits[_trait].explorable && !_planet.exploredTraits.includes(_trait) && $args[1] && (!_planet.traits.includes("pLandingPrevented") || Traits[_trait].location == "xInOrbit") && ($ship.fuel >= getPlanetLandingFuel($contextTraits) || Traits[_trait].location == "xInOrbit" || $positionTrait == "xExploringSurface")>>\s\n\t\t\t\t\t\s<<set _class = "desc-explorable-trait">>\s\n\t\t\t\t\t\s<<if Traits[_trait].hazard && (!("hazardNegatedBy" in Traits[_trait]) || !$contextTraits.includes(Traits[_trait].hazardNegatedBy))>>\s\n\t\t\t\t\t\t\s<<set _class += " desc-explorable-trait-hazard">>\s\n\t\t\t\t\t\s<</if>>\s\n\t\t\t\t\t\s<<if _trait == "pWormhole">>\s\n\t\t\t\t\t\t\s<<set _linkText = "<img data-passage='portal' alt='Gate'> "+_linkText>>\s\n\t\t\t\t\t\s<<elseif Traits[_trait].location == "xInOrbit" && $positionTrait == "xExploringSurface">>\s\n\t\t\t\t\t\t\s<<set _linkText = "<img data-passage='growth' alt='Takeoff'> "+_linkText>>\s\n\t\t\t\t\t\s<<elseif !("location" in Traits[_trait]) && $positionTrait != "xExploringSurface">>\s\n\t\t\t\t\t\t\s<<set _linkText = "<img data-passage='growth_flipped' alt='Land'> "+_linkText>>\s\n\t\t\t\t\t\s<</if>>\s\n\t\t\t\t\t\s<span class="keyword">\s\n\t\t\t\t\t\t\s<<capture _trait>>\s\n\t\t\t\t\t\t\t\s<<discoveryTooltip _trait>>\s\n\t\t\t\t\t\t\t\s<span @class="_class">\s\n\t\t\t\t\t\t\t\t\s<<link _linkText "Explore Feature">>\s\n\t\t\t\t\t\t\t\t\t\s<<set $exploringTrait = _trait>>\s\n\t\t\t\t\t\t\t\t\s<</link>>\s\n\t\t\t\t\t\t\t\s</span>\s\n\t\t\t\t\t\t\s<</capture>>\s\n\t\t\t\t\t\s</span>\s\n\t\t\t\t\s<<elseif _trait in $discoveriesThisTurn && $discoveredTraits[_trait] == 1>>\s\n\t\t\t\t\t\s<span class="keyword new-discovery-keyword"><<discoveryTooltip _trait>><<= _linkText>></span>\s\n\t\t\t\t\s<<elseif Traits[_trait].hazard && (!("hazardNegatedBy" in Traits[_trait]) || !$contextTraits.includes(Traits[_trait].hazardNegatedBy))>>\s\n\t\t\t\t\t\s<span class="keyword keyword-bad"><<discoveryTooltip _trait>><<= _linkText>></span>\s\n\t\t\t\t\s<<else>>\s\n\t\t\t\t\t\s<span class="keyword"><<discoveryTooltip _trait>><<= _linkText>></span>\s\n\t\t\t\t\s<</if>>\s\n\t\t\t\t\s<<set _mentionedTraits.push(_trait)>>\s\n\t\t\t\s<<else>>\s\n\t\t\t\t\s<<run console.error("Trait "+_trait+" not found")>>\s\n\t\t\t\t\s(ERROR: trait <<= _trait>> not found) _linkText\s\n\t\t\t\s<</if>>\s\n\t\t\s<<elseif _parts[_n] == "planetName">>\s\n\t\t\t\s<<= _planet.name>>\s\n\t\t\s<<elseif _parts[_n] == "planetNoun">>\s\n\t\t\t\s<<if _planet.traits.includes("civHomeworld")>>homeworld<<else>><<= TextUtils.planetNoun(_planet.knownTraits)>><</if>>\s\n\t\t\s<<elseif _parts[_n] == "thePlanetNoun">>\s\n\t\t\t\s<<if _planet.traits.includes("civHomeworld")>>their homeworld<<else>>the <<= TextUtils.planetNoun(_planet.knownTraits)>><</if>>\s\n\t\t\s<<elseif _parts[_n] == "civNameKeyword">>\s\n\t\t\t\s<span class="keyword"><<= Civs.getKnownName($civilisations[_planet.nativeCiv], false)>><<civNameTooltip _planet.nativeCiv>></span>\s\n\t\t\s<<elseif _parts[_n] == "civName">>\s\n\t\t\t\s<<= Civs.getKnownName($civilisations[_planet.nativeCiv], false)>>\s\n\t\t\s<<elseif _parts[_n] == "meddlingCivName">>\s\n\t\t\t\s<<if _planet.knownTraits.includes("pIdentifiedMeddlingCiv")>><span class="keyword"><<= Civs.getKnownName($civilisations[_planet.interstellarCiv], false)>><<civNameTooltip _planet.interstellarCiv>></span>\s\n\t\t\t\s<<else>>alien<</if>>\s\n\t\t\s<<elseif _parts[_n] == "theMeddlingCiv">>\s\n\t\t\t\s<<if _planet.knownTraits.includes("pIdentifiedMeddlingCiv")>><<= Civs.getKnownName($civilisations[_planet.interstellarCiv], true)>>\s\n\t\t\t\s<<else>>an alien civilisation<</if>>\s\n\t\t\s<<elseif _parts[_n] == "shipName">>\s\n\t\t\t\s<<shipName>>\s\n\t\t\s<<elseif _parts[_n] == "starName">>\s\n\t\t\t\s<<starName>>\s\n\t\t\s<<elseif _parts[_n] == "systemName">>\s\n\t\t\t\s<<systemName>>\s\n\t\t\s<<elseif _parts[_n] == "pilot">>\s\n\t\t\t\s<<nameX `Crew.getRandomWithTraits($crew, ["ePilot"], true)`>>\s\n\t\t\s<<elseif _parts[_n] == "engineer">>\s\n\t\t\t\s<<nameX `Crew.getRandomWithTraits($crew, ["eEngineer"], true)`>>\s\n\t\t\s<<elseif _parts[_n] == "medic">>\s\n\t\t\t\s<<nameX `Crew.getRandomWithTraits($crew, ["eMedic"], true)`>>\s\n\t\t\s<<elseif _parts[_n] == "planetaryScientist">>\s\n\t\t\t\s<<nameX `Crew.getRandomWithTraits($crew, ["ePlanetaryScientist"], true)`>>\s\n\t\t\s<<elseif _parts[_n] == "biologist">>\s\n\t\t\t\s<<nameX `Crew.getRandomWithTraits($crew, ["eBiologist"], true)`>>\s\n\t\t\s<<elseif _parts[_n] == "xenologist">>\s\n\t\t\t\s<<nameX `Crew.getRandomWithTraits($crew, ["eXenologist"], true)`>>\s\n\t\t\s<<elseif _parts[_n] in TextUtils>>\s\n\t\t\t\s<<= TextUtils[_parts[_n]]()>>\s\n\t\t\s<<else>>\s\n\t\t\t\s<<= _parts[_n]>>\s\n\t\t\s<</if>>\s\n\t\s<</for>>\s\n\s<</widget>>\s
/% $args[0] is the trait name %/\n/% Display the icon for the data type and the amount of data gained %/\n<<widget discoveryTooltip>>\n\t\s<span class="tooltip discovery-tooltip">\n\t\t\s<<if $discoveredTraits[$args[0]] == 1 && $discoveriesThisTurn[$args[0]]>><span style="font-size: 0.75em">NEW DISCOVERY:</span><br><</if>>\n\t\t\s<<if $discoveriesThisTurn[$args[0]]>>+<<= $discoveriesThisTurn[$args[0]]>> <</if>>\n\t\t\s<<if Traits[$args[0]].hazard && (!("hazardNegatedBy" in Traits[$args[0]]) || !$contextTraits.includes(Traits[$args[0]].hazardNegatedBy))>><img data-passage="hazard-sign" alt="Hazard"><</if>>\n\t\t\s<<if "dataType" in Traits[$args[0]]>><<= getTraitIconImg(Traits[$args[0]].dataType)>><</if>>\n\t\t\s <<= Traits[$args[0]].name>>\n\t\t\s<<run delete $discoveriesThisTurn[$args[0]]>>\n\t\s</span>\n\s<</widget>>
window.DiscoveryDescription = {\n\t\n\t/* exploringTrait is the trait we're currently exploring */\n\t/* discoveredTraits are the traits we just discovered (including any we already knew) */\n\t/* newDiscoveredTraits are the traits we just discovered minus any we already knew */\n\t/* fullContext are all the known traits of the planet, plus of the native or meddling civs if relevant */\n\tdescribeDiscovery: function(exploringTrait, discoveredTraits, newDiscoveredTraits, fullContext) {\n\t\tvar context = clone(discoveredTraits);\n\t\tvar rv = "";\n\t\tvar ex = fullContext.includes("cExtinct");\n\t\t\n\t\trv += "<div class='debug-text'>DEBUG: exploring trait: "+exploringTrait+"; discovered traits: "+JSON.stringify(discoveredTraits,null,1)+"; new discovered traits: "+JSON.stringify(newDiscoveredTraits,null,1)+"</div>";\n\t\t\n\t\t\n\t\tswitch (exploringTrait) {\n\t\t\tcase "pAtmosOxNi":\n\t\t\t\t/* Any combination can spawn */\n\t\t\t\tif (context.includes("psMicrobesMakeOxygen")) {\n\t\t\t\t\tcontext.delete("pAtmosOxNi","psMicrobesMakeOxygen","psLife");\n\t\t\t\t\tif (fullContext.includes("plExtinct")) {\n\t\t\t\t\t\tcontext.delete("plExtinct");\n\t\t\t\t\t\trv += " There appears to be no physical explanation for the atmosphere's oxygen content, but &biologist& eventually finds &traces==plExtinct& of an ancient µorganism==psLife& that once &converted carbon dioxide into oxygen==psMicrobesMakeOxygen&. Over time the oxygen will be re-absorbed into the &planetNoun&'s surface, but life here appears to have gone extinct recently enough that the oxygen is still present.";\n\t\t\t\t\t} else {\n\t\t\t\t\t\tcontext.delete("plNotExtinct");\n\t\t\t\t\t\trv += " &biologist& studies the oxygen and finds that it is being &actively produced==plNotExtinct& by microscopic organisms. As on Earth, the composition of &planetName&'s atmosphere is the result of &life==psLife& that &converts carbon dioxide into oxygen==psMicrobesMakeOxygen&.";\n\t\t\t\t\t\t//rv += " As on Earth, the oxygen in the atmosphere is the result of µbial life==psLife& that &converts carbon dioxide into oxygen==psMicrobesMakeOxygen&.";\n\t\t\t\t\t}\n\t\t\t\t}\n\t\t\t\tif (context.includes("psAliensMadeOxygen")) {\n\t\t\t\t\tcontext.delete("pAtmosOxNi","psAliensMadeOxygen","icTerraformers","psMeddlingCiv");\n\t\t\t\t\tif (fullContext.includes("psMicrobesMakeOxygen")) {\n\t\t\t\t\t\trv += " Closer study indicates that these microorganisms are not entirely natural, but have been &modified==psAliensMadeOxygen& to produce oxygen by &alien visitors==psMeddlingCiv&, presumably as part of a &terraforming==icTerraformers& project.";\n\t\t\t\t\t} else {\n\t\t\t\t\t\trv += " The oxygen in the atmosphere is not naturally occurring, but was &introduced==psAliensMadeOxygen& by &alien visitors==psMeddlingCiv&, apparently as part of a &terraforming==icTerraformers& project.";\n\t\t\t\t\t}\n\t\t\t\t}\n\t\t\t\tif (context.includes("psRadiationSeparatesOxygen")) {\n\t\t\t\t\tcontext.delete("pAtmosOxNi","psRadiationSeparatesOxygen");\n\t\t\t\t\tif (fullContext.includesAny("psMicrobesMakeOxygen","psAliensMadeOxygen")) {\n\t\t\t\t\t\trv += " The atmospheric oxygen concentration is increased by &radiation==psRadiationSeparatesOxygen& separating hydrogen from oxygen at the surface of the water.";\n\t\t\t\t\t} else {\n\t\t\t\t\t\trv += " The oxygen in the atmosphere not the product of life, as on Earth, but is due to &radiation==psRadiationSeparatesOxygen& separating hydrogen from oxygen at the surface of the water.";\n\t\t\t\t\t}\n\t\t\t\t}\n\t\t\t\tbreak;\n\t\t\t\t\n\t\t\tcase "pCaves":\n\t\t\t\t/* Any combination can spawn */\n\t\t\t\tif (context.includesAll("psCoolingCaves","psErosionCaves")) {\n\t\t\t\t\tcontext.delete("pCaves","psCoolingCaves","psErosionCaves");\n\t\t\t\t\trv += " &planetaryScientist& finds that the caves are the result of an array of complex geological processes. In some places they were carved out by &liquid erosion==psErosionCaves&, while in others &temperature fluctuations==psCoolingCaves& in the &planetNoun&'s crust caused rock to contract and leave voids.";\n\t\t\t\t}\n\t\t\t\tif (context.includes("psErosionCaves")) {\n\t\t\t\t\tcontext.delete("pCaves","psErosionCaves");\n\t\t\t\t\trv += " Study of the caves reveals that they were created by millions of years of &liquid erosion==psErosionCaves&.";\n\t\t\t\t}\n\t\t\t\tif (context.includes("psCoolingCaves")) {\n\t\t\t\t\tcontext.delete("pCaves","psCoolingCaves");\n\t\t\t\t\trv += " Study of the caves reveals that they were created by &temperature fluctuations==psCoolingCaves& in the &planetNoun&'s crust. The crust was once much hotter, and as it cooled it contracted, leaving voids.";\n\t\t\t\t}\n\t\t\t\tif (context.includes("psBurrowersMadeCaves")) {\n\t\t\t\t\tcontext.delete("pCaves","psBurrowersMadeCaves","psLife");\n\t\t\t\t\tif (fullContext.includesAny("psCoolingCaves","psErosionCaves")) {\n\t\t\t\t\t\trv += " &Alien life forms==psLife& inhabit the caves, and their &burrowing==psBurrowersMadeCaves& has expanded the cave system.";\n\t\t\t\t\t} else {\n\t\t\t\t\t\trv += " The caves are actually the &burrows==psBurrowersMadeCaves& of large alien &life forms==psLife&.";\n\t\t\t\t\t}\n\t\t\t\t}\n\t\t\t\tif (context.includesAll("psArtificialCaves","psUndergroundCities")) {\n\t\t\t\t\tcontext.delete("pCaves","psArtificialCaves","psUndergroundCities","psCiv");\n\t\t\t\t\tif (fullContext.includesAny("psCoolingCaves","psErosionCaves","psBurrowersMadeCaves")) {\n\t\t\t\t\t\trv += " The natural cave system has been &expanded==psArtificialCaves& by &intelligent aliens==psCiv&, to house huge &underground cities==psUndergroundCities&.";\n\t\t\t\t\t} else {\n\t\t\t\t\t\trv += " The caves prove to be &artificial==psArtificialCaves&, carved out by &intelligent aliens==psCiv& to house huge &underground cities==psUndergroundCities&.";\n\t\t\t\t\t}\n\t\t\t\t\tif (ex) {\n\t\t\t\t\t\tcontext.delete("cExtinct");\n\t\t\t\t\t\trv += " The cities are in ruins, their inhabitants apparently long &extinct==cExtinct&.";\n\t\t\t\t\t} else {\n\t\t\t\t\t\tcontext.delete("cNotExtinct");\n\t\t\t\t\t\trv += " The cities are still &inhabited==cNotExtinct&.";\n\t\t\t\t\t}\n\t\t\t\t}\n\t\t\t\tif (context.includes("psArtificialCaves")) {\n\t\t\t\t\tcontext.delete("pCaves","psArtificialCaves","psCiv");\n\t\t\t\t\tif (fullContext.includesAny("psCoolingCaves","psErosionCaves","psBurrowersMadeCaves")) {\n\t\t\t\t\t\trv += " Closer study reveals that the cave network has been &expanded==psArtificialCaves& by &intelligent aliens==psCiv&.";\n\t\t\t\t\t} else {\n\t\t\t\t\t\trv += " Study of the caves reveals that they are &artificial==psArtificialCaves&, created by a technologically advanced &alien race==psCiv&.";\n\t\t\t\t\t}\n\t\t\t\t}\n\t\t\t\tif (context.includes("psUndergroundCities")) {\n\t\t\t\t\tcontext.delete("psUndergroundCities","psCiv");\n\t\t\t\t\tif (ex) {\n\t\t\t\t\t\tcontext.delete("cExtinct");\n\t\t\t\t\t\trv += " Many of the caves contain the ancient &ruins==cExtinct& of &underground cities==psUndergroundCities& built by &intelligent aliens==psCiv&.";\n\t\t\t\t\t} else {\n\t\t\t\t\t\tcontext.delete("cNotExtinct");\n\t\t\t\t\t\trv += " Many of the caves contain &underground cities==psUndergroundCities& &inhabited==cNotExtinct& by &intelligent aliens==psCiv&.";\n\t\t\t\t\t}\n\t\t\t\t}\n\t\t\t\tif (context.includes("psMinedOut")) {\n\t\t\t\t\tcontext.delete("pCaves","psMinedOut","icPlanetEngineering","psMeddlingCiv");\n\t\t\t\t\tif (fullContext.includesAny("psCoolingCaves","psErosionCaves","psBurrowersMadeCaves","psArtificialCaves")) {\n\t\t\t\t\t\trv += " Beneath the original cave system is a deeper and more extensive one, clearly artificial and following the paths of vanished mineral veins.";\n\t\t\t\t\t} else {\n\t\t\t\t\t\trv += " The caves are clearly artificial, and follow the paths of vanished mineral veins.";\n\t\t\t\t\t}\n\t\t\t\t\trv += " It appears that the &planetNoun&'s entire crust has been &mined out==psMinedOut& by &technologically advanced aliens==psMeddlingCiv&.";\n\t\t\t\t}\n\n\t\t\t\tbreak;\n\t\t\t\t\n\t\t\tcase "pDust":\n\t\t\t\t/* Any combination can spawn */\n\t\t\t\tif (context.includesAll("psMeteoriteImpacts","psVolcanicSurfaceDust")) {\n\t\t\t\t\tcontext.delete("pDust","psMeteoriteImpacts","psVolcanicSurfaceDust");\n\t\t\t\t\trv += " Study of the dust reveals that it is the result of aeons of &meteor impacts==psMeteoriteImpacts&, mixed with &ash==psVolcanicSurfaceDust& from the &planetNoun&'s many volcanoes.";\n\t\t\t\t}\n\t\t\t\tif (context.includes("psMeteoriteImpacts")) {\n\t\t\t\t\tcontext.delete("pDust","psMeteoriteImpacts");\n\t\t\t\t\trv += " Study of the dust reveals that it is the result of aeons of &meteor impacts==psMeteoriteImpacts&.";\n\t\t\t\t}\n\t\t\t\tif (context.includes("psVolcanicSurfaceDust")) {\n\t\t\t\t\tcontext.delete("pDust","psVolcanicSurfaceDust");\n\t\t\t\t\trv += " The dust is composed of layers of &ash==psVolcanicSurfaceDust& from the &planetNoun&'s many volcanoes.";\n\t\t\t\t}\n\t\t\t\tif (context.includes("psDiamondDust")) {\n\t\t\t\t\tcontext.delete("pDust","psDiamondDust");\n\t\t\t\t\tif (fullContext.includesAny("psMeteoriteImpacts","psVolcanicSurfaceDust")) {\n\t\t\t\t\t\trv += " Mixed with it are countless tiny &diamonds==psDiamondDust&, indicating that the &planetNoun&'s crust is composed largely of carbon.";\n\t\t\t\t\t} else {\n\t\t\t\t\t\trv += " &planetaryScientist& discovers that the &planetNoun&'s crust is composed largely of carbon, and the sparkling dust covering the surface consists of countless tiny &diamonds==psDiamondDust&.";\n\t\t\t\t\t}\n\t\t\t\t}\n\n\t\t\t\tif (context.includesAll("psMicroorganismDust","psDustExcretions")) {\n\t\t\t\t\tcontext.delete("pDust","psMicroorganismDust","psDustExcretions","psLife");\n\t\t\t\t\tif (fullContext.includesAny("psMeteoriteImpacts","psVolcanicSurfaceDust","psDiamondDust")) {\n\t\t\t\t\t\trv += " Although most of the dust was created by physical processes, &biologist& realises that it also contains matter that has been &broken down==psMicroorganismDust& by a lithovoric µorganism==psLife&, as well as &petrified excretions==psDustExcretions& from larger creatures.";\n\t\t\t\t\t} else {\n\t\t\t\t\t\trv += " Studying the dust, &biologist& realises that it consists of matter that has been &broken down==psMicroorganismDust& by a lithovoric µorganism==psLife&, mixed with &petrified excretions==psDustExcretions& from larger creatures.";\n\t\t\t\t\t}\n\t\t\t\t}\n\t\t\t\tif (context.includes("psMicroorganismDust")) {\n\t\t\t\t\tcontext.delete("pDust","psMicroorganismDust","psLife");\n\t\t\t\t\tif (fullContext.includesAny("psMeteoriteImpacts","psVolcanicSurfaceDust","psDiamondDust")) {\n\t\t\t\t\t\trv += " Although most of the dust was created by physical processes, &biologist& detects traces of a µorganism==psLife& that &breaks down the crust==psMicroorganismDust& as part of its biological process.";\n\t\t\t\t\t} else {\n\t\t\t\t\t\trv += " Study of the dust reveals that it was created by a µorganism==psLife& that &breaks down the crust==psMicroorganismDust& as part of its biological process.";\n\t\t\t\t\t}\n\t\t\t\t}\n\t\t\t\tif (context.includes("psDustExcretions")) {\n\t\t\t\t\tcontext.delete("pDust","psDustExcretions","psLife");\n\t\t\t\t\tif (fullContext.includesAny("psMeteoriteImpacts","psVolcanicSurfaceDust","psDiamondDust")) {\n\t\t\t\t\t\trv += " Although most of the dust was created by physical processes, &biologist& realises that it also contains petrified &excretions==psDustExcretions& from the &planetNoun&'s &life forms==psLife&.";\n\t\t\t\t\t} else {\n\t\t\t\t\t\trv += " On examining the dust, &biologist& realises that it consists of &petrified excretions==psDustExcretions& from the &planetNoun&'s native &life forms==psLife&.";\n\t\t\t\t\t}\n\t\t\t\t}\n\t\t\t\tif (context.includes("psFossilDust")) {\n\t\t\t\t\tcontext.delete("pDust","psFossilDust","psLife");\n\t\t\t\t\tif (fullContext.includesAny("psMicroorganismDust","psDustExcretions")) {\n\t\t\t\t\t\tif (fullContext.includes("plExtinct")) {\n\t\t\t\t\t\t\trv += " Beneath the surface dust is a deeper layer consisting of the &ancient, dessicated remains==psFossilDust& of the &planetNoun&'s &vanished==plExtinct& &ecosystem==psLife&.";\n\t\t\t\t\t\t} else {\n\t\t\t\t\t\t\trv += " Beneath the surface dust is a deeper layer consisting of the &ancient, dessicated remains==psFossilDust& of &past generations==plNotExtinct& of the &planetNoun&'s &ecosystem==psLife&.";\n\t\t\t\t\t\t}\n\t\t\t\t\t} else if (fullContext.includesAny("psMeteoriteImpacts","psVolcanicSurfaceDust","psDiamondDust")) {\n\t\t\t\t\t\tif (fullContext.includes("plExtinct")) {\n\t\t\t\t\t\t\trv += " Beneath the surface dust is a deeper layer consisting of the &ancient, dessicated remains==psFossilDust& of an &alien ecosystem==psLife& that &once covered==plExtinct& &planetName&'s surface.";\n\t\t\t\t\t\t} else {\n\t\t\t\t\t\t\trv += " Beneath the surface dust is a deeper layer consisting of the &ancient, dessicated remains==psFossilDust& of &past generations==plNotExtinct& of the &planetNoun&'s &ecosystem==psLife&.";\n\t\t\t\t\t\t}\n\t\t\t\t\t} else {\n\t\t\t\t\t\tif (fullContext.includes("plExtinct")) {\n\t\t\t\t\t\t\trv += " &biologist& tests several samples of the dust, and all show signs of containing organic remains. The entire &planetNoun&-spanning dust layer is the &ancient, dessicated remains==psFossilDust& of an &alien ecosystem==psLife& that &once covered==plExtinct& &planetName&'s surface.";\n\t\t\t\t\t\t} else {\n\t\t\t\t\t\t\trv += " &biologist& tests several samples of the dust, and all show signs of containing &organic remains==psLife&. The entire &planetNoun&-spanning dust layer is the &ancient, dessicated remains==psFossilDust& of &past generations==plNotExtinct& of the &planetNoun&'s ecosystem.";\n\t\t\t\t\t\t}\n\t\t\t\t\t}\n\t\t\t\t}\n\t\t\t\tif (context.includes("psAlienMeteorBombardment")) {\n\t\t\t\t\tcontext.delete("pDust","psAlienMeteorBombardment","icPlanetMoving","psMeddlingCiv");\n\t\t\t\t\tif (fullContext.includesAny("psMeteoriteImpacts","psVolcanicSurfaceDust","psDiamondDust","psMicroorganismDust","psDustExcretions","psFossilDust")) {\n\t\t\t\t\t\trv += " This original dust layer has been disturbed by meteor impacts over a short period of time, in a pattern that is too regular to be natural.";\n\t\t\t\t\t} else {\n\t\t\t\t\t\trv += " Study of the dust reveals that it is the result of meteor impacts over a short period of time, in a pattern that is too regular to be natural.";\n\t\t\t\t\t}\n\t\t\t\t\trv += " It seems that &an advanced civilisation==psMeddlingCiv& &redirected asteroids==icPlanetMoving& to &obliterate==psAlienMeteorBombardment& the &planetNoun&'s surface.";\n\t\t\t\t}\n\t\t\t\tif (context.includes("psNanomachineDust")) {\n\t\t\t\t\tcontext.delete("pDust","psNanomachineDust","icNanotech","psMeddlingCiv");\n\t\t\t\t\tif (fullContext.includesAny("psMeteoriteImpacts","psVolcanicSurfaceDust","psDiamondDust","psMicroorganismDust","psDustExcretions","psFossilDust","psAlienMeteorBombardment")) {\n\t\t\t\t\t\trv += " Electron-microscope study of the dust reveals that the dust also contains trillions of &dormant nanomachines==psNanomachineDust&.";\n\t\t\t\t\t} else {\n\t\t\t\t\t\trv += " Electron-microscope study of the dust reveals that it is composed of trillions of &dormant nanomachines==psNanomachineDust&.";\n\t\t\t\t\t}\n\t\t\t\t\trv += " At some point in the past, it seems &an advanced civilisation==psMeddlingCiv& &seeded==icNanotech& the &planetNoun& with these nanomachines, which converted the entire surface into more of themselves.";\n\t\t\t\t}\n\t\t\t\tbreak;\n\t\t\t\t\n\t\t\tcase "pCraters":\n\t\t\t\t/* Any combination can spawn */\n\t\t\t\tif (context.includesAll("psAncientMeteorCraters","psRecentMeteorCraters")) {\n\t\t\t\t\tcontext.delete("pCraters","psAncientMeteorCraters","psRecentMeteorCraters");\n\t\t\t\t\trv += " Most of the craters are geologically recent, and indicate a &recent heavy bombardment==psRecentMeteorCraters& that devastated the &planetNoun&'s surface. Some are &much older==psAncientMeteorCraters&, however, indicating that these bombardments have happened since the star system's formation.";\n\t\t\t\t}\n\t\t\t\tif (context.includes("psAncientMeteorCraters")) {\n\t\t\t\t\tcontext.delete("pCraters","psAncientMeteorCraters");\n\t\t\t\t\trv += " &planetaryScientist& finds that the craters are the marks of &millions of years of impacts==psAncientMeteorCraters& all the way back to the star system's formation.";\n\t\t\t\t}\n\t\t\t\tif (context.includes("psRecentMeteorCraters")) {\n\t\t\t\t\tcontext.delete("pCraters","psRecentMeteorCraters");\n\t\t\t\t\trv += " &planetaryScientist& determines that the craters are all geologically recent. Geological activity periodically resurfaces the &planetNoun&, wiping any craters away, but these craters are the marks of a &recent heavy bombardment==psRecentMeteorCraters& that happened since the last resurfacing.";\n\t\t\t\t}\n\t\t\t\tif (context.includes("psExtinctVolcanoCraters")) {\n\t\t\t\t\tcontext.delete("pCraters","psExtinctVolcanoCraters");\n\t\t\t\t\tif (fullContext.includesAny("psAncientMeteorCraters","psRecentMeteorCraters")) {\n\t\t\t\t\t\trv += " In addition to the impact craters, some of the depressions are the remains of &extinct volcanoes==psExtinctVolcanoCraters& that once covered the &planetNoun&'s surface.";\n\t\t\t\t\t} else {\n\t\t\t\t\t\trv += " What looked like impact craters are actually the remains of &extinct volcanoes==psExtinctVolcanoCraters& that once covered the &planetNoun&'s surface.";\n\t\t\t\t\t}\n\t\t\t\t}\n\t\t\t\tif (context.includes("psPlantCraters")) {\n\t\t\t\t\tcontext.delete("pCraters","psPlantCraters","psLife");\n\t\t\t\t\tif (fullContext.includesAny("psAncientMeteorCraters","psRecentMeteorCraters","psExtinctVolcanoCraters")) {\n\t\t\t\t\t\tif (fullContext.includes("plExtinct")) {\n\t\t\t\t\t\t\trv += " Some of the craters contain the &remains==plExtinct& huge circular &plant-like organisms==psLife&, which filled the craters and &enlarge them==psPlantCraters& as they continued to grow.";\n\t\t\t\t\t\t} else {\n\t\t\t\t\t\t\trv += " Some of the craters contain &living==plExtinct& &plant-like organisms==psLife&, which appear to inhabit the craters and &enlarge them==psPlantCraters& as they grow.";\n\t\t\t\t\t\t}\n\t\t\t\t\t} else {\n\t\t\t\t\t\tif (fullContext.includes("plExtinct")) {\n\t\t\t\t\t\t\trv += " Examining the circular structures, &biologist& realises that they are not impact craters, but were created by &extinct==plExtinct& &plant-like organisms==psLife& which &displaced material==psPlantCraters& as they grew.";\n\t\t\t\t\t\t} else {\n\t\t\t\t\t\t\trv += " Examining the circular structures, &biologist& realises that they are not impact craters, but are the habitats of circular &plant-like organisms==psLife& which &displace material==psPlantCraters& as they &grow==plNotExtinct&.";\n\t\t\t\t\t\t}\n\t\t\t\t\t}\n\t\t\t\t}\n\t\t\t\tif (context.includes("psAlienBombardmentCraters")) {\n\t\t\t\t\tcontext.delete("pCraters","psAlienBombardmentCraters","psMeddlingCiv","icPlanetMoving");\n\t\t\t\t\tif (fullContext.includesAny("psAncientMeteorCraters","psRecentMeteorCraters","psExtinctVolcanoCraters")) {\n\t\t\t\t\t\trv += " There is also a layer of impact craters that covers the entire surface in a pattern too regualar to be natural.";\n\t\t\t\t\t} else {\n\t\t\t\t\t\trv += " The craters are due to meteor impacts, but their pattern is too regular to be natural, and they all appear to have been made at the same time.";\n\t\t\t\t\t}\n\t\t\t\t\trv += " &xenologist& eventually realises that &spacefaring aliens==psMeddlingCiv& must have &redirected asteroids==icPlanetMoving& to &bombard==psAlienBombardmentCraters& the &planetNoun&'s surface, obliterating anything that was once there.";\n\t\t\t\t}\n\t\t\t\tbreak;\n\n\t\t\tcase "pEccentricOrbit":\n\t\t\t\t/* Any combination can spawn */\n\t\t\t\tif (context.includesAll("psCometaryCloudBody","psPrimordialCollision","psExtrasolarCapture")) {\n\t\t\t\t\tcontext.delete("pEccentricOrbit","psCometaryCloudBody","psPrimordialCollision","psExtrasolarCapture");\n\t\t\t\t\trv += " Examination of the &planetNoun&'s composition suggests that it originated in the &outer cometary cloud==psCometaryCloudBody& of &another star system==psExtrasolarCapture&, and a &collision==psPrimordialCollision& with another planetoid pushed it onto its current orbit.";\n\t\t\t\t}\n\t\t\t\tif (context.includesAll("psCometaryCloudBody","psPrimordialCollision")) {\n\t\t\t\t\tcontext.delete("pEccentricOrbit","psCometaryCloudBody","psPrimordialCollision");\n\t\t\t\t\trv += " Examination of the &planetNoun&'s composition suggests that it originated in the system's &outer cometary cloud==psCometaryCloudBody&, and a &collision==psPrimordialCollision& with another planetoid pushed it onto its current orbit.";\n\t\t\t\t}\n\t\t\t\tif (context.includesAll("psExtrasolarCapture","psPrimordialCollision")) {\n\t\t\t\t\tcontext.delete("pEccentricOrbit","psExtrasolarCapture","psPrimordialCollision");\n\t\t\t\t\trv += " The &planetNoun&'s composition does not match the rest of the system, and contains signs of a &massive collision==psPrimordialCollision& with another planetoid. It appears that the collision knocked it out of its former star system, and it drifted interstellar space until it was &captured==psExtrasolarCapture& by &parentName&'s gravity.";\n\t\t\t\t}\n\t\t\t\tif (context.includesAll("psCometaryCloudBody","psExtrasolarCapture")) {\n\t\t\t\t\tcontext.delete("pEccentricOrbit","psCometaryCloudBody","psExtrasolarCapture");\n\t\t\t\t\trv += " Examination of the &planetNoun&'s composition suggests that it originated in the &outer cometary cloud==psCometaryCloudBody& of &another star system==psExtrasolarCapture&, and that gravitational forces dislodged it from its old orbit and let it be captured by &parentName&.";\n\t\t\t\t}\n\t\t\t\tif (context.includes("psExtrasolarCapture")) {\n\t\t\t\t\tcontext.delete("pEccentricOrbit","psExtrasolarCapture");\n\t\t\t\t\trv += " The &planetNoun&'s composition does not match the rest of the system, suggesting that it is an &interstellar rogue planet==psExtrasolarCapture& captured by the star's gravity.";\n\t\t\t\t}\n\t\t\t\tif (context.includes("psPrimordialCollision")) {\n\t\t\t\t\tcontext.delete("pEccentricOrbit","psPrimordialCollision");\n\t\t\t\t\trv += " &planetaryScientist& studies the &planetNoun&'s composition and finds traces of a large planetoid that &collided==psPrimordialCollision& with it during the star system's formation, pushing it into its current eccentric orbit.";\n\t\t\t\t}\n\t\t\t\tif (context.includes("psCometaryCloudBody")) {\n\t\t\t\t\tcontext.delete("pEccentricOrbit","psCometaryCloudBody");\n\t\t\t\t\trv += " Examination of the &planetNoun&'s composition suggests that it originated in the system's &outer cometary cloud==psCometaryCloudBody&, and migrated to the inner system due to the galactic tide.";\n\t\t\t\t}\n\t\t\t\tif (context.includes("psAliensChangedOrbit")) {\n\t\t\t\t\tcontext.delete("pEccentricOrbit","psAliensChangedOrbit","icPlanetMoving","psMeddlingCiv");\n\t\t\t\t\tif (fullContext.includesAny("psCometaryCloudBody","psPrimordialCollision","psExtrasolarCapture")) {\n\t\t\t\t\t\trv += " Closer study suggests that event was not natural, but that &an alien civilisation==psMeddlingCiv& used &orbital engineering==icPlanetMoving& to &move it==psAliensChangedOrbit& to its current orbit.";\n\t\t\t\t\t} else {\n\t\t\t\t\t\trv += " Examination of the &planetNoun&'s composition suggests that it formed elsewhere in the system and &an alien civilisation==psMeddlingCiv& used unknown &orbital engineering==icPlanetMoving& techniques to &move it==psAliensChangedOrbit& to its current orbit.";\n\t\t\t\t\t}\n\t\t\t\t}\n\t\t\t\tbreak;\n\t\t\t\t\n\t\t\tcase "pFloatingStructures":\n\t\t\t\t/* Any combination can spawn */\n\t\t\t\tif (context.includes("psFloatingVegetation")) {\n\t\t\t\t\tcontext.delete("pFloatingStructures","psFloatingVegetation","psLife");\n\t\t\t\t\tif (fullContext.includes("psFloatingCities")) {\n\t\t\t\t\t\trv += " Some of the structures";\n\t\t\t\t\t} else {\n\t\t\t\t\t\trv += " The structures";\n\t\t\t\t\t}\n\t\t\t\t\tif (fullContext.includes("plExtinct")) {\n\t\t\t\t\t\trv += " floating on the surface of the ocean turn out to be the &remains==plExtinct& of long-dead &life forms==psLife&. When they were alive, they would have formed huge &mats of vegetation==psFloatingVegetation& whose root trailed deep into the water.";\n\t\t\t\t\t} else {\n\t\t\t\t\t\trv += " floating on the surface of the ocean turn out to be huge &mats==psFloatingVegetation& of alien &vegetation==psLife&, their roots trailing deep into the water and their surfaces blossoming with &life==plNotExtinct&.";\n\t\t\t\t\t}\n\t\t\t\t}\n\t\t\t\tif (context.includes("psFloatingVegAnimals")) {\n\t\t\t\t\tcontext.delete("psFloatingVegAnimals");\n\t\t\t\t\tif (fullContext.includes("plExtinct")) {\n\t\t\t\t\t\trv += " Tangled amid the dead vegetation are the remains of &animals==psFloatingVegAnimals&";\n\t\t\t\t\t} else {\n\t\t\t\t\t\trv += " The vegetation mats are home to colonies of &animal life==psFloatingVegAnimals&";\n\t\t\t\t\t}\n\t\t\t\t\tif (context.includes("psInhabitedFloatingVeg")) {\n\t\t\t\t\t\tcontext.delete("psInhabitedFloatingVeg");\n\t\t\t\t\t\tif (ex) {\n\t\t\t\t\t\t\trv += ", and entwined in their branches are the ruins of &alien settlements==psInhabitedFloatingVeg&.";\n\t\t\t\t\t\t} else {\n\t\t\t\t\t\t\trv += ", and entwined in their branches are &settlements==psInhabitedFloatingVeg& inhabited by intelligent beings.";\n\t\t\t\t\t\t}\n\t\t\t\t\t} else {\n\t\t\t\t\t\trv += ".";\n\t\t\t\t\t}\n\t\t\t\t}\n\t\t\t\tif (context.includes("psInhabitedFloatingVeg")) {\n\t\t\t\t\tcontext.delete("psInhabitedFloatingVeg");\n\t\t\t\t\tif (ex) {\n\t\t\t\t\t\trv += " Entwined in the branches of the floating plants are the ruins of &alien settlements==psInhabitedFloatingVeg&.";\n\t\t\t\t\t} else {\n\t\t\t\t\t\trv += " Entwined in the branches of the floating plants are &settlements==psInhabitedFloatingVeg& inhabited by intelligent beings.";\n\t\t\t\t\t}\n\t\t\t\t}\n\t\t\t\tif (context.includes("psFloatingCities")) {\n\t\t\t\t\tcontext.delete("pFloatingStructures","psFloatingCities","psCiv");\n\t\t\t\t\tif (fullContext.includes("psFloatingVegetation")) {\n\t\t\t\t\t\trv += " Other structures";\n\t\t\t\t\t} else {\n\t\t\t\t\t\trv += " The structures";\n\t\t\t\t\t}\n\t\t\t\t\tif (ex) {\n\t\t\t\t\t\trv += " are the remains of &floating cities==psFloatingCities& built by a now &vanished==cExtinct& &intelligent species==psCiv&.";\n\t\t\t\t\t} else {\n\t\t\t\t\t\trv += " are &floating cities==psFloatingCities& that are &inhabited==cNotExtinct& by &intelligent beings==psCiv&.";\n\t\t\t\t\t}\n\t\t\t\t}\n\n\t\t\t\tbreak;\n\t\t\t\t\n\t\t\tcase "pFlyingObjects":\n\t\t\t\t/* Any combination can spoawn */\n\t\t\t\tif (context.includes("psFlyingCities")) {\n\t\t\t\t\tcontext.delete("pFlyingObjects","psFlyingCities","psCiv","cExtinct");\n\t\t\t\t\tif (ex) {\n\t\t\t\t\t\trv += " The &ruins==cExtinct& of &aerial cities==psFlyingCities& still drift through the &planetNoun&'s skies, their &builders==psCiv& nowhere to be seen but their mysterious technology still keeping them aloft.";\n\t\t\t\t\t} else {\n\t\t\t\t\t\tif (context.includes("psAircraft")) {\n\t\t\t\t\t\t\tcontext.delete("psAircraft");\n\t\t\t\t\t\t\trv += " The flying objects &aerial cities==psFlyingCities& &inhabited==cNotExtinct& by &intelligent creatures==psCiv&, between which flit hundreds of &aircraft==psAircraft&.";\n\t\t\t\t\t\t} else {\n\t\t\t\t\t\t\trv += " The objects in &planetName&'s sky are &aerial cities==psFlyingCities& &inhabited==cNotExtinct& by &intelligent creatures==psCiv&.";\n\t\t\t\t\t\t}\n\t\t\t\t\t}\n\t\t\t\t}\n\t\t\t\tif (context.includesAny("psAirbornePlants","psGasbagPlants")) { \n\t\t\t\t\tif (fullContext.includes("psFlyingCities")) {\n\t\t\t\t\t\trv += " The cities float amid";\n\t\t\t\t\t} else {\n\t\t\t\t\t\trv += " The floating objects prove to be";\n\t\t\t\t\t}\n\t\t\t\t\tif (fullContext.includes("plExtinct")) {\n\t\t\t\t\t\tcontext.delete("plExtinct");\n\t\t\t\t\t\trv += " the &dead==plExtinct& but still buoyant remains of &airborne plants==psLife&,";\n\t\t\t\t\t} else {\n\t\t\t\t\t\tcontext.delete("plNotExtinct");\n\t\t\t\t\t\trv += " &living==plNotExtinct& forests of &airborne plants==psLife&,";\n\t\t\t\t\t}\n\t\t\t\t}\n\t\t\t\tif (context.includesAll("psAirbornePlants","psGasbagPlants")) {\n\t\t\t\t\tcontext.delete("pFlyingObjects","psAirbornePlants","psGasbagPlants","psLife");\n\t\t\t\t\trv += " some with &leaf-like structures==psAirbornePlants& that act like wings or sails, others held aloft by &bags of buoyant gas==psGasbagPlants&.";\n\t\t\t\t}\n\t\t\t\tif (context.includes("psAirbornePlants")) {\n\t\t\t\t\tcontext.delete("pFlyingObjects","psAirbornePlants","psLife");\n\t\t\t\t\trv += " their &lighter-than-air foliage==psAirbornePlants& held aloft by &planetName&'s atmosphere.";\n\t\t\t\t}\n\t\t\t\tif (context.includes("psGasbagPlants")) {\n\t\t\t\t\tcontext.delete("pFlyingObjects","psGasbagPlants","psAirbornePlants","psLife");\n\t\t\t\t\trv += " held aloft by &bags of buoyant gas==psGasbagPlants&.";\n\t\t\t\t}\n\t\t\t\t/* Airborne animals are invisible if extinct */\n\t\t\t\tif (context.includesAll("psWingedAnimals","psGasbagAnimals")) {\n\t\t\t\t\tcontext.delete("pFlyingObjects","psWingedAnimals","psGasbagAnimals","psLife");\n\t\t\t\t\tif (fullContext.includesAny("psAirbornePlants","psGasbagPlants")) {\n\t\t\t\t\t\trv += " The plants support a wide variety of flying animals. &Globular creatures==psGasbagAnimals& supported by bags of buoyant gas graze on the foliage, occasionally disturbed by flocks of faster-moving &winged creatures==psWingedAnimals&.";\n\t\t\t\t\t} else {\n\t\t\t\t\t\trv += " A wide variety of &flying animals==psLife& soar through the &planetNoun&'s skies, some powering their flight using &wings==psWingedAnimals& and others supported by &bags of buoyant gas==psGasbagAnimals&.";\n\t\t\t\t\t}\n\t\t\t\t}\t\t\n\t\t\t\tif (context.includes("psWingedAnimals")) {\n\t\t\t\t\tcontext.delete("pFlyingObjects","psWingedAnimals","psLife");\n\t\t\t\t\tif (fullContext.includesAny("psAirbornePlants","psGasbagPlants")) {\n\t\t\t\t\t\trv += " The floating plants are home to colonies of &winged animals==psWingedAnimals&.";\n\t\t\t\t\t} else {\n\t\t\t\t\t\trv += " The flying objects are &animals==psLife& that soar through the &planetNoun&'s skies on alien &wings==psWingedAnimals&.";\n\t\t\t\t\t}\n\t\t\t\t}\n\t\t\t\tif (context.includes("psGasbagAnimals")) {\n\t\t\t\t\tcontext.delete("pFlyingObjects","psGasbagAnimals","psLife");\n\t\t\t\t\tif (fullContext.includesAny("psAirbornePlants","psGasbagPlants")) {\n\t\t\t\t\t\trv += " &Gasbag animals==psGasbagAnimals& bob through the atmosphere, grazing on the floating plants.";\n\t\t\t\t\t} else {\n\t\t\t\t\t\trv += " The flying objects are &animals==psLife& that bob sedately through the &planetNoun&'s skies, held aloft by &bags of buoyant gas==psGasbagAnimals&.";\n\t\t\t\t\t}\n\t\t\t\t}\n\t\t\t\t\n\t\t\t\tif (context.includes("psAirborneNomads")) {\n\t\t\t\t\tcontext.delete("pFlyingObjects","psAirborneNomads","psCiv","cNotExtinct");\n\t\t\t\t\tif (fullContext.includesAny("psAirbornePlants","psGasbagPlants")) {\n\t\t\t\t\t\trv += " Amid the floating forests roam &nomadic groups==psAirborneNomads& of flying creatures, moving through the atmosphere in ways that appear &intelligent==psCiv&.";\n\t\t\t\t\t} else if (fullContext.includesAny("psWingedAnimals","psGasbagAnimals")) {\n\t\t\t\t\t\trv += " Amid the flying animals roam &nomadic groups==psAirborneNomads& of flying creatures, moving through the atmosphere in ways that appear &intelligent==psCiv&.";\n\t\t\t\t\t} else {\n\t\t\t\t\t\trv += " &Nomadic groups==psAirborneNomads& of flying creatures move through the atmosphere in ways that appear &intelligent==psCiv&.";\n\t\t\t\t\t}\n\n\t\t\t\t}\n\t\t\t\t\n\t\t\t\tif (context.includes("psAircraft")) {\n\t\t\t\t\tcontext.delete("pFlyingObjects","psAircraft","psCiv","cNotExtinct");\n\t\t\t\t\tif (fullContext.includesAny("psFlyingCities","psAirbornePlants","psGasbagPlants","psWingedAnimals","psGasbagAnimals","psAirborneNomads")) {\n\t\t\t\t\t\trv += " Other objects";\n\t\t\t\t\t} else {\n\t\t\t\t\t\trv += " The flying objects";\n\t\t\t\t\t}\n\t\t\t\t\trv += " are &aircraft==psAircraft&, built and piloted by members of a &living==cNotExtinct& &civilisation==psCiv&.";\n\t\t\t\t}\n\t\t\t\t\n\t\t\t\tbreak;\n\t\t\tcase "pUnusuallyDense":\n\t\t\t\t/* Terrestrial planet--can be combined */\n\t\t\t\tif (context.includesAll("psThinCrust")) {\n\t\t\t\t\tcontext.delete("psThinCrust","pUnusuallyDense");\n\t\t\t\t\trv += " Seismic experiments determine that &planetName& has an &almost no rocky crust==psThinCrust& above its dense metal core.";\n\t\t\t\t}\n\t\t\t\tif (context.includesAll("psGasGiantCore")) {\n\t\t\t\t\tcontext.delete("psGasGiantCore","pUnusuallyDense");\n\t\t\t\t\trv += " As well as being dense, &planetName&'s structure and composition are unexpected for a terrestrial planet. &planetaryScientist& eventually realises that it was originally a gas giant, whose atmosphere was gradually stripped away until all that was left was a &dense core==psGasGiantCore&.";\n\t\t\t\t}\n\t\t\t\t/* Asteroid belt */\n\t\t\t\tif (context.includesAll("psExPlanetBelt")) {\n\t\t\t\t\tcontext.delete("psExPlanetBelt","pUnusuallyDense");\n\t\t\t\t\trv += " The belt's surprising density proves to be because most of the belt bodies were once part of a dense planetary core. The belt &was once a planet==psExPlanetBelt&, which broke up for unknown reasons.";\n\t\t\t\t}\n\t\t\t\t/* Minor planet--should only have one of these */\n\t\t\t\tif (context.includesAll("psPlanetaryCoreFragment")) {\n\t\t\t\t\tcontext.delete("psPlanetaryCoreFragment","pUnusuallyDense");\n\t\t\t\t\trv += " The dense planetoid is nearly pure iron, and its structure suggests it was once molten. It seems that it is a &fragment of the core==psPlanetaryCoreFragment& of a planet that was broken up by some primordial collision.";\n\t\t\t\t}\n\t\t\t\tif (context.includesAll("psStrippedPlanetoid")) {\n\t\t\t\t\tcontext.delete("psStrippedPlanetoid","pUnusuallyDense");\n\t\t\t\t\trv += " The planetoid shows signs of having melted under intense heat and re-solidified. It seems that its orbit once took it very close to &starName&, at which point all but the heaviest materials were &stripped away==psStrippedPlanetoid&.";\n\t\t\t\t}\n\t\t\t\t\n\t\t\t\tbreak;\n\t\t\t\t\n\t\t\tcase "pUnusuallyLight":\n\t\t\t\t/* These ones can be combined */\n\t\t\t\tif (context.includesAll("psSubsurfaceOceanWater","pUnusuallyLight")) {\n\t\t\t\t\tcontext.delete("psSubsurfaceOceanWater","pUnusuallyLight");\n\t\t\t\t\trv += " Seismic experiments reveal that &planetName& has a &subsurface ocean==psSubsurfaceOceanWater& of liquid water.";\n\t\t\t\t}\n\t\t\t\tif (context.includesAll("psNoCore")) {\n\t\t\t\t\tcontext.delete("psNoCore","pUnusuallyLight");\n\t\t\t\t\tif (fullContext.includes("psSubsurfaceOceanWater")) {\n\t\t\t\t\t\trv += " Beneath the ocean, the &planetNoun& is composed entirely of rock with &no metal core==psNoCore&.";\n\t\t\t\t\t} else {\n\t\t\t\t\t\trv += " Seismic experiments determine that &planetName& is composed entirely of rock with &no metal core==psNoCore&.";\n\t\t\t\t\t}\n\t\t\t\t}\n\t\t\t\tif (context.includesAll("psBurrowedOut")) {\n\t\t\t\t\tcontext.delete("psBurrowedOut","pUnusuallyLight","psLife");\n\t\t\t\t\tif (fullContext.includes("plExtinct")) {\n\t\t\t\t\t\tif (fullContext.includes("psSubsurfaceOceanWater")) {\n\t\t\t\t\t\t\trv += " Both the ice crust above the ocean and the rock beneath it contain the &burrows==psBurrowedOut& of &long-extinct==plExtinct& &life-forms==psLife&, which may even have created the ocean in the first place.";\n\t\t\t\t\t\t} else if (fullContext.includes("psNoCore")) {\n\t\t\t\t\t\t\trv += "This porous rock still contains the &burrows==psBurrowedOut& of &long-extinct==plExtinct& &life-forms==psLife&.";\n\t\t\t\t\t\t} else {\n\t\t\t\t\t\t\trv += " The &planetNoun&'s low density proves to be the work of &extinct==plExtinct& &subterranean animals==psLife& that &burrowed==psBurrowedOut& through its crust so extensively that it became largely hollow. The &planetNoun&'s apparent surface is composed entirely of the displaced material from their burrowing.";\n\t\t\t\t\t\t}\n\t\t\t\t\t} else {\n\t\t\t\t\t\tif (fullContext.includes("psSubsurfaceOceanWater")) {\n\t\t\t\t\t\t\trv += " Both the ice crust above the ocean and the rock beneath it contain the &burrows==psBurrowedOut& of &subterranean animals==psLife&, which may even have created the ocean in the first place.";\n\t\t\t\t\t\t} else if (fullContext.includes("psNoCore")) {\n\t\t\t\t\t\t\trv += " &Subterranean creatures==psLife& have made &burrows==psBurrowedOut& deep in the rock.";\n\t\t\t\t\t\t} else {\n\t\t\t\t\t\t\trv += " The &planetNoun&'s low density proves to be the work of &subterranean animals==psLife& that have &burrowed==psBurrowedOut& through its crust so extensively that it is now largely hollow. The &planetNoun&'s apparent surface is composed entirely of the displaced material from their burrowing.";\n\t\t\t\t\t\t}\n\t\t\t\t\t}\n\t\t\t\t}\n\t\t\t\t\n\t\t\t\t/* These shouldn't be able to coexist with one another */\n\t\t\t\tif (context.includesAll("psWaterWorld")) {\n\t\t\t\t\tcontext.delete("psWaterWorld","pUnusuallyLight");\n\t\t\t\t\trv += " Attempted mapping of &planetName&'s ocean floor reveals that this ocean has no floor. The &planetNoun&'s low density is due to the fact that it is a &ball of liquid water==psWaterWorld& with no solid core.";\n\t\t\t\t}\n\t\t\t\tif (context.includesAll("psActuallyASpaceWhale")) {\n\t\t\t\t\tcontext.delete("psActuallyASpaceWhale","pUnusuallyLight");\n\t\t\t\t\trv += " What the &shipName&'s scanners first took to be a lifeless body is actually an immense &space-dwelling life form==psActuallyASpaceWhale&, its hide encrusted with interplanetary dust.";\n\t\t\t\t}\n\t\t\t\tif (context.includesAll("psActuallyASpaceStation")) {\n\t\t\t\t\tcontext.delete("psActuallyASpaceStation","pUnusuallyLight","psMeddlingCiv","icSpaceHabitation");\n\t\t\t\t\tif (context.includes("psOrbitalDerelict")) {\n\t\t\t\t\t\tcontext.delete("psOrbitalDerelict");\n\t\t\t\t\t\trv += " Studying &planetName&'s interior, &xenologist& realises that it is no &planetNoun&, but the &wreck==psOrbitalDerelict& of an immense &space station==psActuallyASpaceStation& built by a &space-dwelling==icSpaceHabitation& &civilisation==psMeddlingCiv&.";\n\t\t\t\t\t} else {\n\t\t\t\t\t\trv += " &Studying &planetName&'s interior, &xenologist& realises that it is no &planetNoun&, but an immense &space station==psActuallyASpaceStation& built by a &space-dwelling==icSpaceHabitation& &civilisation==psMeddlingCiv&.";\n\t\t\t\t\t}\n\t\t\t\t}\n\t\t\t\tif (context.includesAll("psArtificialBelt")) {\n\t\t\t\t\tcontext.delete("psArtificialBelt","pUnusuallyLight","psMeddlingCiv");\n\t\t\t\t\trv += " Examination of multiple belt bodies reveals that the entire belt is composed of &artificial structures==psArtificialBelt& built by a technologically advanced &civilisation==psMeddlingCiv&.";\n\t\t\t\t}\n\t\t\t\t\n\t\t\t\t/* Minor planet--should only have one of these */\n\t\t\t\tif (context.includesAll("psPlanetaryCrustFragment")) {\n\t\t\t\t\tcontext.delete("psPlanetaryCrustFragment","pUnusuallyLight");\n\t\t\t\t\trv += " The planetoid consists of lighter materials usually found in the upper crust of terrestrial planets. &planetaryScientist& guesses that it was once &part of a planet's crust==psPlanetaryCrustFragment&, which was shattered by a primordial collision.";\n\t\t\t\t}\n\t\t\t\tif (context.includesAll("psOutgassingHoneycomb")) {\n\t\t\t\t\tcontext.delete("psOutgassingHoneycomb","pUnusuallyLight");\n\t\t\t\t\trv += " The planetoid's rock has a foamy consistency with many tiny internal voids, similar to pumice. &planetaryScientist& realises that it formed filled with bubbles of water ice or other volatiles, which gradually &outgassed==psOutgassingHoneycomb& gently enough to leave the planetoid riddled with voids.";\n\t\t\t\t}\n\t\t\t\tbreak;\n\t\t\t\t\n\t\t\tcase "pCryoVolcanoes":\n\t\t\t\t/* Any combination can spawn */\n\t\t\t\tif (context.includesAll("psSubsurfaceOceanWater","psTidalFlexing")) {\n\t\t\t\t\tcontext.delete("pCryoVolcanoes","psSubsurfaceOceanWater","psTidalFlexing");\n\t\t\t\t\trv += " The cryovolcanoes prove to be eruptions from &planetName&'s &subsurface ocean==psSubsurfaceOceanWater&, released when &tidal flexing==psTidalFlexing& due to its elliptical orbit around &parentName& causes its ice crust to crack.";\n\t\t\t\t}\n\t\t\t\tif (context.includesAll("psSubsurfaceOceanWater")) {\n\t\t\t\t\tcontext.delete("pCryoVolcanoes","psSubsurfaceOceanWater");\n\t\t\t\t\trv += " Study of the cryovolcanoes indicates that they are composed of water from an immense &subsurface ocean==psSubsurfaceOceanWater&.";\n\t\t\t\t}\n\t\t\t\tif (context.includesAll("psTidalFlexing")) {\n\t\t\t\t\tcontext.delete("pCryoVolcanoes","psTidalFlexing");\n\t\t\t\t\trv += " Study of the cryovolcanoes reveals that the &planetName&'s ice sheet is constantly stretched and compressed by &tidal flexing==psTidalFlexing&, causing ice to melt along fault lines and erupt from the surface.";\n\t\t\t\t}\n\t\t\t\t/* Shouldn't be possible if life is extinct */\n\t\t\t\tif (context.includesAll("psCryovolcanoBlowholes")) {\n\t\t\t\t\tcontext.delete("pCryoVolcanoes","psCryovolcanoBlowholes","psLife");\n\t\t\t\t\tif (fullContext.includesAny("psSubsurfaceOceanWater","psTidalFlexing")) {\n\t\t\t\t\t\trv += " Some of the cryovolcanoes appear different, and their ejecta contain traces of &biological material==psLife&.";\n\t\t\t\t\t} else {\n\t\t\t\t\t\trv += " Samples of the cryovolcano ejecta contain traces of &biological material==psLife&.";\n\t\t\t\t\t}\n\t\t\t\t\trv += " &biologist& performs more scans of the ice beneath them, and detects their source: large alien creatures living inside the ice, which &violently expel waste material==psCryovolcanoBlowholes& through cracks above them along with plumes of icy water.";\n\t\t\t\t}\n\t\t\t\t\n\t\t\t\tbreak;\n\t\t\t\t\n\t\t\tcase "pVolcanoes":\n\t\t\t\t/* Should only have one of these two */\n\t\t\t\tif (context.includesAll("psTectonicVolcanoes")) {\n\t\t\t\t\tcontext.delete("psTectonicVolcanoes","pVolcanoes");\n\t\t\t\t\trv += " The &planetNoun&'s volcanoes are positioned mostly along fault lines. It appears that, as on Earth, friction between &moving tectonic plates==psTectonicVolcanoes& causes volcanoes to form.";\n\t\t\t\t}\n\t\t\t\tif (context.includesAll("psConstantResurfacing")) {\n\t\t\t\t\tcontext.delete("psConstantResurfacing","pVolcanoes");\n\t\t\t\t\trv += " The volcanoes are spread across &planetName&'s entire surface. It appears that the &planetNoun& is so geologically active that its entire surface is being &constantly renewed==psConstantResurfacing& by outflows of volcanic lava.";\n\t\t\t\t}\n\t\t\t\t/* Shouldn't be possible if life is extinct */\n\t\t\t\tif (context.includesAll("psVolcanoBlowholes")) {\n\t\t\t\t\tcontext.delete("psVolcanoBlowholes","pVolcanoes","psLife","plNotExtinct");\n\t\t\t\t\tif (fullContext.includesAny("psTectonicVolcanoes","psConstantResurfacing")) {\n\t\t\t\t\t\trv += " A few of the volcanoes appear not to be caused by normal geological processes, however.";\n\t\t\t\t\t} else {\n\t\t\t\t\t\trv += " Seismic readings of the volcanoes reveal that they are not caused by normal geological processes.";\n\t\t\t\t\t}\n\t\t\t\t\trv += " &biologist& eventually realises that they are they are caused by huge silicon-based &organisms==psLife& &living==plNotExtinct& beneath the crust, which &expel molten rock==psVolcanoBlowholes& in much the same way as Earthly whales expel air through their blowholes.";\n\t\t\t\t}\n\t\t\t\t\n\t\t\t\tbreak;\n\t\t\t\t\n\t\t\tcase "pOceanWater":\n\t\t\tcase "pOceanLava":\n\t\t\tcase "pOceanHydrocarbons":\n\t\t\tcase "pOceanAmmonia":\n\t\t\tcase "psSubsurfaceOceanWater":\n\t\t\t/* Only one ocean cause should spawn */\n\t\t\t\tif (context.includesAll("psOceanPrecipitation")) {\n\t\t\t\t\tcontext.delete("psOceanPrecipitation","pOceanWater");\n\t\t\t\t\trv += " Study of the ocean reveals that it was created by &precipitation==psOceanPrecipitation& of water vapour out of the atmosphere as the newly-formed &planetNoun& cooled.";\n\t\t\t\t}\n\t\t\t\tif (context.includesAll("psOceanRecentComet")) {\n\t\t\t\t\tcontext.delete("psOceanRecentComet","pOceanWater");\n\t\t\t\t\trv += " Study of the ocean reveals that it is fairly recent in geological timescales, and is probably the remains of a &comet==psOceanRecentComet& that impacted the &planetNoun& several thousand years ago.";\n\t\t\t\t}\n\t\t\t\tif (context.includesAll("psOceanMeltedIceSurface")) {\n\t\t\t\t\tcontext.delete("psOceanMeltedIceSurface","pOceanWater");\n\t\t\t\t\trv += " Studying the water's composition, &planetaryScientist& realises that &planetName& was once an ice &planetNoun&, which &melted==psOceanMeltedIceSurface& as it migrated inwards or as the star's temperature rose.";\n\t\t\t\t}\n\t\t\t\tif (context.includesAll("psMicrobesMadeOcean")) {\n\t\t\t\t\tcontext.delete("psMicrobesMadeOcean","pOceanWater","psLife");\n\t\t\t\t\trv += " The liquid water on the &planetNoun&'s surface appears to have been created by µbial life==psLife&, which has evolved the ability to gain energy by fusing atmospheric hydrogen with oxygen from rocks, &creating water==psMicrobesMadeOcean& as a by-product.";\n\t\t\t\t}\n\t\t\t\t\n\t\t\t\t/* Lava ocean */\n\t\t\t\tif (context.includesAll("psLavaOceanMoltenSurface")) {\n\t\t\t\t\tcontext.delete("psLavaOceanMoltenSurface","pOceanLava");\n\t\t\t\t\trv += " Study of the lava ocean reveals that the rock is kept molten simply by the &intense heat==psLavaOceanMoltenSurface& of the &planetNoun&'s surface.";\n\t\t\t\t}\n\t\t\t\tif (context.includesAll("psLavaOceanUpwelling")) {\n\t\t\t\t\tcontext.delete("psLavaOceanUpwelling","pOceanLava");\n\t\t\t\t\trv += " The &planetNoun& is not hot enough for the surface to stay molten indefinitely, but the lava oceans are constantly renewed by &upwellings==psLavaOceanUpwelling& from the &planetNoun&'s hot molten core.";\n\t\t\t\t}\n\t\t\t\tif (context.includesAll("psLavaOceanVolcanoes")) {\n\t\t\t\t\tcontext.delete("psLavaOceanVolcanoes","pOceanLava");\n\t\t\t\t\trv += " The &planetNoun&'s oceans of molten rock are actually the lava flows from its countless &volcanoes==psLavaOceanVolcanoes&, which are so violent that the flows are constantly refreshed before they have a chance to cool.";\n\t\t\t\t}\n\t\t\t\tif (context.includesAll("psLavaOceanCollision")) {\n\t\t\t\t\tcontext.delete("psLavaOceanCollision","pOceanLava");\n\t\t\t\t\trv += " &planetName&'s lava oceans are in the process of cooling. It appears that the &planetNoun& &collided==psLavaOceanCollision& with another body geologically recently, and the molten surface has not finished cooling.";\n\t\t\t\t}\n\n\t\t\t\t/* Hydrocarbon ocean */\n\t\t\t\tif (context.includesAll("psHydrocarbonPrecipitation")) {\n\t\t\t\t\tcontext.delete("psHydrocarbonPrecipitation","pOceanHydrocarbons");\n\t\t\t\t\trv += " The hydrocarbon ocean appears to have been created by &precipitation==psHydrocarbonPrecipitation& as hydrocarbon compounds condensed out of the atmosphere.";\n\t\t\t\t}\n\n\t\t\t\t/* Ammonia ocean */\n\t\t\t\tif (context.includesAll("psAmmoniaPrecipitation")) {\n\t\t\t\t\tcontext.delete("psAmmoniaPrecipitation","pOceanAmmonia");\n\t\t\t\t\trv += " The ammonia ocean appears to have been created by &precipitation==psAmmoniaPrecipitation& as ammonia condensed out of the atmosphere.";\n\t\t\t\t}\n\t\t\t\t\n\t\t\t\t/* Subsurface ocean */\n\t\t\t\tif (exploringTrait == "psSubsurfaceOceanWater" && context.includesAll("psTidalFlexing","psMoltenCore")) {\n\t\t\t\t\tcontext.delete("psSubsurfaceOceanWater","psTidalFlexing","psMoltenCore");\n\t\t\t\t\trv += " Study of the subsurface ocean reveals that it is kept liquid by a combination of &tidal flexing==psTidalFlexing& due to &planetName&'s elliptical orbit around "+TextUtils.parentName()+", and heat from the &planetNoun&'s &molten core==psMoltenCore&.";\n\t\t\t\t} else if (exploringTrait == "psSubsurfaceOceanWater" && context.includesAll("psMoltenCore")) {\n\t\t\t\t\tcontext.delete("psSubsurfaceOceanWater","psMoltenCore");\n\t\t\t\t\trv += " Study of the subsurface ocean reveals that it is kept liquid by the heat from the &planetNoun&'s &molten core==psMoltenCore&.";\n\t\t\t\t} else if (exploringTrait == "psSubsurfaceOceanWater" && context.includesAll("psTidalFlexing")) {\n\t\t\t\t\tcontext.delete("psSubsurfaceOceanWater","psTidalFlexing");\n\t\t\t\t\trv += " Study of the subsurface ocean reveals that it is kept liquid by &tidal flexing==psTidalFlexing& due to &planetName&'s elliptical orbit around "+TextUtils.parentName()+".";\n\t\t\t\t}\n\n\t\t\t\t/* Artificial ocean can be any kind */\n\t\t\t\tif (context.includesAll("psAliensMadeOcean")) {\n\t\t\t\t\tcontext.delete("psAliensMadeOcean","pOceanWater","pOceanHydrocarbons","pOceanLava","psMeddlingCiv","icTerraformers");\n\t\t\t\t\trv += " Study of the ocean reveals that it is &artificial==psAliensMadeOcean&, created by &technologically advanced aliens==psMeddlingCiv& in order to &alter the world==icTerraformers& for their needs.";\n\t\t\t\t}\n\t\t\t\t\n\t\t\t\t/* Life and civs -- only show if we don't already know them */\n\t\t\t\tif (newDiscoveredTraits.includes("psLifeOcean")) {\n\t\t\t\t\tcontext.delete("psLifeOcean","psLife");\n\t\t\t\t\trv += " &biologist& discovers the unmistakable signs of &ocean-dwelling==psLifeOcean& &life==psLife&.";\n\t\t\t\t}\n\t\t\t\tif (newDiscoveredTraits.includes("psLifeSubsurfaceOcean")) {\n\t\t\t\t\tcontext.delete("psLifeSubsurfaceOcean","psLife");\n\t\t\t\t\trv += " &biologist& discovers the unmistakable signs of &subsurface ocean==psLifeSubsurfaceOcean& &life==psLife&.";\n\t\t\t\t}\n\t\t\t\tcontext.delete("psLifeOcean","psLifeSubsurfaceOcean");\n\t\t\t\t\n\t\t\t\t/* Underwater cities and settlements*/\n\t\t\t\tif (newDiscoveredTraits.includes("psUnderwaterCities")) {\n\t\t\t\t\tcontext.delete("psUnderwaterCities","psCiv");\n\t\t\t\t\tif (ex) {\n\t\t\t\t\t\tcontext.delete("cExtinct");\n\t\t\t\t\t\trv += " &xenologist& identifies the &ruins==cExtinct& of &underwater cities==psUnderwaterCities& built by &intelligent aliens==psCiv&.";\n\t\t\t\t\t} else {\n\t\t\t\t\t\tcontext.delete("cNotExtinct");\n\t\t\t\t\t\trv += " &xenologist& sees the lights of &underwater cities==psUnderwaterCities& &inhabited==cNotExtinct& by &intelligent aliens==psCiv&.";\n\t\t\t\t\t}\n\t\t\t\t}\n\t\t\t\tif (newDiscoveredTraits.includes("psSmallUnderwaterSettlements")) {\n\t\t\t\t\tcontext.delete("psSmallUnderwaterSettlements","psCiv");\n\t\t\t\t\tif (ex) {\n\t\t\t\t\t\tcontext.delete("cExtinct");\n\t\t\t\t\t\trv += " &xenologist& identifies the &ruins==cExtinct& of &small underwater settlements==psSmallUnderwaterSettlements& built by &intelligent aliens==psCiv&.";\n\t\t\t\t\t} else {\n\t\t\t\t\t\tcontext.delete("cNotExtinct");\n\t\t\t\t\t\trv += " &xenologist& sees the lights of &underwater cities==psSmallUnderwaterSettlements& &inhabited==cNotExtinct& by &intelligent aliens==psCiv&.";\n\t\t\t\t\t}\n\t\t\t\t}\n\t\t\t\tif (newDiscoveredTraits.includes("psOceanNomads")) {\n\t\t\t\t\tcontext.delete("psOceanNomads","psCiv","cNotExtinct");\n\t\t\t\t\trv += " &xenologist& spots &groups of creatures==psOceanNomads& &moving==cNotExtinct& through the ocean in ways that appear &intelligent==psCiv&.";\n\t\t\t\t}\n\t\t\t\tbreak;\n\t\t\t\t\n\t\t\tcase "pPossibleStructures":\n\n\t\t\t\tif (context.includesAll("psRegularGeology")) {\n\t\t\t\t\tcontext.delete("psRegularGeology","pPossibleStructures");\n\t\t\t\t\trv += " The formations that appeared like structures from orbit turn out to be unusually regular &geological formations==psRegularGeology&.";\n\t\t\t\t}\n\t\t\t\tif (context.includesAll("psAnimalStructures")) {\n\t\t\t\t\tcontext.delete("psAnimalStructures","pPossibleStructures","psLife");\n\t\t\t\t\tif (fullContext.includes("plExtinct")) {\n\t\t\t\t\t\tcontext.delete("plExtinct");\n\t\t\t\t\t\trv += " Clustered around and inside the formations are the &remains==plExtinct& of &alien life form==psLife&. It seems that these &immense structures==psAnimalStructures& played some part in the creatures' life cycle.";\n\t\t\t\t\t} else {\n\t\t\t\t\t\tcontext.delete("plNotExtinct");\n\t\t\t\t\t\trv += " &biologist& watches from a safe distance as an &alien life form==psLife& slowly constructs one of the formations. Apparently these &immense structures==psAnimalStructures& play some part in the creatures' &life cycle==plNotExtinct&.";\n\t\t\t\t\t}\n\t\t\t\t}\n\t\t\t\t\n\t\t\t\t/* Should have only one of cities and small settlements */\n\t\t\t\tif (context.includes("psCities")) {\n\t\t\t\t\tcontext.delete("psCities","pPossibleStructures","psCiv");\n\t\t\t\t\tif (fullContext.includesAny("psRegularGeology","psAnimalStructures")) {\n\t\t\t\t\t\trv += " As well as these natural structures, &xenologist& finds";\n\t\t\t\t\t} else {\n\t\t\t\t\t\trv += " The structures that the &shipName& observed from orbit turn out to be";\n\t\t\t\t\t}\n\t\t\t\t\tif (ex) {\n\t\t\t\t\t\tcontext.delete("cExtinct");\n\t\t\t\t\t\trv += " the &ruins==cExtinct& of &cities==psCities& built by &intelligent aliens==psCiv&."\n\t\t\t\t\t} else {\n\t\t\t\t\t\tcontext.delete("cNotExtinct");\n\t\t\t\t\t\trv += " &cities==psCities& &inhabited==cNotExtinct& by &intelligent beings==psCiv&."\n\t\t\t\t\t}\n\t\t\t\t}\n\t\t\t\tif (context.includes("psSmallSettlements")) {\n\t\t\t\t\tcontext.delete("psSmallSettlements","pPossibleStructures","cExtinct","psCiv");\n\t\t\t\t\tif (fullContext.includesAny("psRegularGeology","psAnimalStructures")) {\n\t\t\t\t\t\trv += " As well as these natural structures, &xenologist& finds";\n\t\t\t\t\t} else {\n\t\t\t\t\t\trv += " The structures that the &shipName& observed from orbit turn out to be";\n\t\t\t\t\t}\n\t\t\t\t\tif (ex) {\n\t\t\t\t\t\tcontext.delete("cExtinct");\n\t\t\t\t\t\trv += " the &ruins==cExtinct& of &small settlements==psSmallSettlements& built by &intelligent aliens==psCiv&."\n\t\t\t\t\t} else {\n\t\t\t\t\t\tcontext.delete("cNotExtinct");\n\t\t\t\t\t\trv += " &small settlements==psSmallSettlements& &inhabited==cNotExtinct& by &intelligent aliens==psCiv&."\n\t\t\t\t\t}\n\t\t\t\t}\n\t\t\t\t\n\t\t\t\t/* NEW FOR 1.1.0--- */\n\t\t\t\tif (context.includes("psPlanetSpanningComputer")) {\n\t\t\t\t\tcontext.delete("psPlanetSpanningComputer","pPossibleStructures","psMeddlingCiv");\n\t\t\t\t\tif (fullContext.includesAny("psCities","psSmallSettlements")) {\n\t\t\t\t\t\trv += " Throughout all the settlements are building-sized electronic machines, which together make up an interconnected &computer system==psPlanetSpanningComputer& spanning large parts of the &planetNoun&.";\n\t\t\t\t\t\t\n\t\t\t\t\t} else if (fullContext.includesAny("psRegularGeology","psAnimalStructures")) {\n\t\t\t\t\t\trv += " In addition to the natural structures there are ones that are obviously artificial. Closer inspection shows them to be an active, interconnected &computer system==psPlanetSpanningComputer& spanning large parts of the &planetNoun&'s surface.";\n\t\t\t\t\t} else {\n\t\t\t\t\t\trv += " The structures are artificial, and closer inspection shows them to be an active, interconnected &computer system==psPlanetSpanningComputer& spanning large parts of the &planetNoun&'s surface.";\n\t\t\t\t\t}\n\t\t\t\t}\n\t\t\t\t/* ---NEW FOR 1.1.0 */\n\n\t\t\t\tif (context.includesAll("psSurfaceSolarPanels")) {\n\t\t\t\t\tcontext.delete("psSurfaceSolarPanels","pPossibleStructures","psMeddlingCiv","icPlanetEngineering");\n\t\t\t\t\tif (fullContext.includesAny("psRegularGeology","psAnimalStructures","psCities","psSmallSettlements","psPlanetSpanningComputer")) {\n\t\t\t\t\t\trv += " Also visible on the surface are huge arrays of &solar panels==psSurfaceSolarPanels&,";\n\t\t\t\t\t} else {\n\t\t\t\t\t\trv += " The regular formations are &solar panels==psSurfaceSolarPanels& spread out across large swathes of the &planetNoun&'s surface,";\n\t\t\t\t\t}\n\t\t\t\t\trv += " apparently created by &alien visitors==psMeddlingCiv& capable of &planetary-scale engineering==icPlanetEngineering&.";\n\t\t\t\t}\n\t\t\t\t\t\t\t\t\n\t\t\t\tbreak;\n\t\t\t\t\n\t\t\tcase "pPossibleVegetation":\n\t\t\t\t/* Any combination can spawn */\n\t\t\t\tif (context.includesAll("psCrystalForests")) {\n\t\t\t\t\tcontext.delete("psCrystalForests","pPossibleVegetation","psCiv");\n\t\t\t\t\trv += " What looked from orbit like forests turn out to be immense fields of &crystalline growths==psCrystalForests&.";\n\t\t\t\t\tif (context.includes("psCrystalCities")) {\n\t\t\t\t\t\tcontext.delete("psCrystalCities");\n\t\t\t\t\t\tif (ex) {\n\t\t\t\t\t\t\tcontext.delete("cExtinct");\n\t\t\t\t\t\t\trv += " Some of the crystals have been &deliberately shaped==psCiv& to form &cities==psCrystalCities&, but they are now &long abandoned==cExtinct&.";\n\t\t\t\t\t\t} else {\n\t\t\t\t\t\t\tcontext.delete("cNotExtinct");\n\t\t\t\t\t\t\trv += " Some of the crystals have been deliberately shaped to form &cities==psCrystalCities&, which are &inhabited==cNotExtinct& by &intelligent beings==psCiv&.";\n\t\t\t\t\t\t}\n\t\t\t\t\t}\n\t\t\t\t}\n\t\t\t\tif (context.includes("psCrystalCities")) {\n\t\t\t\t\tcontext.delete("psCrystalCities","pPossibleVegetation","psCiv");\n\t\t\t\t\tif (ex) {\n\t\t\t\t\t\tcontext.delete("cExtinct");\n\t\t\t\t\t\trv += " What looked from orbit like forests turn out to be clusters of huge crystals, which look like they were artificially grown as &cities==psCrystalCities& for a &now vanished==cExtinct& &civilisation==psCiv&.";\n\t\t\t\t\t} else {\n\t\t\t\t\t\tcontext.delete("cNotExtinct");\n\t\t\t\t\t\trv += " What looked from orbit like forests turn out to be clusters of huge crystals, which look like they were grown as &cities==psCrystalCities& by the &intelligent creatures==psCiv& that &inhabit them==cNotExtinct&.";\n\t\t\t\t\t}\n\t\t\t\t}\n\t\t\t\tif (context.includes("psForests")) {\n\t\t\t\t\tcontext.delete("psForests","pPossibleVegetation","psLife");\n\t\t\t\t\tif (fullContext.includesAny("psCrystalForests","psCrystalCities")) {\n\t\t\t\t\t\trv += " Interspersed between the crystals are";\n\t\t\t\t\t} else {\n\t\t\t\t\t\trv += " The areas of possible vegetation the &shipName& detected from orbit are";\n\t\t\t\t\t}\n\t\t\t\t\tif (fullContext.includes("plExtinct")) {\n\t\t\t\t\t\tcontext.delete("plExtinct");\n\t\t\t\t\t\trv += " the &petrified remains==plExtinct& of & plant-like==psForests& &life forms==psLife&.";\n\t\t\t\t\t\tif (context.includes("psForestAnimals")) {\n\t\t\t\t\t\t\tcontext.delete("psForestAnimals");\n\t\t\t\t\t\t\trv += " The remains of &forest animals==psForestAnimals& lie buried amid the petrified roots.";\n\t\t\t\t\t\t}\n\t\t\t\t\t} else {\t\t\t\t\t\n\t\t\t\t\t\tcontext.delete("plNotExtinct");\n\t\t\t\t\t\trv += " &living==plNotExtinct& &forests==psForests& of plant-like &life forms==psLife&.";\n\t\t\t\t\t\tif (context.includes("psForestAnimals")) {\n\t\t\t\t\t\t\tcontext.delete("psForestAnimals");\n\t\t\t\t\t\t\trv += " &Small animals==psForestAnimals& live amid the plants, scuttling across the forest floors and clambering through the branches.";\n\t\t\t\t\t\t}\n\t\t\t\t\t}\n\t\t\t\t\tif (context.includes("psTendedForests")) {\n\t\t\t\t\t\tcontext.delete("psTendedForests","psCiv");\n\t\t\t\t\t\tif (ex) {\n\t\t\t\t\t\t\tcontext.delete("cExtinct");\n\t\t\t\t\t\t\trv += " There are signs that the forests' growth is not entirely natural, but that they were once &tended==psTendedForests& by a &now vanished==cExtinct& &civilisation==psCiv&.";\n\t\t\t\t\t\t} else {\n\t\t\t\t\t\t\tcontext.delete("cNotExtinct");\n\t\t\t\t\t\t\trv += " The forests' structure is not entirely natural, and investigation indicates that they are being &actively==cNotExtinct& &tended==psTendedForests& by &intelligent creatures==psCiv&.";\n\t\t\t\t\t\t}\n\t\t\t\t\t}\n\t\t\t\t\tif (context.includes("psForestCities")) {\n\t\t\t\t\t\tcontext.delete("psForestCities","psCiv");\n\t\t\t\t\t\tif (ex) {\n\t\t\t\t\t\t\tcontext.delete("cExtinct");\n\t\t\t\t\t\t\trv += " High in the trees are the &decaying ruins==cExtinct& of &arboreal cities==psForestCities& built by a vanished &civilisation==psCiv&.";\n\t\t\t\t\t\t} else {\n\t\t\t\t\t\t\tcontext.delete("cNotExtinct");\n\t\t\t\t\t\t\trv += " High in the trees are &arboreal cities==psForestCities& &inhabited==cNotExtinct& by &intelligent beings==psCiv&.";\n\t\t\t\t\t\t}\n\t\t\t\t\t}\n\t\t\t\t}\n\t\t\t\tif (context.includes("psForestOrganisms")) {\n\t\t\t\t\tcontext.delete("psForestOrganisms","pPossibleVegetation","psLife");\n\t\t\t\t\tif (fullContext.includes("plExtinct")) {\n\t\t\t\t\t\trv += " The areas of vegetation the &shipName& detected from orbit turn out to be the &petrified remains==plExtinct& of immense, sprawling &organisms==psLife&, each one the size of a terrestrial &forest==psForestOrganisms&.";\n\t\t\t\t\t\tif (context.includes("psForestAnimals")) {\n\t\t\t\t\t\t\tcontext.delete("psForestAnimals");\n\t\t\t\t\t\t\trv += " Among them are the remains of much smaller, mobile &animals==psForestAnimals&, which seem to have lived in a symbiotic relationship with the forest creatures.";\n\t\t\t\t\t\t}\n\t\t\t\t\t} else {\n\t\t\t\t\t\trv += " The areas of vegetation the &shipName& detected from orbit turn out to be immense, sprawling &living==plNotExtinct& &organisms==psLife&, each one the size of a terrestrial &forest==psForestOrganisms&.";\n\t\t\t\t\t\tif (context.includes("psForestAnimals")) {\n\t\t\t\t\t\t\tcontext.delete("psForestAnimals");\n\t\t\t\t\t\t\trv += " Much smaller, mobile &animals==psForestAnimals& live among the organisms, existing in a symbiotic relationship with them.";\n\t\t\t\t\t\t}\n\t\t\t\t\t}\n\t\t\t\t\tif (context.includes("psTendedForests")) {\n\t\t\t\t\t\tcontext.delete("psTendedForests","psCiv");\n\t\t\t\t\t\tif (ex) {\n\t\t\t\t\t\t\tcontext.delete("cExtinct");\n\t\t\t\t\t\t\trv += " The huge organisms' growth does not seem to be natural, and further investigation suggests that they were &tended==psTendedForests& by a &now vanished==cExtinct& &civilisation==psCiv&.";\n\t\t\t\t\t\t} else {\n\t\t\t\t\t\t\tcontext.delete("cNotExtinct");\n\t\t\t\t\t\t\trv += " The huge organisms' growth does not seem to be natural, and it seems that they are being &actively==cNotExtinct& &tended==psTendedForests& by &intelligent creatures==psCiv&.";\n\t\t\t\t\t\t}\n\t\t\t\t\t}\n\t\t\t\t\tif (context.includes("psForestCities")) {\n\t\t\t\t\t\tcontext.delete("psForestCities","psCiv");\n\t\t\t\t\t\tif (ex) {\n\t\t\t\t\t\t\tcontext.delete("cExtinct");\n\t\t\t\t\t\t\trv += " The organisms' massive limbs support the &ruins==cExtinct& of &cities==psForestCities& built by &intelligent creatures==psCiv&.";\n\t\t\t\t\t\t} else {\n\t\t\t\t\t\t\tcontext.delete("cNotExtinct");\n\t\t\t\t\t\t\trv += " The orgranisms' massive limbs support &cities==psForestCities& &inhabited==cNotExtinct& by &intelligent creatures==psCiv&.";\n\t\t\t\t\t\t}\n\t\t\t\t\t}\n\t\t\t\t}\n\t\t\t\tbreak;\n\t\t\t\t\n\t\t\tcase "pRadiationZones":\n\t\t\t\t/* Any combination can spawn */\n\t\t\t\tif (context.includesAll("psNuclearBattlefields","psNuclearPowerAccident")) {\n\t\t\t\t\tcontext.delete("psNuclearBattlefields","psNuclearPowerAccident","pRadiationZones");\n\t\t\t\t\trv += " Investigating the radiation zones, &planetaryScientist& finds that they are the remnants of multiple nuclear explosions, some from &nuclear power accidents==psNuclearPowerAccident& and others from at least one global &nuclear war==psNuclearBattlefields&.";\n\t\t\t\t}\n\t\t\t\tif (context.includesAll("psNuclearBattlefields")) {\n\t\t\t\t\tcontext.delete("psNuclearBattlefields","pRadiationZones");\n\t\t\t\t\trv += " Investigation of the radiation zones reveal traces of a &nuclear war==psNuclearBattlefields& that devastated large parts of the &planetNoun&'s surface centuries ago.";\n\t\t\t\t}\n\t\t\t\tif (context.includesAll("psNuclearPowerAccident")) {\n\t\t\t\t\tcontext.delete("psNuclearPowerAccident","pRadiationZones");\n\t\t\t\t\trv += " Investigation of the radiation zones reveal the aftermath of a &nuclear power accident==psNuclearPowerAccident& that laid waste to parts of the &planetNoun&'s surface.";\n\t\t\t\t}\n\t\t\t\tif (newDiscoveredTraits.includes("psCiv")) {\n\t\t\t\t\tif (ex) {\n\t\t\t\t\t\tcontext.delete("cExtinct","psCiv");\n\t\t\t\t\t\trv += " The radioactivity from these explosions has faded almost to nothing, and the &civilisation==psCiv& that caused them appears to be &extinct==cExtinct&.";\n\t\t\t\t\t} else if (fullContext.includes("ctRegression")) {\n\t\t\t\t\t\trv += " The radioactivity from these explosions has faded almost to nothing, but there is evidence of more recent intelligent activity in the area. It seems that the &civilisation==psCiv& that caused the explosions is &still around==cNotExtinct&, but may no longer use nuclear power or weapons.";\n\t\t\t\t\t} else {\n\t\t\t\t\t\tcontext.delete("cNotExtinct","psCiv");\n\t\t\t\t\t\trv += " The radiation zones are fresh, and the &shipName& detects signs of &recent==cNotExtinct& nuclear power use by the &planetNoun&'s indigenous &civilisation==psCiv&.";\n\t\t\t\t\t}\n\t\t\t\t}\n\t\t\t\tcontext.delete("cExtinct","cNotExtinct","psCiv");\n\t\t\t\tif (context.includesAll("psRadioactiveMinerals")) {\n\t\t\t\t\tcontext.delete("psRadioactiveMinerals","pRadiationZones");\n\t\t\t\t\tif (context.includesAny("psNuclearBattlefields","psNuclearPowerAccident")) {\n\t\t\t\t\t\trv += " The crust also contains naturally &radioactive minerals==psRadioactiveMinerals&, which may have provided material for the civilisation to build its nuclear devices.";\n\t\t\t\t\t} else {\n\t\t\t\t\t\trv += " The source of the high surface radiation turns out to be &radioactive minerals==psRadioactiveMinerals& buried in the crust.";\n\t\t\t\t\t}\n\t\t\t\t}\n\t\t\t\tif (context.includesAll("psRadioactiveMicrobes")) {\n\t\t\t\t\tcontext.delete("psRadioactiveMicrobes","pRadiationZones","psLife");\n\t\t\t\t\tif (fullContext.includes("plExtinct")) {\n\t\t\t\t\t\trv += " The source of the high surface radiation turns out to the remains of &extinct==plExtinct& &alien microorganisms==psLife& whose life processes caused them to emit &radiation==psRadioactiveMicrobes&.";\n\t\t\t\t\t} else {\n\t\t\t\t\t\trv += " The source of the high surface radiation turns out to be &living==plNotExtinct& µorganisms==psLife& whose life processes cause them to emit &radiation==psRadioactiveMicrobes&.";\n\t\t\t\t\t}\n\t\t\t\t}\n\t\t\t\t\n\t\t\t\tbreak;\n\t\t\t\t\n\t\t\tcase "pRingSystem":\n\t\t\t\t/* There should only be one ring system */\n\t\t\t\tif (context.includesAll("psBrokenMoon")) {\n\t\t\t\t\tcontext.delete("psBrokenMoon","pRingSystem");\n\t\t\t\t\trv += " &planetName&'s ring system turns out to be &the remains of a moon==psBrokenMoon& that came too close to its parent and broke up.";\n\t\t\t\t}\n\t\t\t\tif (context.includesAll("psFailedMoon")) {\n\t\t\t\t\tcontext.delete("psFailedMoon","pRingSystem");\n\t\t\t\t\trv += " The bodies comprising the ring system date back to the star system's formation, when they were captured by &planetName&'s gravity but &failed to coalesce==psFailedMoon& into a moon.";\n\t\t\t\t}\n\t\t\t\tif (context.includesAll("psCapturedAsteroids")) {\n\t\t\t\t\tcontext.delete("psCapturedAsteroids","pRingSystem");\n\t\t\t\t\trv += " The ring system is composed of millions of &asteroids==psCapturedAsteroids& that have been captured by &planetName&'s gravity since the planet formed.";\n\t\t\t\t}\n\t\t\t\tif (context.includesAll("psEjectaRings")) {\n\t\t\t\t\tcontext.delete("psEjectaRings","pRingSystem");\n\t\t\t\t\trv += " &planetName&'s rings are composed of &volcanic ejecta==psEjectaRings&, from volcanoes so violent that their eruptions reach orbital velocity.";\n\t\t\t\t}\n\t\t\t\t\n\t\t\t\tif (context.includesAll("psSatelliteRing")) {\n\t\t\t\t\tcontext.delete("psSatelliteRing","pRingSystem","psCiv");\n\t\t\t\t\tif (ex) {\n\t\t\t\t\t\tcontext.delete("cExtinct");\n\t\t\t\t\t\trv += " The ring system consists of the dead hulks of millions of &artificial satellites==psSatelliteRing&, created by the now &extinct==cExtinct& &civilisation==psCiv& on the &planetNoun& below.";\n\t\t\t\t\t} else {\n\t\t\t\t\t\tcontext.delete("cNotExtinct");\n\t\t\t\t\t\trv += " The ring system is actually an extensive &artificial satellite network==psSatelliteRing&, &buzzing with activity==cNotExtinct& as it fulfills the needs of the &civilisation==psCiv& on the &planetNoun& below.";\n\t\t\t\t\t}\n\t\t\t\t}\n\t\t\t\tif (context.includesAll("psSpaceJunk")) {\n\t\t\t\t\tcontext.delete("psSpaceJunk","pRingSystem","psCiv");\n\t\t\t\t\tif (ex) {\n\t\t\t\t\t\tcontext.delete("cExtinct");\n\t\t\t\t\t\trv += " The ring system is composed of ancient &space junk==psSpaceJunk& from the space program of the &planetNoun&'s &long-vanished==cExtinct& &civilisation==psCiv&.";\n\t\t\t\t\t} else {\n\t\t\t\t\t\tcontext.delete("cNotExtinct");\n\t\t\t\t\t\trv += " The ring system is composed of rapidly-decaying &space junk==psSpaceJunk& from the &active space program==cNotExtinct& of the &planetNoun&'s native &civilisation==psCiv&.";\n\t\t\t\t\t}\n\t\t\t\t}\n\t\t\t\tif (context.includesAll("psBattleDebrisRing")) {\n\t\t\t\t\tcontext.delete("psBattleDebrisRing","pRingSystem","icSpaceWarfare","psMeddlingCiv");\n\t\t\t\t\trv += " The ring system is composed of &debris==psBattleDebrisRing& from &space battles==icSpaceWarfare& that have taken place in the &planetNoun&'s orbit between forces ¬ native==psMeddlingCiv& to this &planetNoun&.";\n\t\t\t\t}\n\t\t\t\tif (context.includesAll("psOrbitalArtworks")) {\n\t\t\t\t\tcontext.delete("psOrbitalArtworks","pRingSystem","icArtists","psMeddlingCiv");\n\t\t\t\t\trv += " At first the ring system looks natural, but closer inspaction reveals that &intelligent aliens==psMeddlingCiv& have deliberately &shaped==psOrbitalArtworks& the rocks as some kind of system-scale &artwork==icArtists&.";\n\t\t\t\t}\n\t\t\t\t\n\t\t\t\tif (context.includesAll("psSpaceWhaleSwarm")) {\n\t\t\t\t\tcontext.delete("psSpaceWhaleSwarm","pRingSystem","psLife");\n\t\t\t\t\tif (fullContext.includesAny("psBrokenMoon","psFailedMoon","psCapturedAsteroids","psEjectaRings")) {\n\t\t\t\t\t\trv += " Drifting among the rings are &space-dwelling life forms==psSpaceWhaleSwarm&, each about the size of the &shipName&.";\n\t\t\t\t\t} else {\n\t\t\t\t\t\trv += " &planetName&'s ring system is actually a swarm of &space-dwelling life forms==psSpaceWhaleSwarm&, each about the size of the &shipName&.";\n\t\t\t\t\t}\n\t\t\t\t}\n\n\t\t\t\tbreak;\n\t\t\t\t\n\t\t\tcase "pSaltCoveredSurface":\n\t\t\t\t/* Only one of these should spawn */\n\t\t\t\tif (context.includesAll("psEvaporatedOceans")) {\n\t\t\t\t\tcontext.delete("psEvaporatedOceans","pSaltCoveredSurface");\n\t\t\t\t\trv += " The salt covering &planetName&'s surface is all that remains of a &planet-spanning ocean==psEvaporatedOceans& that evaporated away.";\n\t\t\t\t}\n\t\t\t\tif (context.includesAll("psAliensStoleWater")) {\n\t\t\t\t\tcontext.delete("psAliensStoleWater","pSaltCoveredSurface","icExploiters","psMeddlingCiv");\n\t\t\t\t\trv += " The salt covering &planetName&'s surface is the remains of a planet-spanning ocean. Artificial compounds mixed with the salt suggest that the ocean was &drained away==psAliensStoleWater& by an advanced &alien civilisation==psMeddlingCiv& capable of &planetary-scale resource extraction==icExploiters&.";\n\t\t\t\t}\n\t\t\t\tif (context.includesAll("psSaltExcretingNanites")) {\n\t\t\t\t\tcontext.delete("psSaltExcretingNanites","pSaltCoveredSurface","icNanotech","psMeddlingCiv");\n\t\t\t\t\trv += " The salt covering &planetName&'s contains traces of &alien technology==psMeddlingCiv&. It seems like &theMeddlingCiv& once used &nanomachines==icNanotech& to &extract salt==psSaltExcretingNanites& from the rocks and onto the surface.";\n\t\t\t\t}\n\t\t\t\tif (context.includesAll("psSaltExcretingMicroorganism")) {\n\t\t\t\t\tcontext.delete("psSaltExcretingMicroorganism","pSaltCoveredSurface","psLife");\n\t\t\t\t\tif (fullContext.includes("plExtinct")) {\n\t\t\t\t\t\tcontext.delete("plExtinct");\n\t\t\t\t\t\trv += " The salt covering the &planetNoun&'s surface is suffused with dead organic material. It seems that the salt was created by an &extinct==plExtinct& µorganism==psLife& that &excreted salt==psSaltExcretingMicroorganism& as part of its biochemistry.";\n\t\t\t\t\t} else {\n\t\t\t\t\t\tcontext.delete("plNotExtinct");\n\t\t\t\t\t\trv += " Examining the salt, &biologist& finds that it teems with &living==plNotExtinct& µorganisms==psLife& that continually &excrete salt==psSaltExcretingMicroorganism& as part of their life processes.";\n\t\t\t\t\t}\n\t\t\t\t}\n\t\t\t\t\n\t\t\t\tbreak;\n\t\t\tcase "pSulphurCoveredSurface":\n\t\t\t\t/* Only one of these should spawn */\n\t\t\t\tif (context.includesAll("psVolcanicSulphurSurface")) {\n\t\t\t\t\tcontext.delete("psVolcanicSulphurSurface","pSulphurCoveredSurface");\n\t\t\t\t\tif (fullContext.includes("pVolcanoes")) {\n\t\t\t\t\t\trv += " &planetaryScientist& learns that the layer of sulphur was deposited by the eruptions of the &planetNoun&'s many &volcanoes==psVolcanicSulphurSurface&. The &planetNoun&'s low gravity means that lighter volatiles are lost to space, leaving sulphur compounds to rain down and become concentrated on the surface.";\n\t\t\t\t\t} else {\n\t\t\t\t\t\trv += " Studying the sulphur layer, &planetaryScientist& realises that &planetName&'s surface must have been covered by &volcanoes==psVolcanicSulphurSurface& at some point in the past. The &planetNoun&'s low gravity means that lighter volatiles were lost to space, leaving sulphur compounds to rain down and become concentrated on the surface.";\n\t\t\t\t\t}\n\t\t\t\t}\n\t\t\t\tif (context.includesAll("psAlienIndustrySulphur")) {\n\t\t\t\t\tcontext.delete("psAlienIndustrySulphur","pSulphurCoveredSurface","icPlanetEngineering","psMeddlingCiv");\n\t\t\t\t\trv += " The sulphur covering &planetName&'s surface contains minute traces of &artificial compounds==psAlienIndustrySulphur&, leading &xenologist& to conclude that it is the product of &industrial activity==icPlanetEngineering& by &alien visitors==psMeddlingCiv&.";\n\t\t\t\t}\n\t\t\t\tif (context.includesAll("psSulphurExcretions")) {\n\t\t\t\t\tcontext.delete("psSulphurExcretions","pSulphurCoveredSurface","psLife");\n\t\t\t\t\tif (fullContext.includes("plExtinct")) {\n\t\t\t\t\t\tcontext.delete("plExtinct");\n\t\t\t\t\t\trv += " The sulphur dusting &planetName&'s surface turns out to be the &excretions==psSulphurExcretions& of &extinct==plExtinct& microscopic &life forms==psLife& that used sulphur as part of their chemistry.";\n\t\t\t\t\t} else {\n\t\t\t\t\t\tcontext.delete("plNotExtinct");\n\t\t\t\t\t\trv += " The sulphur dusting &planetName&'s surface turns out to be the &excretions==psSulphurExcretions& of a &thriving ecosystem==plNotExtinct& of microscopic &life forms==psLife& that use sulphur as part of their chemistry.";\n\t\t\t\t\t}\n\t\t\t\t}\n\t\t\t\t\n\t\t\t\tbreak;\n\t\t\tcase "pNitrogenCoveredSurface":\n\t\t\t\t/* Only one of these should spawn */\n\t\t\t\tif (context.includesAll("psFrozenNitrogenAtmosphere")) {\n\t\t\t\t\tcontext.delete("psFrozenNitrogenAtmosphere","pNitrogenCoveredSurface");\n\t\t\t\t\trv += " &planetaryScientist& studies the nitrogen and determines that it is ancient. During the heat of the &systemName& system's formation, &planetName& appears to have been massive enough to attract a nitrogen atmosphere, but the intense cold of its orbit meant that the nitrogen gradually &froze out==psFrozenNitrogenAtmosphere& and formed a layer on the surface.";\n\t\t\t\t}\n\t\t\t\tif (context.includesAll("psAlienIndustryNitrogen")) {\n\t\t\t\t\tcontext.delete("psAlienIndustryNitrogen","pNitrogenCoveredSurface","icPlanetEngineering","psMeddlingCiv");\n\t\t\t\t\trv += " The distribution of frozen nitrogen on &planetName&'s surface suggests that it did not form naturally, but was &deliberately placed==psAlienIndustryNitrogen& here by &alien visitors==psMeddlingCiv&, as a by-product of some kind of planetary-scale &industrial activity==icPlanetEngineering&.";\n\t\t\t\t}\n\t\t\t\tif (context.includesAll("psNitrogenExcretions")) {\n\t\t\t\t\tcontext.delete("psNitrogenExcretions","pNitrogenCoveredSurface","psLife");\n\t\t\t\t\tif (fullContext.includes("plExtinct")) {\n\t\t\t\t\t\tcontext.delete("plExtinct");\n\t\t\t\t\t\trv += " There appears to be no explanation for the nitrogen covering &planetName&'s surface, until &biologist& detects traces of an &extinct==plExtinct& µorganism==psLife& that &excreted nitrogen==psNitrogenExcretions& as part of its strange biochemistry.";\n\t\t\t\t\t} else {\n\t\t\t\t\t\tcontext.delete("plNotExtinct");\n\t\t\t\t\t\trv += " There appears to be no explanation for the nitrogen covering &planetName&'s surface, until &biologist& detects a &living==plNotExtinct& µorganism==psLife& that &excretes nitrogen==psNitrogenExcretions& as part of its strange biochemistry.";\n\t\t\t\t\t}\n\t\t\t\t}\n\t\t\t\t\n\t\t\t\tbreak;\n\t\t\tcase "pUnstable":\n\t\t\t\t/* Only one of these should spawn */\n\t\t\t\tif (context.includesAll("psMoltenCore")) {\n\t\t\t\t\tcontext.delete("psMoltenCore","pUnstable");\n\t\t\t\t\trv += " Seismic experiments determine that &planetName& has a hot &molten core==psMoltenCore&, whose heat powers the crust's tectonic activity.";\n\t\t\t\t}\n\t\t\t\tif (context.includesAll("psTidalFlexing","pCryoVolcanoes","pUnstable")) {\n\t\t\t\t\tcontext.delete("psTidalFlexing","pCryoVolcanoes","pUnstable");\n\t\t\t\t\trv += " "+TextUtils.parentName()+"'s gravity constantly &stretches and compresses==psTidalFlexing& the &planetNoun&, making its surface unstable and causing ice to melt along fault lines and erupt as cryovolcanoes.";\n\t\t\t\t}\n\t\t\t\tif (context.includesAll("psTidalFlexing","pCryoVolcanoes")) {\n\t\t\t\t\tcontext.delete("psTidalFlexing","pCryoVolcanoes");\n\t\t\t\t\trv += " The &planetNoun&'s ice sheet is constantly being &stretched and compressed==psTidalFlexing& by the gravity of "+TextUtils.parentName()+", causing ice along the fault lines to melt and erupt as cryovolcanoes.";\n\t\t\t\t}\n\t\t\t\tif (context.includesAll("psTidalFlexing")) {\n\t\t\t\t\tcontext.delete("psTidalFlexing","pUnstable");\n\t\t\t\t\trv += " &planetName&'s geological instability is due to &tidal flexing==psTidalFlexing&. The &planetNoun&'s core is constantly being stretched and compressed by &parentName&'s gravity.";\n\t\t\t\t}\n\t\t\t\tif (context.includesAll("psRadioactiveHeating")) {\n\t\t\t\t\tcontext.delete("psRadioactiveHeating","pUnstable");\n\t\t\t\t\trv += " Seismic experiments determine that &planetName&'s geological instability is due to heat generated by the intense &radioactivity==psRadioactiveHeating& in its crust.";\n\t\t\t\t}\n\t\t\t\tif (context.includesAll("psNewlyFormed")) {\n\t\t\t\t\tcontext.delete("psNewlyFormed","pUnstable");\n\t\t\t\t\trv += " The &planetNoun& is unstable because it formed recently, and is &still glowing with the heat of its creation==psNewlyFormed&. In a few million years it should cool enough for the surface to become settled.";\n\t\t\t\t}\n\t\t\t\tif (context.includesAll("psBiologicalHeating")) {\n\t\t\t\t\tcontext.delete("psBiologicalHeating","pUnstable","psLife");\n\t\t\t\t\tif (fullContext.includes("plExtinct")) {\n\t\t\t\t\t\tcontext.delete("plExtinct");\n\t\t\t\t\t\trv += " &biologist& discovers the remains of lithovoric µorganisms==psLife& threaded throughout the crust. Although they are now &extinct==plExtinct&, their activities made the crust so fragile that it is still suffering from &seismic disturbances==psBiologicalHeating&.";\n\t\t\t\t\t} else {\n\t\t\t\t\t\tcontext.delete("plNotExtinct");\n\t\t\t\t\t\trv += " &biologist& discovers that the &planetNoun&'s crust &teems==plNotExtinct& with lithovoric µorganisms==psLife&, which break down the rock so rapidly that they lead to &seismic disturbances==psBiologicalHeating&.";\n\t\t\t\t\t}\n\t\t\t\t}\n\t\t\t\tif (context.includesAll("psTechnologicalHeating")) {\n\t\t\t\t\tcontext.delete("psTechnologicalHeating","pUnstable","icPlanetEngineering","psMeddlingCiv");\n\t\t\t\t\trv += " Studying the geological instability, &xenologist& realises that it is not natural, but is due to millions of &alien machines==psTechnologicalHeating& buried in the crust by an &advanced civilisation==psMeddlingCiv& as part of some feat of &planetary engineering==icPlanetEngineering&.";\n\t\t\t\t}\n\t\t\t\t\n\t\t\t\tbreak;\n\t\t\t\t\n\t\t\tcase "pMovingLandObjects":\n\t\t\t\t/* Any combination can spawn */\n\t\t\t\t/* Life forms should never be extinct (since then they wouldn't be moving) */\n\t\t\t\tvar animalPhrases = [];\n\t\t\t\tif (context.includes("psLandAnimalsLegs")) {\n\t\t\t\t\tanimalPhrases.push("stride across the &planetNoun&'s open surface on long &legs==psLandAnimalsLegs&");\n\t\t\t\t}\n\t\t\t\tif (context.includes("psLandAnimalsWorms")) {\n\t\t\t\t\tanimalPhrases.push("slither like &worms==psLandAnimalsWorms& across the &planetNoun&'s open surface");\n\t\t\t\t}\n\t\t\t\tif (context.includes("psLandAnimalsWheeled")) {\n\t\t\t\t\tanimalPhrases.push("roll across the &planetNoun&'s surface on naturally-evolved &wheels==psLandAnimalsWheeled&");\n\t\t\t\t}\n\t\t\t\tif (context.includes("psLandAnimalsBlobs")) {\n\t\t\t\t\tanimalPhrases.push("slither across the &planetNoun&'s surface on amorphous &pseudopods==psLandAnimalsBlobs&");\n\t\t\t\t}\n\t\t\t\t\n\t\t\t\tif (animalPhrases.length > 0) {\n\t\t\t\t\tcontext.delete("psLife","plNotExtinct","psLandAnimalsLegs","psLandAnimalsWorms","psLandAnimalsWheeled","psLandAnimalsBlobs");\n\t\t\t\t\trv += " The moving objects are &living==plNotExtinct& &alien animals==psLife&";\n\t\t\t\t\tif (animalPhrases.length == 1) {\n\t\t\t\t\t\trv += " which "+animalPhrases[0]+".";\n\t\t\t\t\t} else if (animalPhrases.length == 2) {\n\t\t\t\t\t\trv += ", some of which "+animalPhrases[0]+", while others "+animalPhrases[1]+".";\n\t\t\t\t\t} else if (animalPhrases.length == 3) {\n\t\t\t\t\t\trv += ", some of which "+animalPhrases[0]+", while others "+animalPhrases[1]+" or "+animalPhrases[2]+".";\n\t\t\t\t\t} else if (animalPhrases.length == 4) {\n\t\t\t\t\t\trv += ", some of which "+animalPhrases[0]+", while others "+animalPhrases[1]+", "+animalPhrases[2]+" or "+animalPhrases[3]+".";\n\t\t\t\t\t}\n\t\t\t\t}\n\n\t\t\t\tif (context.includesAll("psMobileLandPlants")) {\n\t\t\t\t\tcontext.delete("psMobileLandPlants","pMovingLandObjects","psLife");\n\t\t\t\t\tif (animalPhrases.length > 0) {\n\t\t\t\t\t\trv += " Many of the animals graze on mobile plant-analogues, which &roll across the surface==psMobileLandPlants& looking for places to take root.";\n\t\t\t\t\t} else {\n\t\t\t\t\t\trv += " The moving objects are plant-like &life forms==psLife&, which &roll across the surface==psMobileLandPlants& looking for places to take root.";\n\t\t\t\t\t}\n\t\t\t\t}\n\t\t\t\tif (context.includesAll("psNomadicGroups")) {\n\t\t\t\t\tcontext.delete("psNomadicGroups","pMovingLandObjects","psCiv","cNotExtinct");\n\n\t\t\t\t\tif (animalPhrases.length > 0) {\n\t\t\t\t\t\trv += " Following many of the animal groups are &nomadic groups==psNomadicGroups& of &living creatures==cNotExtinct&, herding the animals in ways that are clearly &intelligent==psCiv&.";\n\t\t\t\t\t} else if (fullContext.includes("psMobileLandPlants")) {\n\t\t\t\t\t\trv += " Following many of the plants are &nomadic groups==psNomadicGroups& of &living creatures==cNotExtinct&, moving in ways that are clearly &intelligent==psCiv&.";\n\t\t\t\t\t} else {\n\t\t\t\t\t\trv += " The moving objects are &nomadic groups==psNomadicGroups& of &living creatures==cNotExtinct&, moving in ways that are clearly &intelligent==psCiv&.";\n\t\t\t\t\t}\n\t\t\t\t}\n\t\t\t\tif (context.includesAll("psRollingRocks")) {\n\t\t\t\t\tcontext.delete("psRollingRocks","pMovingLandObjects");\n\t\t\t\t\tif (fullContext.includesAny("psLandAnimalsLegs","psLandAnimalsWorms","psLandAnimalsWheeled","psLandAnimalsBlobs","psMobileLandPlants","psNomadicGroups")) {\n\t\t\t\t\t\trv += " In addition to the life forms, the &planetNoun&'s instability sometimes sends &boulders==psRollingRocks& rolling across the surface."\n\t\t\t\t\t} else {\n\t\t\t\t\t\trv += " The moving objects are &boulders==psRollingRocks&, which the &planetNoun&'s geological instability periodically sends rolling across the surface.";\n\t\t\t\t\t}\n\t\t\t\t}\n\t\t\t\tif (context.includesAll("psGroundRobots")) {\n\t\t\t\t\tcontext.delete("psGroundRobots","pMovingLandObjects","psMeddlingCiv","icSelfReplicatingMachines");\n\t\t\t\t\tif (fullContext.includesAny("psLandAnimalsLegs","psLandAnimalsWorms","psLandAnimalsWheeled","psLandAnimalsBlobs","psMobileLandPlants","psNomadicGroups")) {\n\t\t\t\t\t\trv += " Other moving objects are &self-replicating==icSelfReplicatingMachines& &robots==psGroundRobots& created by a &technologically advanced civilisation==psMeddlingCiv&.";\n\t\t\t\t\t} else {\n\t\t\t\t\t\trv += " The moving objects are &self-replicating==icSelfReplicatingMachines& &robots==psGroundRobots& created by a &technologically advanced civilisation==psMeddlingCiv&.";\n\t\t\t\t\t}\n\t\t\t\t}\n\t\t\t\t\n\t\t\t\tbreak;\n\t\t\t\t\n\t\t\tcase "pCloudCover":\n\t\t\t\t/* Any combination can spawn */\n\t\t\t\tvar cloudLayers = context.delete("psVolcanicDustClouds","psWaterVapourClouds","psGemstoneRain","psGlassRain");\n\t\t\t\tif (cloudLayers.length == 1) {\n\t\t\t\t\tcontext.delete("pCloudCover");\n\t\t\t\t\tif (cloudLayers.includes("psVolcanicDustClouds")) {\n\t\t\t\t\t\trv += " &planetaryScientist& determines that the clouds are composed of &volcanic ash==psVolcanicDustClouds& suspended in the atmosphere. The ash eventually settles onto the surface, &planetName& is so volcanically active that the ash clouds are renewed as fast as they disperse.";\n\t\t\t\t\t} else if (cloudLayers.includes("psWaterVapourClouds")) {\n\t\t\t\t\t\trv += " Samples of the clouds reveal that they are composed of &water vapour==psWaterVapourClouds&, much like Earth's.";\n\t\t\t\t\t} else if (cloudLayers.includes("psGemstoneRain")) {\n\t\t\t\t\t\trv += " The &planetNoun&'s clouds are composed of intensely hot corundum, which periodically condenses out in rains of &rubies and sapphires==psGemstoneRain&.";\n\t\t\t\t\t} else if (cloudLayers.includes("psGlassRain")) {\n\t\t\t\t\t\trv += " The &planetNoun&'s clouds are composed of evaporated silicates, which periodically condense out and rain &molten glass==psGlassRain&";\n\t\t\t\t\t}\n\t\t\t\t} else if (cloudLayers.length > 1) {\n\t\t\t\t\tcontext.delete("pCloudCover");\n\t\t\t\t\trv += " Samples of the clouds reveal that there are "+TextUtils.numberWord(cloudLayers.length)+" distinct layers with different compositions:";\n\t\t\t\t\tfor (var n = 0; n < cloudLayers.length; n++) {\n\t\t\t\t\t\tif (cloudLayers[n]=="psWaterVapourClouds") {\n\t\t\t\t\t\t\trv += " a familiar layer of &water vapour clouds==psWaterVapourClouds&"; \n\t\t\t\t\t\t} else if (cloudLayers[n]=="psVolcanicDustClouds") {\n\t\t\t\t\t\t\trv += " a layer of &volcanic ash==psVolcanicDustClouds&"; \n\t\t\t\t\t\t} else if (cloudLayers[n]=="psGemstoneRain") {\n\t\t\t\t\t\t\trv += " a layer of intensely hot corundum, which periodically condenses into &rubies and sapphires==psGemstoneRain&"\n\t\t\t\t\t\t} else if (cloudLayers[n]=="psGlassRain") {\n\t\t\t\t\t\t\trv += " a layer of evaporated silicates, which occasionally rains &molten glass==psGlassRain&";\n\t\t\t\t\t\t}\n\t\t\t\t\t\tif (n == cloudLayers.length-1) {\n\t\t\t\t\t\t\trv += ".";\n\t\t\t\t\t\t} else if (n == cloudLayers.length-2) {\n\t\t\t\t\t\t\trv += ", and";\n\t\t\t\t\t\t} else {\n\t\t\t\t\t\t\trv += ",";\n\t\t\t\t\t\t}\n\t\t\t\t\t}\n\t\t\t\t}\n\t\t\t\tif (context.includes("psMicrobeClouds")) {\n\t\t\t\t\tcontext.delete("psMicrobeClouds","psLife","pCloudCover");\n\t\t\t\t\tif (cloudLayers.length > 0) {\n\t\t\t\t\t\tif (fullContext.includes("plExtinct")) {\n\t\t\t\t\t\t\tcontext.delete("plExtinct");\n\t\t\t\t\t\t\trv += " Drifting amid the clouds are the remains of countless µorganisms==psLife&, still &suspended in the atmosphere==psMicrobeClouds& long after their &extinction==plExtinct&.";\n\t\t\t\t\t\t} else {\n\t\t\t\t\t\t\tcontext.delete("plNotExtinct");\n\t\t\t\t\t\t\trv += " &Suspended amid the clouds==psMicrobeClouds& are countless &living==plNotExtinct& µorganisms==psLife&.";\n\t\t\t\t\t\t}\n\t\t\t\t\t} else {\n\t\t\t\t\t\tif (fullContext.includes("plExtinct")) {\n\t\t\t\t\t\t\tcontext.delete("plExtinct");\n\t\t\t\t\t\t\trv += " &planetName&'s clouds are composed of a fine dust suspended in the atmosphere. Studying it, &biologist& realises that it is the remains of countless µorganisms==psLife&, still &drifting in the atmosphere==psMicrobeClouds& long after their &extinction==plExtinct&.";\n\t\t\t\t\t\t} else {\n\t\t\t\t\t\t\tcontext.delete("plNotExtinct");\n\t\t\t\t\t\t\trv += " Studying the clouds, &biologist& learns that they are composed not of gas or vapour but of countless &living==plNotExtinct& µorganisms==psLife& &suspended in the atmosphere==psMicrobeClouds&.";\n\t\t\t\t\t\t}\n\t\t\t\t\t}\n\t\t\t\t}\n\t\t\t\tbreak;\n\t\t\t\t\n\t\t\tcase "pDiscolouredSurfaceAreas":\n\t\t\t\tif (context.includes("psGrasslands")) {\n\t\t\t\t\tcontext.delete("pDiscolouredSurfaceAreas","psGrasslands");\n\t\t\t\t\tif (fullContext.includes("plExtinct")) {\n\t\t\t\t\t\tcontext.delete("plExtinct");\n\t\t\t\t\t\trv += " The discoloured areas turn out to be the &remains==plExtinct& of &alien plants==psLife&, which once covered large parts of the &planetNoun&'s surface like Earthly &grasses==psGrasslands&.";\n\t\t\t\t\t} else {\n\t\t\t\t\t\tcontext.delete("plNotExtinct");\n\t\t\t\t\t\trv += " The discoloured areas turn out to be &fields==plNotExtinct& of &alien plants==psLife& that cover large parts of the &planetNoun&'s surface like Earthly &grasses==psGrasslands&.";\n\t\t\t\t\t}\n\t\t\t\t}\n\t\t\t\tif (context.includes("psColourfulSurfaceMicrobes")) {\n\t\t\t\t\tcontext.delete("pDiscolouredSurfaceAreas","psColourfulSurfaceMicrobes","psLife");\n\t\t\t\t\tif (fullContext.includes("psGrasslands")) {\n\t\t\t\t\t\tif (fullContext.includes("plExtinct")) {\n\t\t\t\t\t\t\trv += " Where these plants thin, more barren areas of the are covered in the remains of &lichen-like microorganism colonies==psColourfulSurfaceMicrobes& ";\n\t\t\t\t\t\t} else {\n\t\t\t\t\t\t\trv += " Where these plants thin, more barren areas of the are covered in &lichen-like microorganism colonies==psColourfulSurfaceMicrobes& ";\n\t\t\t\t\t\t}\n\t\t\t\t\t} else {\n\t\t\t\t\t\tif (fullContext.includes("plExtinct")) {\n\t\t\t\t\t\t\tcontext.delete("plExtinct");\n\t\t\t\t\t\t\trv += " The coloured areas turn out to be the &remains==plExtinct& of &lichen-like==psColourfulSurfaceMicrobes& colonies of µorganisms==psLife& that once grew on the &planetNoun&'s surface.";\n\t\t\t\t\t\t} else {\n\t\t\t\t\t\t\tcontext.delete("plNotExtinct");\n\t\t\t\t\t\t\trv += " The coloured areas turn out to be &lichen-like colonies==psColourfulSurfaceMicrobes& of &alien microorganisms==psLife& &growing==plNotExtinct& on the &planetNoun&'s surface.";\n\t\t\t\t\t\t}\n\t\t\t\t\t}\n\t\t\t\t}\n\t\t\t\tif (context.includes("psColourfulInternalMicrobes")) {\n\t\t\t\t\tcontext.delete("pDiscolouredSurfaceAreas","psColourfulInternalMicrobes","psLife");\n\t\t\t\t\tif (fullContext.includesAny("psGrasslands","psColourfulSurfaceMicrobes")) {\n\t\t\t\t\t\trv += " In other places, geological activity has revealed µbe colonies==psColourfulInternalMicrobes& that originally lived deep beneath the surface.";\n\t\t\t\t\t} else {\n\t\t\t\t\t\tif (fullContext.includes("plExtinct")) {\n\t\t\t\t\t\t\tcontext.delete("plExtinct");\n\t\t\t\t\t\t\trv += " The discoloured areas prove to be the remains of long-dead µbe colonies==psColourfulInternalMicrobes&. It seems that the &planetNoun& once had an &ecosystem==psLife& of deep-crust microbes, but it is now &extinct==plExtinct&, and geological activity has gradually brought some of their remains to the surface.";\n\t\t\t\t\t\t} else {\n\t\t\t\t\t\t\tcontext.delete("plNotExtinct");\n\t\t\t\t\t\t\trv += " The discoloured areas prove to be the remains of dead µbe colonies==psColourfulInternalMicrobes&. &biologist& determines that the &organisms==psLife& normally live in the &deep crust==psColourfulInternalMicrobes& and expired when geological activity brought them to the surface, but further study reveals that other colonies are &still living==plNotExtinct& underground.";\n\t\t\t\t\t\t}\n\t\t\t\t\t}\n\t\t\t\t}\n\t\t\t\tif (context.includes("psGeologicalColouring")) {\n\t\t\t\t\tcontext.delete("pDiscolouredSurfaceAreas","psGeologicalColouring");\n\t\t\t\t\tif (fullContext.includesAny("psGrasslands","psColourfulSurfaceMicrobes","psColourfulInternalMicrobes")) {\n\t\t\t\t\t\trv += " In addition to the colourful life forms, there are also areas where &geological activity==psGeologicalColouring& has brought different materials to the surface.";\n\t\t\t\t\t} else {\n\t\t\t\t\t\trv += " &planetaryScientist& finds that the discoloured areas are due to &geological activity==psGeologicalColouring& bringing different materials to the surface.";\n\t\t\t\t\t}\n\t\t\t\t}\n\t\t\t\tif (context.includes("psPaintedSurface")) {\n\t\t\t\t\tcontext.delete("pDiscolouredSurfaceAreas","psPaintedSurface","icArtists","psMeddlingCiv");\n\t\t\t\t\tif (fullContext.includesAny("psGrasslands","psColourfulSurfaceMicrobes","psColourfulInternalMicrobes")) {\n\t\t\t\t\t\trv += " There are also areas of colouring that are clearly &artificial==psPaintedSurface&, and &xenologist& eventually realises they must have been created by a &spacefaring civilisation==psMeddlingCiv&, perhaps as a planetary-scale &artwork==icArtists&.";\n\t\t\t\t\t} else {\n\t\t\t\t\t\trv += " &xenologist& eventually realises that the discoloured areas are &artificial==psPaintedSurface& and must have been created by a &spacefaring civilisation==psMeddlingCiv&, perhaps as a planetary-scale &artwork==icArtists&.";\n\t\t\t\t\t}\n\t\t\t\t}\n\t\t\t\t\n\t\t\t\tbreak;\n\t\t\tcase "pRunawayGreenhouseEffect":\n\t\t\t\t/* Only one of these should spawn */\n\t\t\t\tif (context.includes("psBoiledOceansGreenhouse")) {\n\t\t\t\t\tcontext.delete("psBoiledOceansGreenhouse","pRunawayGreenhouseEffect");\n\t\t\t\t\trv += " &planetaryScientist& finds evidence that &planetName& once had extensive liquid water oceans, but rising temperatures caused them to &boil==psBoiledOceansGreenhouse&, and the resulting atmospheric water vapour pushed the &planetNoun& into a runaway greenhouse effect.";\n\t\t\t\t}\n\t\t\t\tif (context.includes("psIndustrialGreenhouse")) {\n\t\t\t\t\tcontext.delete("psIndustrialGreenhouse","pRunawayGreenhouseEffect","psCiv","cExtinct");\n\t\t\t\t\trv += " There is no obvious natural explanation for the runaway greenhouse effect, but &xenologist& eventually finds the corroded remains of ancient industrial complexes. It seems that the &planetNoun&'s &native civilisation==psCiv& unknowingly (or, perhaps, knowingly) &released greenhouses gases==psIndustrialGreenhouse& into the atmosphere that caused the &planetNoun& to heat up. Global warming pushed the &planetNoun&'s climate over a major tipping point that made the warming self-sustaining and irreversible, &wiping out==cExtinct& the civilisation that caused it along with any other life on the planet.";\n\t\t\t\t}\n\t\t\t\tif (context.includes("psMeddlingCivGreenhouse")) {\n\t\t\t\t\tcontext.delete("psMeddlingCivGreenhouse","pRunawayGreenhouseEffect","icPlanetEngineering","psMeddlingCiv");\n\t\t\t\t\trv += " &xenologist& finds traces of clearly artificial compounds in the &planetNoun&'s crushing atmosphere, but there are no signs that the &planetNoun& ever had an indigenous civilisation. It seems that &alien visitors==psMeddlingCiv& used this &planetNoun& as an &industrial site==icPlanetEngineering&, with no care for &the damage they were doing==psMeddlingCivGreenhouse& to its climate.";\n\t\t\t\t}\n\t\t\t\tbreak;\n\t\t\t\t\n\t\t\tcase "pGlowingGasGiant":\n\t\t\t\t/* Any combination can spawn */\n\t\t\t\t/* Life should not be extinct */\n\t\t\t\tif (context.includes("psBrownDwarf")) {\n\t\t\t\t\tcontext.delete("psBrownDwarf","pGlowingGasGiant");\n\t\t\t\t\trv += " Studying &planetName&'s radiation signature, &planetaryScientist& determines that it is a &brown dwarf==psBrownDwarf&, straddling the line between a large gas giant and a small star. It is not massive enough to sustain hydrogen fusion and ignite as a true star, but its core is able to fuse deuterium, which causes it to glow with mostly infra-red radiation.";\n\t\t\t\t}\n\t\t\t\tif (context.includes("psGlowingPlasmaLife")) {\n\t\t\t\t\tcontext.delete("psGlowingPlasmaLife","pGlowingGasGiant","psLife","plNotExtinct");\n\t\t\t\t\tif (fullContext.includes("psBrownDwarf")) {\n\t\t\t\t\t\trv += " A more detailed scan reveals";\n\t\t\t\t\t} else {\n\t\t\t\t\t\trv += " Analysis of &planetName&'s radiation signature reveals";\n\t\t\t\t\t}\n\t\t\t\t\trv += " millions of individual heat sources moving through the deep atmosphere. Studying &their movements==plNotExtinct&, &biologist& realises that they must be exotic &life forms==psLife& whose bodies are composed of &energetic plasma==psGlowingPlasmaLife&.";\n\t\t\t\t}\n\t\t\t\tif (context.includes("psGasGiantIndustryHeat")) {\n\t\t\t\t\tcontext.delete("psGasGiantIndustryHeat","pGlowingGasGiant","psMeddlingCiv","icPlanetEngineering");\n\t\t\t\t\tif (fullContext.includesAny("psBrownDwarf","psGlowingPlasmaLife")) {\n\t\t\t\t\t\trv += " There are also radiation patterns that are";\n\t\t\t\t\t} else {\n\t\t\t\t\t\trv += " The patterns of radiation emanating from inside &planetName& are";\n\t\t\t\t\t}\n\t\t\t\t\trv += " too regular to be natural, and &xenologist& detects traces of artificial compounds in the atmosphere. It seems that &an alien civilisation==psMeddlingCiv& has &converted the planet==icPlanetEngineering& into an engine for &high-energy industry==psGasGiantIndustryHeat&.";\n\t\t\t\t}\n\t\t\t\tbreak;\n\t\t\t\t\n\t\t\tcase "pRegularInternalStructure":\n\t\t\t\t/* Should be only one of these */\n\t\t\t\tif (context.includes("psCrystalPlanet")) {\n\t\t\t\t\tcontext.delete("psCrystalPlanet","pRegularInternalStructure");\n\t\t\t\t\trv += " At first &planetName&'s structure seems too regular to be natural, but &planetaryScientist& runs models of the &planetNoun&'s formation and finds that its temperature, composition, and density were such that it formed as a &single immense crystal==psCrystalPlanet&.";\n\t\t\t\t}\n\t\t\t\tif (context.includes("psInternalMicrobeStructure")) {\n\t\t\t\t\tcontext.delete("psInternalMicrobeStructure","pRegularInternalStructure");\n\t\t\t\t\tif (fullContext.includes("plExtinct")) {\n\t\t\t\t\t\tcontext.delete("plExtinct");\n\t\t\t\t\t\trv += " &biologist& determines that the regular patterns are due to the actions of &alien microbes==psInternalMicrobeStructure& that &once lived==plExtinct& deep under the surface.";\n\t\t\t\t\t} else {\n\t\t\t\t\t\tcontext.delete("plNotExtinct");\n\t\t\t\t\t\trv += " &biologist& determines that the regular patterns are due to the actions of &alien microbes==psInternalMicrobeStructure& &living==plNotExtinct& deep under the surface.";\n\t\t\t\t\t}\n\t\t\t\t}\n\t\t\t\tif (context.includes("psInternalMeddlingCivStructure")) {\n\t\t\t\t\tcontext.delete("psInternalMeddlingCivStructure","pRegularInternalStructure","psMeddlingCiv","icPlanetEngineering");\n\t\t\t\t\trv += " The regular structures stretch throughout &planetName&'s crust, and are too regular and complex to be natural. Studying scans of them, &xenologist& realises that they are some kind of &machines==psInternalMeddlingCivStructure& planted here by &an alien civilisation==psMeddlingCiv& capable of &planetary-scale engineering==icPlanetEngineering&.";\n\t\t\t\t}\n\t\t\t\tbreak;\n\n\t\t\tcase "pOceanSurfaceScum":\n\t\t\t\t/* Can be any combination of these */\n\t\t\t\tif (context.includesAll("psOceanSurfaceSediment","psOceanSurfaceDust")) {\n\t\t\t\t\tcontext.delete("psOceanSurfaceSediment","psOceanSurfaceDust","pOceanSurfaceScum");\n\t\t\t\t\trv += " The material on the ocean surface is a layer of &sediment==psOceanSurfaceSediment& that has been dredged up from the ocean floor, along with &dust==psOceanSurfaceDust that has settled onto the ocean surface from the atmosphere.";\n\t\t\t\t}\n\t\t\t\tif (context.includes("psOceanSurfaceSediment")) {\n\t\t\t\t\tcontext.delete("psOceanSurfaceSediment","pOceanSurfaceScum");\n\t\t\t\t\trv += " The material on the ocean surface is a layer of &sediment==psOceanSurfaceSediment& that has been dredged up from the ocean floor.";\n\t\t\t\t}\n\t\t\t\tif (context.includes("psOceanSurfaceDust")) {\n\t\t\t\t\tcontext.delete("psOceanSurfaceDust","pOceanSurfaceScum");\n\t\t\t\t\trv += " The material on the ocean surface is a layer of &dust==psOceanSurfaceDust& that has settled onto the ocean surface from the atmosphere.";\n\t\t\t\t}\n\t\t\t\tif (context.includesAny("psMicrobialOceanScum","psComplexOceanScum")) {\n\t\t\t\t\tif (fullContext.includesAny("psOceanSurfaceSediment","psOceanSurfaceDust")) {\n\t\t\t\t\t\trv += " Mixed in with the inorganic material are";\t\t\t\t\t\t\n\t\t\t\t\t} else {\n\t\t\t\t\t\trv += " The ocean surface layer consists of";\t\t\t\t\t\t\n\t\t\t\t\t}\n\t\t\t\t\tif (fullContext.includes("plExtinct")) {\n\t\t\t\t\t\tcontext.delete("plExtinct");\n\t\t\t\t\t\trv += " the &remains==plExtinct& of";\t\t\t\t\n\t\t\t\t\t} else {\n\t\t\t\t\t\tcontext.delete("plNotExtinct");\n\t\t\t\t\t\trv += " a &thriving ecosystem==plNotExtinct& of";\t\t\t\t\n\t\t\t\t\t}\n\t\t\t\t\tif (context.includesAll("psMicrobialOceanScum","psComplexOceanScum")) {\n\t\t\t\t\t\tcontext.delete("psMicrobialOceanScum","psComplexOceanScum","pOceanSurfaceScum");\n\t\t\t\t\t\trv += " &plants==psComplexOceanScum& and µorganisms==psMicrobialOceanScum&.";\t\t\t\t\n\t\t\t\t\t} else if (context.includes("psMicrobialOceanScum")) {\n\t\t\t\t\t\tcontext.delete("psMicrobialOceanScum","pOceanSurfaceScum");\n\t\t\t\t\t\trv += " µorganisms==psMicrobialOceanScum& suspended in the ocean surface microlayer.";\n\t\t\t\t\t} else if (context.includes("psComplexOceanScum")) {\n\t\t\t\t\t\tcontext.delete("psComplexOceanScum","pOceanSurfaceScum");\n\t\t\t\t\t\trv += " small floating &plants==psComplexOceanScum&.";\n\t\t\t\t\t}\n\t\t\t\t}\n\t\t\t\tif (context.includes("psOceanSurfacePollution")) {\n\t\t\t\t\tcontext.delete("psOceanSurfacePollution","pOceanSurfaceScum","psCiv");\n\t\t\t\t\tif (fullContext.includesAny("psMicrobialOceanScum","psComplexOceanScum","psOceanSurfaceSediment","psOceanSurfaceDust")) {\n\t\t\t\t\t\trv += " &xenologist& also detects";\t\t\t\t\t\t\n\t\t\t\t\t} else {\n\t\t\t\t\t\trv += " The ocean surface layer consists of";\t\t\t\t\t\t\n\t\t\t\t\t}\n\t\t\t\t\trv += " &pollution==psOceanSurfacePollution& a native &civilisation==psCiv&'s industrial activity.";\n\t\t\t\t\tif (ex) {\n\t\t\t\t\t\tcontext.delete("cExtinct");\n\t\t\t\t\t\trv += " Only very long-lived compounds are still detectable, indicating that the pollution occurred &a long time ago==cExtinct&.";\n\t\t\t\t\t} else {\n\t\t\t\t\t\tcontext.delete("cNotExtinct");\n\t\t\t\t\t\trv += " The pollution includes compounds that would break down relatively quickly in the ocean, so the polluting civilisation must &still be present==cNotExtinct&.";\n\t\t\t\t\t}\n\t\t\t\t}\n\t\t\t\tif (context.includes("psOceanSurfaceNanites")) {\n\t\t\t\t\tcontext.delete("psOceanSurfaceNanites","pOceanSurfaceScum","psMeddlingCiv","icNanotech");\n\t\t\t\t\tif (fullContext.includesAny("psMicrobialOceanScum","psComplexOceanScum","psOceanSurfaceSediment","psOceanSurfaceDust","psOceanSurfacePollution")) {\n\t\t\t\t\t\trv += " There are also";\t\t\t\t\t\t\n\t\t\t\t\t} else {\n\t\t\t\t\t\trv += " Studying the material, &xenologist& finds that it consists of";\t\t\t\t\t\t\n\t\t\t\t\t}\n\t\t\t\t\trv += " billions of &alien==psMeddlingCiv& &nanobots==icNanotech&, &suspended==psOceanSurfaceNanites& in the ocean surface microlayer for some mysterious purpose.";\n\t\t\t\t}\n\n\t\t\t\tbreak;\n\n\t\t\t\t\n\t\t\tcase "pPossibleChemicalLifeSigns":\n\t\t\t\tif (context.includes("psChemicalLifeSigns")) {\n\t\t\t\t\tcontext.delete("pPossibleChemicalLifeSigns","psChemicalLifeSigns","psLife");\n\t\t\t\t\trv += " &biologist& localises the &anomalous chemical readings==psChemicalLifeSigns& and confirms the presence of &life==psLife& on the &planetNoun&.";\n\t\t\t\t}\n\t\t\t\tbreak;\n\n\t\t\tcase "pPossibleArtificialTraces":\n\t\t\t\tif (context.includes("psGenericArtificialSigns")) {\n\t\t\t\t\tcontext.delete("pPossibleArtificialTraces","psGenericArtificialSigns","psCiv");\n\t\t\t\t\trv += " &xenologist& finds traces of &artificial materials==psGenericArtificialSigns& indicating the presence of &intelligent life==psCiv&.";\n\t\t\t\t}\n\t\t\t\tbreak;\n\t\t\t\t\n\t\t\tcase "psArtificialBelt":\n\t\t\t\t/* Only one of these should spawn */\n\t\t\t\tif (context.includesAll("psDysonSwarm")) {\n\t\t\t\t\tcontext.delete("psDysonSwarm","psArtificialBelt","pUnusuallyLight","icPlanetMoving","psMeddlingCiv");\n\t\t\t\t\tif (context.includes("psOrbitalDerelict")) {\n\t\t\t\t\t\tcontext.delete("psOrbitalDerelict");\n\t\t\t\t\t\trv += " The entire belt is actually a &derelict==psOrbitalDerelict& &Dyson Swarm==psDysonSwarm&, a ring of enormous solar power collectors that once captured a significant fraction of the star's energy output, created by a &civilisation==psMeddlingCiv& capable of amazing feats of &system-scale engineering==icPlanetMoving&.";\n\t\t\t\t\t} else {\n\t\t\t\t\t\trv += " The entire belt is actually a &Dyson Swarm==psDysonSwarm&, a ring of solar power collectors so vast that they capture a significant fraction of the star's energy output on behalf of their &alien builders==psMeddlingCiv&, who must have been capable of immense feats of &system-scale engineering==icPlanetMoving&.";\n\t\t\t\t\t}\n\t\t\t\t}\n\t\t\t\tif (context.includesAll("psHabitatBelt")) {\n\t\t\t\t\tcontext.delete("psHabitatBelt","psArtificialBelt","pUnusuallyLight","psMeddlingCiv","icSpaceHabitation");\n\t\t\t\t\tif (context.includes("psOrbitalDerelict")) {\n\t\t\t\t\t\trv += " The belt is actually a ring of countless &derelict==psOrbitalDerelict& &artificial habitats==psHabitatBelt&, once inhabited by an &alien civilisation==psMeddlingCiv& that had adapted to &permanent life in space&==icSpaceHabitation&.";\n\t\t\t\t\t} else {\n\t\t\t\t\t\trv += " The belt is actually a ring of countless &artificial habitats==psHabitatBelt&, apparently built to &permanently house==icSpaceHabitation& a large population. Active energy signatures suggest that they are &inhabited==psMeddlingCiv&.";\n\t\t\t\t\t}\n\t\t\t\t}\n\t\t\t\tif (context.includesAll("psReplicatorBelt")) {\n\t\t\t\t\tcontext.delete("psReplicatorBelt","psArtificialBelt","pUnusuallyLight","icSelfReplicatingMachines","psMeddlingCiv");\n\t\t\t\t\tif (context.includes("psOrbitalDerelict")) {\n\t\t\t\t\t\trv += " The belt is actually a ring of countless &derelict==psOrbitalDerelict& &self-replicating machines==psReplicatorBelt& built by &technologically advanced aliens==psMeddlingCiv&. Whatever planet or asteroid belt originally occupied this orbit it long gone, transformed into more of the &replicators==icSelfReplicatingMachines&, which now appear to have run out of material and shut down.";\n\t\t\t\t\t} else {\n\t\t\t\t\t\trv += " The belt is composed mostly of countless &self-replicating machines==psReplicatorBelt& built by &technologically advanced aliens==psMeddlingCiv&, which are actively &building more of themselves==icSelfReplicatingMachines& out of the remnants of whatever originally occupied this orbit.";\n\t\t\t\t\t}\n\t\t\t\t}\n\n\t\t\t\tbreak;\n\t\t\t\t\n\t\t\tcase "psExPlanetBelt":\n\t\t\t\t/* Only one of these should spawn */\n\t\t\t\tif (context.includesAll("psExPlanetCollision")) {\n\t\t\t\t\tcontext.delete("psExPlanetCollision","psExPlanetBelt");\n\t\t\t\t\trv += " The asteroid belt appears to have been formed when a planet &collided==psExPlanetCollision& with another body so violently that both shattered and the debris spread out across the planet's original orbit.";\n\t\t\t\t}\n\t\t\t\tif (context.includesAll("psExPlanetRocheLimit")) {\n\t\t\t\t\tcontext.delete("psExPlanetRocheLimit","psExPlanetBelt");\n\t\t\t\t\trv += " The asteroid belt appears to have once been a planet, but its orbit is too close to &parentName& for a planet of that mass to exist. It appears to be the remains of a planet whose orbit shrank until it came within &parentName&'s Roche limit, at which point &tidal forces==psExPlanetRocheLimit& broke the planet up.";\n\t\t\t\t}\n\t\t\t\tif (context.includesAll("psExPlanetWorldbreakers")) {\n\t\t\t\t\tcontext.delete("psExPlanetWorldbreakers","psExPlanetBelt","icPlanetMoving","psMeddlingCiv");\n\t\t\t\t\trv += " The planet's destruction was not natural. It appears to have been &deliberately destroyed==psExPlanetWorldbreakers& by &aliens==psMeddlingCiv& capable of &system-scale engineering==icPlanetMoving&.";\n\t\t\t\t}\n\t\t\t\tbreak;\n\t\t\t\t\n\t\t\tcase "pOrbitalStructure":\n\t\t\tcase "pSurfaceAnomaly":\n\t\t\t\t/* Only one of these should spawn */\n\t\t\t\t/* pOrbitalStructure or pSurfaceAnomaly */\n\t\t\t\tif (context.includesAll("psOrbitingSpaceWhale")) {\n\t\t\t\t\tcontext.delete("psOrbitingSpaceWhale","pOrbitalStructure","psLife");\n\t\t\t\t\trv += " The orbiting object proves to be a huge &space-dwelling life form==psOrbitingSpaceWhale&.";\n\t\t\t\t}\n\t\t\t\t\n\t\t\t\t/* pOrbitalStructure or pSurfaceAnomaly */\n\t\t\t\tif (context.includesAll("psRegularAsteroid")) {\n\t\t\t\t\tcontext.delete("psRegularAsteroid","pOrbitalStructure");\n\t\t\t\t\trv += " The orbiting structure is an &asteroid==psRegularAsteroid&, unusually regular but otherwise natural and unremarkable.";\n\t\t\t\t}\n\t\t\t\t\n\t\t\t\t/* Orbital or surface monument */\n\t\t\t\tif (context.includesAll("psMonument")) {\n\t\t\t\t\tcontext.delete("psMonument","pSurfaceAnomaly","icArtists","psMeddlingCiv");\n\t\t\t\t\trv += " The structure is some kind of &artwork==psMonument& built by alien &artists==icArtists& who were ¬ native==psMeddlingCiv& to this &planetNoun&.";\n\t\t\t\t}\n\t\t\t\t\n\t\t\t\t/* Alien ship or space station: pOrbitalStructure or pSurfaceAnomaly */\n\t\t\t\tif ((context.includes("pOrbitalStructure") && context.includesAny("psOrbitingStarship","psOrbitalStation")) || (context.includes("pSurfaceAnomaly") && context.includesAny("psLandedStarship","psSurfaceStation"))) {\n\t\t\t\t\tif (context.includesAll("psOrbitingStarship","psOrbitalDerelict")) {\n\t\t\t\t\t\tcontext.delete("psOrbitingStarship","psOrbitalDerelict");\n\t\t\t\t\t\trv += " The object is a &derelict==psOrbitalDerelict& &spaceship==psOrbitingStarship&";\n\t\t\t\t\t} else if (context.includes("psOrbitingStarship")) {\n\t\t\t\t\t\tcontext.delete("psOrbitingStarship");\n\t\t\t\t\t\trv += " The object is an orbiting &spaceship==psOrbitingStarship&";\n\t\t\t\t\t} else if (context.includesAll("psLandedStarship","psSurfaceDerelict")) {\n\t\t\t\t\t\tcontext.delete("psLandedStarship","psSurfaceDerelict");\n\t\t\t\t\t\trv += " The object is the &wreck==psSurfaceDerelict& of a &spaceship==psLandedStarship&";\n\t\t\t\t\t} else if (context.includes("psLandedStarship")) {\n\t\t\t\t\t\tcontext.delete("psLandedStarship");\n\t\t\t\t\t\trv += " The object is a &spaceship==psLandedStarship&";\n\t\t\t\t\t} else if (context.includesAll("psOrbitalStation","psOrbitalDerelict")) {\n\t\t\t\t\t\tcontext.delete("psOrbitalStation","psOrbitalDerelict");\n\t\t\t\t\t\trv += " The object is a &derelict==psOrbitalDerelict& &space station==psOrbitalStation&";\n\t\t\t\t\t} else if (context.includes("psOrbitalStation")) {\n\t\t\t\t\t\tcontext.delete("psOrbitalStation");\n\t\t\t\t\t\trv += " The object is a &space station==psOrbitalStation&";\n\t\t\t\t\t} else if (context.includesAll("psSurfaceStation","psSurfaceDerelict")) {\n\t\t\t\t\t\tcontext.delete("psSurfaceStation","psSurfaceDerelict");\n\t\t\t\t\t\trv += " The is object is the &wreck==psSurfaceDerelict& of what was once a self-contained &base==psSurfaceStation&";\n\t\t\t\t\t} else if (context.includes("psSurfaceStation")) {\n\t\t\t\t\t\tcontext.delete("psSurfaceStation");\n\t\t\t\t\t\trv += " The object is a self-contained &base==psSurfaceStation&";\n\t\t\t\t\t}\n\t\t\t\t\trv += " built by a &technologically advanced civilisation==psMeddlingCiv&.";\n\t\t\t\t\t\n\t\t\t\t\tcontext.delete("pOrbitalStructure","pSurfaceAnomaly","psMeddlingCiv");\n\t\t\t\t}\n\n\t\t\t\tbreak;\n\t\t\t\n\t\t\tcase "psOrbitingStarship":\n\t\t\tcase "psOrbitalStation":\n\t\t\tcase "psLandedStarship":\n\t\t\tcase "psSurfaceStation":\n\n\t\t\t\t/* Ship or base that we know about */\n\t\t\t\tif (context.includesAny("psOrbitingStarship","psOrbitalStation","psLandedStarship","psSurfaceStation")) {\n\t\t\t\t\tcontext.delete("psMeddlingCiv");\n\t\t\t\t\trv += " The";\n\t\t\t\t\tif (context.includesAny("psOrbitingStarship","psLandedStarship")) {\n\t\t\t\t\t\trv += " ship";\n\t\t\t\t\t} else {\n\t\t\t\t\t\trv += " base";\n\t\t\t\t\t}\n\t\t\t\t\trv += " is ¬ native==psMeddlingCiv& to this &planetNoun&.";\n\t\t\t\t\t\n\t\t\t\t\tvar derelict = fullContext.includesAny("psOrbitalDerelict","psSurfaceDerelict");\n\n\t\t\t\t\t\t/* Ships */\n\t\t\t\t\tif (context.includes("psColonyShip")) {\n\t\t\t\t\t\tcontext.delete("psColonyShip","icColonisers");\n\t\t\t\t\t\trv += " Its &enormous passenger compartments==psColonyShip& suggest that it "+(derelict?"once transported":"is transporting")+" &colonists==icColonisers&";\n\t\t\t\t\t} else if (context.includes("psMiningShip")) {\n\t\t\t\t\t\tcontext.delete("psMiningShip","icExploiters");\n\t\t\t\t\t\trv += " It seems to "+(derelict?"have been":"be")+" a &mining ship==psMiningShip& capable of planetary-scale &resource extraction==icExploiters&";\n\t\t\t\t\t} else if (context.includes("psExperimentationShip")) {\n\t\t\t\t\t\tcontext.delete("psExperimentationShip","icExperimenters");\n\t\t\t\t\t\trv += " It has sophisticated &sensor equipment and laboratory spaces==psExperimentationShip&, suggesting that it was designed to perform &experiments==icExperimenters&";\n\t\t\t\t\t} else if (context.includes("psExplorationShip")) {\n\t\t\t\t\t\tcontext.delete("psExplorationShip","icObservers");\n\t\t\t\t\t\trv += " Its sophisticated &sensor equipment==psExplorationShip& suggests that it was designed for passive &space exploration==icObservers&";\n\t\t\t\t\t} else if (context.includes("psGenerationShip")) {\n\t\t\t\t\t\tcontext.delete("psGenerationShip","icSpaceHabitation");\n\t\t\t\t\t\trv += " It appears to be a &generation ship==psGenerationShip&, with a pressurised interior that "+(derelict?"once supported":"supports")+" an entire &community==icSpaceHabitation&";\n\t\t\t\t\t} else if (context.includes("psWarShip")) {\n\t\t\t\t\t\tcontext.delete("psWarShip","icSpaceWarfare");\n\t\t\t\t\t\trv += " Its formidable &weapons systems==psWarShip& suggest "+(derelict?"was":"is")+" a &warship==icSpaceWarfare&";\n\t\t\t\t\t} else if (context.includes("psSleeperShip")) {\n\t\t\t\t\t\tcontext.delete("psSleeperShip","icSuspendedAnimation");\n\t\t\t\t\t\trv += " Most of its volume is taken up by &stasis pods==psSleeperShip& "+(derelict?"that once contained":"containing")+" living beings in &suspended animation==icSuspendedAnimation&";\n\t\t\t\t\t} else if (context.includes("psTerraformingShip")) {\n\t\t\t\t\t\tcontext.delete("psTerraformingShip","icTerraformers");\n\t\t\t\t\t\trv += " It is filled with vast &engineering machinery==psTerraformingShip& and appears "+(derelict?"have been":"be")+" designed to perform planetary &terraforming==icTerraformers&";\n\n\t\t\t\t\t\t/* Bases */\n\t\t\t\t\t} else if (context.includes("psColonyOutpost")) {\n\t\t\t\t\t\t\t/* To do: revise if we add "native" civs that are actually colonies of spacefaring civs */\n\t\t\t\t\t\tcontext.delete("psColonyOutpost","icColonisers");\n\t\t\t\t\t\tif (context.includes("psSurfaceStation")) {\n\t\t\t\t\t\t\trv += " It appears to "+(derelict?"have been":"be")+" the ¢re==psColonyOutpost& of an effort to &colonise==icColonisers& the &planetNoun&";\n\t\t\t\t\t\t} else {\n\t\t\t\t\t\t\trv += " It appears to have been set up to &assist==psColonyOutpost& in the development of a &colony==icColonisers& on the &planetNoun& below";\n\t\t\t\t\t\t}\n\t\t\t\t\t} else if (context.includes("psExperimentationBase")) {\n\t\t\t\t\t\tcontext.delete("psExperimentationBase","icExperimenters");\n\t\t\t\t\t\trv += " It appears to "+(derelict?"have been":"be")+" a &research base==psExperimentationBase&, with dozens of lab modules set up for scientific &experiments==icExperimenters&";\n\t\t\t\t\t} else if (context.includes("psObservationPost")) {\n\t\t\t\t\t\tcontext.delete("psObservationPost","icObservers");\n\t\t\t\t\t\trv += " Its sophisticated &monitoring equipment==psObservationPost& suggests that it "+(derelict?"was":"is")+" an &observation post==icObservers&";\n\t\t\t\t\t} else if (context.includes("psMiningBase")) {\n\t\t\t\t\t\tcontext.delete("psMiningBase","icExploiters");\n\t\t\t\t\t\tif (context.includes("psSurfaceStation")) {\n\t\t\t\t\t\t\trv += " The part visible on the surface is just &the top==psMiningBase& of an immense &mining operation==icExploiters&";\n\t\t\t\t\t\t} else {\n\t\t\t\t\t\t\trv += " It has cavernous cargo and docking bays, and appears to "+(derelict?"have been":"be")+" set up to &process material==psMiningBase& from a large-scale &mining operation==icExploiters&";\n\t\t\t\t\t\t}\n\t\t\t\t\t} else if (context.includes("psSpaceHabitat")) {\n\t\t\t\t\t\tcontext.delete("psSpaceHabitat","icSpaceHabitation");\n\t\t\t\t\t\tif (context.includes("psSurfaceStation")) {\n\t\t\t\t\t\t\trv += " It appears to "+(derelict?"have been":"be")+" a self-contained &habitat==psSpaceHabitat&, "+(derelict?"which once supported":"supporting")+" a &large population==icSpaceHabitation& on an otherwise hostile world";\n\t\t\t\t\t\t} else {\n\t\t\t\t\t\t\trv += " It appears to "+(derelict?"have been":"be")+" a self-contained &orbital habitat==psSpaceHabitat&, "+(derelict?"which once supported":"supporting")+" a &large population==icSpaceHabitation& in the void of space";\n\t\t\t\t\t\t}\n\t\t\t\t\t} else if (context.includes("psMilitaryBase")) {\n\t\t\t\t\t\tcontext.delete("psMilitaryBase","icSpaceWarfare");\n\t\t\t\t\t\trv += " It appears to "+(derelict?"have been":"be")+" a &military installation==psMilitaryBase& built as part of an &interplanetary war==icSpaceWarfare&";\n\t\t\t\t\t} else if (context.includes("psSleeperStation")) {\n\t\t\t\t\t\tcontext.delete("psSleeperStation","icSuspendedAnimation");\n\t\t\t\t\t\trv += " It appears to "+(derelict?"have been":"be")+" a &cryo-stasis facility==psSleeperStation&, housing a large population in &suspended animation==icSuspendedAnimation&";\n\t\t\t\t\t} else if (context.includes("psTerraformingStation")) {\n\t\t\t\t\t\tcontext.delete("psTerraformingStation","icTerraformers");\n\t\t\t\t\t\tif (context.includes("psSurfaceStation")) {\n\t\t\t\t\t\t\trv += " It appears to "+(derelict?"have been":"be")+" a &terraforming facility==icTerraformers&, with huge &chemical plants==psTerraformingStation& "+(derelict?"that could once have modified":"in the process of modifying")+" the entire world's atmosphere";\n\t\t\t\t\t\t} else {\n\t\t\t\t\t\t\trv += " It appears to "+(derelict?"have been":"be")+" an orbital &terraforming facility==icTerraformers&, "+(derelict?"which once sent out":"constantly sending out")+" streams of drones to &process the atmosphere==psTerraformingStation& of the world below";\n\t\t\t\t\t\t}\n\t\t\t\t\t}\n\n\t\t\t\t\tif (context.includes("psCrewedShip")) {\n\t\t\t\t\t\tcontext.delete("psCrewedShip");\n\t\t\t\t\t\tif (context.includesAny("psColonyShip","psGenerationShip","psColonyOutpost","psSpaceHabitat")) {\n\t\t\t\t\t\t\t/* Nothing -- these ship types are assumed to be crewed */\n\t\t\t\t\t\t} else if (context.includesAny("psSleeperShip")) {\n\t\t\t\t\t\t\trv += ", and a small number of its inhabitants appear to "+(derelict?"have stayed":"be")+" awake as a &crew==psCrewedShip&.";\n\t\t\t\t\t\t} else {\n\t\t\t\t\t\t\trv += ", and its "+(derelict?"once-":"")+"pressurised internal spaces show that it "+(derelict?"once supported":"supports")+" a &crew==psCrewedShip&.";\n\t\t\t\t\t\t}\n\t\t\t\t\t}\n\t\t\t\t\telse if (context.includes("psRobotShip")) {\n\t\t\t\t\t\tcontext.delete("psRobotShip");\n\t\t\t\t\t\tif (context.includesAny("psSleeperShip")) {\n\t\t\t\t\t\t\tif (derelict) {\trv += ". There do not seem to have been any life support facilities for living beings not in stasis, suggesting that the ship was &automated==psRobotShip&.";\n\t\t\t\t\t\t\t} else {\t\trv += ". The entire population is asleep, and the ship appears to be &automated==psRobotShip&.";\t}\n\t\t\t\t\t\t} else if (context.includesAny("psSleeperStation")) {\n\t\t\t\t\t\t\tif (derelict) {\trv += ". There do not seem to have been any life support facilities for living beings not in stasis, suggesting that the base was &automated==psRobotShip&.";\n\t\t\t\t\t\t\t} else {\t\trv += " The entire population is asleep, and the facility appears to be &automated==psRobotShip&.";\t}\n\t\t\t\t\t\t} else if (context.includesAny("psGenerationShip","psColonyShip")) {\n\t\t\t\t\t\t\trv += ". Despite its "+(derelict?"once ":"")+"large population, the ship appears to be &automated==psRobotShip&.";\n\t\t\t\t\t\t} else if (context.includesAny("psSpaceHabitat","psColonyOutpost")) {\n\t\t\t\t\t\t\trv += ". Despite its "+(derelict?"once ":"")+"large population, the habitat appears to "+(derelict?"have been":"be")+" &automated==psRobotShip&.";\n\t\t\t\t\t\t} else {\n\t\t\t\t\t\t\trv += ", and it appears to "+(derelict?"have been":"be")+" entirely &automated==psRobotShip&.";\n\t\t\t\t\t\t}\n\t\t\t\t\t}\n\t\t\t\t\t\n\t\t\t\t\tif (context.includes("psSelfReplicatingStarship")) {\n\t\t\t\t\t\tcontext.delete("psSelfReplicatingStarship","icSelfReplicatingMachines");\n\t\t\t\t\t\trv += " Its modular structure and &construction equipment==psSelfReplicatingStarship& suggests that it "+(derelict?"was":"is")+" capable of &building copies of itself==icSelfReplicatingMachines&.";\n\t\t\t\t\t}\n\n\t\t\t\t\tcontext.delete("psOrbitalDerelict","psSurfaceDerelict");\n\t\t\t\t\tcontext.delete("psOrbitingStarship","psLandedStarship","psOrbitalStation","psSurfaceStation");\n\n\t\t\t\t}\n\t\t\t\tbreak;\n\t\t\tcase "psLife":\n\t\t\t\t\n\t\t\t\tvar ex = fullContext.includes("plExtinct");\n\t\t\t\tcontext.delete("plExtinct","plNotExtinct");\n\t\t\t\tif (ex) {\n\t\t\t\t\trv += "&biologist& discovers an &extinct ecosystem==plExtinct& of";\n\t\t\t\t} else {\n\t\t\t\t\trv += "&biologist& surveys the &planetNoun& and discovers a &living ecosystem==plNotExtinct& of";\n\t\t\t\t}\n\t\t\t\t\n\t\t\t\t/* Chemistry - should only be one */\n\t\t\t\tif (context.includes("psLifeChemistryCarbon")) {\n\t\t\t\t\tcontext.delete("psLifeChemistryCarbon");\n\t\t\t\t\trv += " &carbon-based==psLifeChemistryCarbon&";\n\t\t\t\t}\n\t\t\t\tif (context.includes("psLifeChemistryHydrocarbon")) {\n\t\t\t\t\tcontext.delete("psLifeChemistryHydrocarbon");\n\t\t\t\t\trv += " &hydrocarbon-based==psLifeChemistryHydrocarbon&";\n\t\t\t\t}\n\t\t\t\tif (context.includes("psLifeChemistrySilicon")) {\n\t\t\t\t\tcontext.delete("psLifeChemistrySilicon");\n\t\t\t\t\trv += " &silicon-based==psLifeChemistrySilicon&";\n\t\t\t\t}\n\t\t\t\tif (context.includes("psLifeChemistryPlasma")) {\n\t\t\t\t\tcontext.delete("psLifeChemistryPlasma");\n\t\t\t\t\trv += " &plasma-based==psLifeChemistryPlasma&";\n\t\t\t\t}\n\t\t\t\t\n\t\t\t\t/* Complexity */\n\t\t\t\tif (context.includesAll("psLifeAnimals")) {\n\t\t\t\t\tcontext.delete("psLifeAnimals","psLifePlants","psLifeMicrobes");\n\t\t\t\t\trv += " µbial==psLifeMicrobes&, &plant==psLifePlants& and &animal==psLifeAnimals& life ";\n\t\t\t\t} else if (context.includes("psLifePlants")) {\n\t\t\t\t\tcontext.delete("psLifePlants","psLifeMicrobes");\n\t\t\t\t\trv += " µbial==psLifeMicrobes& and &plant==psLifePlants& life ";\n\t\t\t\t} else if (context.includes("psLifeMicrobes")) {\n\t\t\t\t\tcontext.delete("psLifeMicrobes");\n\t\t\t\t\trv += " µbial==psLifeMicrobes& life ";\n\t\t\t\t}\n\t\t\t\t\n\t\t\t\tlet lifeAreas = [];\n\t\t\t\tif (fullContext.includes("psLifeSurface")) { lifeAreas.push("on the &surface==psLifeSurface&"); }\n\t\t\t\tif (fullContext.includes("psLifeOcean")) { lifeAreas.push("in the &ocean==psLifeOcean&"); }\n\t\t\t\tif (fullContext.includes("psLifeSubsurfaceOcean")) { lifeAreas.push("in the &subsurface ocean==psLifeSubsurfaceOcean&"); }\n\t\t\t\tif (fullContext.includes("psLifeAtmosphere")) { lifeAreas.push("in the &atmosphere==psLifeAtmosphere&"); }\n\t\t\t\tif (fullContext.includes("psLifeUnderground")) { lifeAreas.push("in the &deep crust==psLifeUnderground&"); }\n\t\t\t\tcontext.delete("psLife","psLifeDetected","psLifeSurface","psLifeOcean","psLifeSubsurfaceOcean","psLifeAtmosphere","psLifeUnderground","psSubsurfaceOceanWater");\n\n\t\t\t\tif (lifeAreas.length == 0) {\n\t\t\t\t\tconsole.error("Planet with life should have had at least one life area trait but did not");\n\t\t\t\t\trv += " on the &planetNoun&";\n\t\t\t\t} else if (lifeAreas.length == 1) {\n\t\t\t\t\trv += lifeAreas[0];\n\t\t\t\t} else if (lifeAreas.length == 2) {\n\t\t\t\t\trv += lifeAreas[0]+" and "+lifeAreas[1];\n\t\t\t\t} else {\n\t\t\t\t\tfor (let n = 0; n < lifeAreas.length-1; n++) {\n\t\t\t\t\t\trv += lifeAreas[n] + ", ";\n\t\t\t\t\t}\n\t\t\t\t\trv += " and "+lifeAreas.last();\n\t\t\t\t}\n\t\t\t\t\n\t\t\t\trv += ".";\n\t\t\t\t\n\t\t\t\tif (context.includes("psMicrobesMakeOxygen")) {\n\t\t\t\t\tcontext.delete("pAtmosOxNi","psMicrobesMakeOxygen");\n\t\t\t\t\tif (ex) {\n\t\t\t\t\t\trv += " &Photosynthetic life forms==psMicrobesMakeOxygen& were responsible for the &planetNoun&'s oxygen atmosphere, and became extinct recently enough that the oxygen has not yet had time to vanish.";\n\t\t\t\t\t} else {\n\t\t\t\t\t\trv += " &Photosynthetic life forms==psMicrobesMakeOxygen& are responsible for the &planetNoun&'s oxygen atmosphere.";\n\t\t\t\t\t}\n\t\t\t\t}\n\t\t\t\t\n\t\t\t\t/* Life form types */\n\t\t\t\trv += PlanetDescription.describeLifeForms(context,fullContext);\n\t\t\t\t\n\t\t\t\tvar rv2 = "";\n\t\t\t\t\n\t\t\t\t/* Life mysteries */\n\t\t\t\tif (context.includes("plLifeStaticLifeForms")) {\n\t\t\t\t\tcontext.delete("plLifeStaticLifeForms");\n\t\t\t\t\tif (ex) {\n\t\t\t\t\t\trv2 += " Surviving remains suggest that many of the &planetNoun&'s life forms &remained stationary==plLifeStaticLifeForms& for long periods of time.";\n\t\t\t\t\t} else {\n\t\t\t\t\t\trv2 += " Many life forms on this &planetNoun& look as if they are capable of movement, but &theExplorers& never "+TextUtils.eVerb("observe")+" them move. It is as if the &shipName& has come across a &planetNoun& of &statues==plLifeStaticLifeForms&.";\n\t\t\t\t\t}\n\t\t\t\t}\n\t\t\t\tif (context.includes("plRecentExtinction")) {\n\t\t\t\t\tcontext.delete("plRecentExtinction");\n\t\t\t\t\t\t/* Should not spawn with extinct life */\n\t\t\t\t\trv2 += " The life forms that &theExplorers& "+TextUtils.eVerb("encounter","entounters")+" on this &planetNoun& are all fairly simple, but there is evidence that &more complex life==plRecentExtinction& existed here geologically recently.";\n\t\t\t\t}\n\t\t\t\tif (context.includes("plSpeciesWithComplexBehaviour")) {\n\t\t\t\t\tcontext.delete("plSpeciesWithComplexBehaviour");\n\t\t\t\t\tif (ex) {\n\t\t\t\t\t\trv2 += " Details of the remains suggests that one species exhibited &remarkably complex behaviour==plSpeciesWithComplexBehaviour&.";\n\t\t\t\t\t} else {\n\t\t\t\t\t\trv2 += " One of this &planetNoun&'s species exhibits &remarkably complex behaviour==plSpeciesWithComplexBehaviour&.";\n\t\t\t\t\t}\n\t\t\t\t}\n\t\t\t\tif (context.includes("plNoFossilRemains")) {\n\t\t\t\t\tcontext.delete("plNoFossilRemains");\n\t\t\t\t\tif (ex) {\n\t\t\t\t\t\trv2 += " All the fossil remains that &theExplorers& can find date from around the same time, as if life &appeared fully formed==plNoFossilRemains& on the &planetNoun& shortly before its extinction.";\n\t\t\t\t\t} else {\n\t\t\t\t\t\trv2 += " Although this &planetNoun& teems with life, there is no evidence of fossil remains or any evidence of how it evolved, as if the life &appeared fully formed==plNoFossilRemains& relatively recently.";\n\t\t\t\t\t}\n\t\t\t\t}\n\t\t\t\tif (context.includes("plBafflingDiversity")) {\n\t\t\t\t\tcontext.delete("plBafflingDiversity");\n\t\t\t\t\trv2 += " This &planetNoun&'s life forms "+(ex?"were":"are")+" &bafflingly diverse==plBafflingDiversity&, to the extent that it's hard to identify individual species.";\n\t\t\t\t}\n\t\t\t\tif (context.includes("plSimilarPlantsAndAnimals")) {\n\t\t\t\t\tcontext.delete("plSimilarPlantsAndAnimals");\n\t\t\t\t\trv2 += " It initially looked as if this &planetNoun&'s life was divided into plant- and animal-analogues, but on closer investigation they are &remarkably similar==plSimilarPlantsAndAnimals&, with many traits shared between what &theExplorers& first took to be separate groups.";\n\t\t\t\t}\n\t\t\t\tif (context.includes("plViolentLife")) {\n\t\t\t\t\tcontext.delete("plViolentLife");\n\t\t\t\t\trv2 += " Life on this &planetNoun& "+(ex?"appears to have been":"is")+" &remarkably violent==plViolentLife&, with most of the animals constantly tearing into one another with vicious claws, teeth, and other natural weapons.";\n\t\t\t\t}\n\t\t\t\tif (context.includes("plNonViolentLife")) {\n\t\t\t\t\tcontext.delete("plNonViolentLife");\n\t\t\t\t\trv2 += " Life on this &planetNoun& "+(ex?"appears to have been":"is")+" &remarkably non-violent==plNonViolentLife&, with none of the animal species appearing to "+(ex?"have had":"have")+" any means to harm one another.";\n\t\t\t\t}\n\t\t\t\tif (context.includes("plMysteriousCommunication")) {\n\t\t\t\t\tcontext.delete("plMysteriousCommunication");\n\t\t\t\t\trv2 += " Some of this &planetNoun&'s animal-analogues appear to &"+(ex?"have communicated":"communicate")+" without any discernable method==plMysteriousCommunication&.";\n\t\t\t\t}\n\t\t\t\t\n\t\t\t\t/* If we've revealed a civ */\n\t\t\t\tif (context.includes("psInhabitedFloatingVeg")) {\n\t\t\t\t\tcontext.delete("psInhabitedFloatingVeg","psCiv");\n\t\t\t\t\tif (context.includes("cExtinct")) {\n\t\t\t\t\t\tcontext.delete("cExtinct");\n\t\t\t\t\t\trv2 += " Built onto the "+(ex?"drifting remains of the":"")+" floating vegetation mats are the &ruins==cExtinct& of &settlements==psInhabitedFloatingVeg& once inhabited by &intelligent beings==psCiv&.";\n\t\t\t\t\t} else {\n\t\t\t\t\t\tcontext.delete("cNotExtinct");\n\t\t\t\t\t\trv2 += " Built onto the "+(ex?"drifting remains of the":"")+" floating vegetation mats are the &settlements==psInhabitedFloatingVeg& &inhabited==cNotExtinct& by &intelligent beings==psCiv&.";\n\t\t\t\t\t}\n\t\t\t\t}\n\t\t\t\tif (context.includesAll("psTendedForests","psForestCities")) {\n\t\t\t\t\tcontext.delete("psTendedForests","psForestCities","psCiv");\n\t\t\t\t\tif (context.includes("cExtinct")) {\n\t\t\t\t\t\tcontext.delete("cExtinct");\n\t\t\t\t\t\trv2 += " The forests were &once==cExtinct& &tended==psTendedForests& by &intelligent life forms==psCiv& to grow into the shapes of &cities==psForestCities&.";\n\t\t\t\t\t} else {\n\t\t\t\t\t\tcontext.delete("cNotExtinct");\n\t\t\t\t\t\trv2 += " The forests are being &actively==cNotExtinct& &tended==psTendedForests& by the &native civilisation==psCiv& to grow into the shapes of &cities==psForestCities&.";\n\t\t\t\t\t}\n\t\t\t\t}\n\t\t\t\tif (context.includes("psTendedForests")) {\n\t\t\t\t\tcontext.delete("psTendedForests","psCiv");\n\t\t\t\t\tif (context.includes("cExtinct")) {\n\t\t\t\t\t\tcontext.delete("cExtinct");\n\t\t\t\t\t\trv2 += " The forests were &once==cExtinct& &tended==psTendedForests& by &intelligent beings==psCiv&.";\n\t\t\t\t\t} else {\n\t\t\t\t\t\tcontext.delete("cNotExtinct");\n\t\t\t\t\t\trv2 += " The forests are being &actively==cNotExtinct& &tended==psTendedForests& by a &native civilisation==psCiv&.";\n\t\t\t\t\t}\n\t\t\t\t}\n\t\t\t\tif (context.includes("psForestCities")) {\n\t\t\t\t\tcontext.delete("psForestCities","psCiv");\n\t\t\t\t\tif (context.includes("cExtinct")) {\n\t\t\t\t\t\tcontext.delete("cExtinct");\n\t\t\t\t\t\trv2 += " The forests contain the &ruins==cExtinct& of ancient &forest cities==psForestCities& built by a &native civilisation==psCiv&.";\n\t\t\t\t\t} else {\n\t\t\t\t\t\tcontext.delete("cNotExtinct","psCiv");\n\t\t\t\t\t\trv2 += " The forests contain the &teeming==cNotExtinct& &forest cities==psForestCities& built by a &native civilisation==psCiv&.";\n\t\t\t\t\t}\n\t\t\t\t}\n\t\t\t\t\n\t\t\t\tif (rv2 != "") {\n\t\t\t\t\trv += "<br><br>"+rv2;\n\t\t\t\t}\n\t\t\t\t\n\t\t\t\tbreak;\n\t\t\t\n\t\t\t/* Life mystery resolutions */\n\t\t\t/* All should only have one cause */\n\t\t\tcase "plLifeStaticLifeForms":\n\t\t\t\tif (context.includes("plsVerySlowLife")) {\n\t\t\t\t\tcontext.delete("plLifeStaticLifeForms","plsVerySlowLife");\n\t\t\t\t\trv += " Long-term observation reveals that the life forms are moving, but &so slowly==plsVerySlowLife& that the movement is not detectable to human eyes. Life here has evolved to life at a radically slower pace than Earth life.";\n\t\t\t\t}\n\t\t\t\tif (context.includes("plsHibernatingLife")) {\t/* integrate this trait with existing one */\n\t\t\t\t\tcontext.delete("plLifeStaticLifeForms","plsHibernatingLife");\n\t\t\t\t\trv += " &biologist& eventually realises that &planetNoun&'s entire ecosystem enters &periodic hibernations==plsHibernatingLife& in which all visible physical activity ceases. By chance, the &shipName& has arrived during one of these periodic hibernations, which will probably last for at least several more decades.";\n\t\t\t\t}\n\t\t\t\tif (context.includes("plsFreezesOnContact")) {\n\t\t\t\t\tcontext.delete("plLifeStaticLifeForms","plsFreezesOnContact");\n\t\t\t\t\trv += " Bafflingly, &biologist& finds evidence that the &planetNoun&'s life forms do move, just not when &theExplorers& &are& observing them. It seems that all complex life forms here have an &extreme freeze response==plsFreezesOnContact& which causes them to stop moving in the presence of anything unfamiliar, such as &theExplorers& or &their& probes.";\n\t\t\t\t}\n\t\t\t\tbreak;\n\t\t\tcase "plRecentExtinction":\n\t\t\t\tif (context.includes("plsExtinctionClimateShift")) {\n\t\t\t\t\tcontext.delete("plRecentExtinction","plsExtinctionClimateShift");\n\t\t\t\t\trv += " &planetaryScientist& eventually realises that &planetName& underwent a natural &climate shift==plsExtinctionClimateShift& recently, which caused most of its native life to die out.";\n\t\t\t\t}\n\t\t\t\tif (context.includes("plsExtinctionDisease")) {\n\t\t\t\t\tcontext.delete("plRecentExtinction","plsExtinctionDisease");\n\t\t\t\t\trv += " &biologist& eventually determines that a &virulent disease==plsExtinctionDisease& evolved to affect all the &planetNoun&'s complex life forms, and killed most of its host before eventually running its course.";\n\t\t\t\t}\n\t\t\t\tif (context.includes("plsExtinctionAsteroid")) {\n\t\t\t\t\tcontext.delete("plRecentExtinction","plsExtinctionAsteroid");\n\t\t\t\t\trv += " &planetaryScientist& finds evidence of a &recent asteroid impact==plsExtinctionAsteroid& that disrupted the &planetNoun&'s climate, killing most of its indiginous life.";\n\t\t\t\t}\n\t\t\t\tif (context.includes("plsExtinctionGammaBurst")) {\n\t\t\t\t\tcontext.delete("plRecentExtinction","plsExtinctionGammaBurst");\n\t\t\t\t\trv += " &planetaryScientist& detects evidence of a &cosmic gamma ray burst==plsExtinctionGammaBurst& that killed most of the &planetNoun&'s life, from which the ecosystem has still not recovered.";\n\t\t\t\t}\n\t\t\t\tif (context.includes("plsExtinctionNativeCiv")) {\n\t\t\t\t\tcontext.delete("plRecentExtinction","plsExtinctionNativeCiv","psCiv");\n\t\t\t\t\tif (fullContext.includes("cKnowName")) {\n\t\t\t\t\t\trv += " &xenologist& realises that the &civName&'s industrial activity recently &caused the climate to change==plsExtinctionNativeCiv&, disrupting the &planetNoun&'s ecosystem and killing most of its complex life forms.";\n\t\t\t\t\t} else {\n\t\t\t\t\t\trv += " &xenologist& realises that the &planetNoun& has a &native civilisation==psCiv& whose industrial activity &caused the climate to change==plsExtinctionNativeCiv&, killing most of its life.";\n\t\t\t\t\t}\n\t\t\t\t}\n\t\t\t\tif (context.includes("plsExtinctionMeddlingCiv")) {\n\t\t\t\t\tcontext.delete("plRecentExtinction","plsExtinctionMeddlingCiv","icExterminators",\n\t\t\t\t\t"psMeddlingCiv");\n\t\t\t\t\trv += " &xenologist& determines that the &planetNoun&'s ecosystem was &deliberately destroyed==plsExtinctionMeddlingCiv& by &ecocidal==icExterminators& &aliens==psMeddlingCiv&.";\n\t\t\t\t}\n\t\t\t\tbreak;\n\t\t\tcase "plSpeciesWithComplexBehaviour":\n\t\t\t\tif (context.includesAll("plsAnimalsActuallySapient")) {\n\t\t\t\t\tcontext.delete("plSpeciesWithComplexBehaviour","psCiv","ctNonToolUsing","plsAnimalsActuallySapient");\n\t\t\t\t\trv += " After some time analysing the creatures' behaviour, &xenologist& concludes that they have a complex language and are a &fully sapient civilisation==plsAnimalsActuallySapient&, even though they &do not use tools==ctNonToolUsing& or artificial constructs.";\n\t\t\t\t}\n\t\t\t\tif (context.includes("plsPreSapientSpecies")) {\n\t\t\t\t\tcontext.delete("plSpeciesWithComplexBehaviour","plsPreSapientSpecies");\n\t\t\t\t\trv += " &biologist& determines that the species is remarkably intelligent, but still below the threshold for true conscious thought. If evolution on &planetName& takes a similar course to that of Earth, "+(fullContext.includes("psCiv")?"another":"a")+" &sapient species could evolve here==plsPreSapientSpecies& within the next million years.";\n\t\t\t\t}\n\t\t\t\tif (context.includes("plsPostSapientSpecies")) {\n\t\t\t\t\tcontext.delete("plSpeciesWithComplexBehaviour","plsPostSapientSpecies","psCiv","cExtinct");\n\t\t\t\t\tif (fullContext.includes("plExtinct")) {\n\t\t\t\t\t\trv += " Careful study of the &planetNoun&'s fossil remains reveals that the creatures' distant ancestors had larger and more complex organs of intelligence than the more recent remains. It seems that the &planetNoun& once had a &fully intelligent civilisation==psCiv&, which gradually &lost its capacity for abstract thought==plsPostSapientSpecies&. The civilisation had already &vanished==cExtinct& by the time planet's ecosystem became extinct.";\n\t\t\t\t\t} else {\n\t\t\t\t\t\trv += " Careful observation of the living creatures and study of the &planetNoun&'s fossil remains reveal that the creatures are a &post-sapient species==plsPostSapientSpecies&. Their distant ancestors were a &fully intelligent civilisation==psCiv&, but within the last few thousand years they somehow &lost their capacity for abstract thought==cExtinct&.";\n\t\t\t\t\t}\n\t\t\t\t}\n\t\t\t\tif (context.includes("plsUpliftingInProgress")) {\n\t\t\t\t\tcontext.delete("plSpeciesWithComplexBehaviour","plsUpliftingInProgress","icInterferers","psMeddlingCiv");\n\t\t\t\t\trv += " Careful observation of the creatures and examination of their environment reveals traces of hidden alien technology, all of it designed to &encourage the creatures' capacity for thought==plsUpliftingInProgress&. &xenologist& concludes that an &advanced civilisation==psMeddlingCiv& is &deliberately uplifting==icInterferers& this species to sapience.";\n\t\t\t\t}\n\t\t\t\tif (context.includes("plsHeldBackFromSapience")) {\n\t\t\t\t\tcontext.delete("plSpeciesWithComplexBehaviour","plsHeldBackFromSapience","icInterferers","psMeddlingCiv");\n\t\t\t\t\trv += " Careful observation of the creatures and examination of their environment reveals traces of alien technology, which appears designed to &inhibit the creatures' brain functions==plsHeldBackFromSapience&. &xenologist& concludes that the creatures might have evolved true sapience but are being &artificially held back==icInterferers& by an &alien civilisation==psMeddlingCiv&.";\n\t\t\t\t}\n\t\t\t\t\n\t\t\t\tbreak;\n\n\t\t\tcase "plNoFossilRemains":\n\t\t\t\tif (context.includes("plsRecentEvolution")) {\n\t\t\t\t\tcontext.delete("plNoFossilRemains","plsRecentEvolution");\n\t\t\t\t\trv += " &biologist& eventually concludes that life on this &planetNoun& &evolved recently and rapidly==plsRecentEvolution&, and there has not been time for it to leave detectable remains.";\n\t\t\t\t}\n\t\t\t\tif (context.includes("plsLifeLeavesNoRemains")) {\n\t\t\t\t\tcontext.delete("plNoFossilRemains","plsLifeLeavesNoRemains");\n\t\t\t\t\trv += " Life on this planet appears to be remarkably efficient at &recycling organic material==plsLifeLeavesNoRemains&, meaning that no life form remains persist for long enough to become preserved.";\n\t\t\t\t}\n\t\t\t\tif (context.includes("plsLifeSeededByAliens")) {\n\t\t\t\t\tcontext.delete("plNoFossilRemains","plsLifeSeededByAliens","icEcoEngineering","psMeddlingCiv");\n\t\t\t\t\trv += " While trying to account for the lack of preserved remains, &biologist& realises that the ecosystem is not native to this &planetNoun&, but appears to have been &planted here==plsLifeSeededByAliens& by &spacefaring aliens==psMeddlingCiv& capable of &ecological engineering==icEcoEngineering&.";\n\t\t\t\t}\n\t\t\t\tbreak;\n\n\t\t\tcase "plBafflingDiversity":\n\t\t\t\tif (context.includes("plsColonyCreatures")) {\n\t\t\t\t\tcontext.delete("plBafflingDiversity","plsColonyCreatures");\n\t\t\t\t\trv += " While observing the &planetNoun&'s bafflingly diverse animal-analogues, &biologist& sees one creature's limbs detach themselves and re-attach to one another in a different sequence. It seems that the &planetNoun&'s higher life forms are actually &colonies of smaller creatures==plsColonyCreatures&, each of them with a specialised role, that can arrange themselves into different body plans depending on the situation.";\n\t\t\t\t}\n\t\t\t\tif (context.includes("plsVeryDiverseLife")) {\n\t\t\t\t\tcontext.delete("plBafflingDiversity","plsVeryDiverseLife");\n\t\t\t\t\trv += " &biologist& eventually concludes that the &planetNoun&'s diversity is just what it appears: life here consists of a &very diverse==plsVeryDiverseLife& array of species, each with a small population.";\n\t\t\t\t}\n\t\t\t\tif (context.includes("plsOneSpeciesManyForms")) {\n\t\t\t\t\tcontext.delete("plBafflingDiversity","plsOneSpeciesManyForms");\n\t\t\t\t\trv += " To casual observation, the &planetNoun&'s complex life forms appear extremely diverse, but close analysis of tissue samples reveals that they are very similar on a microscopic level. &biologist& eventually concludes that most of &planetName&'s complex life forms are &actually the same species==plsOneSpeciesManyForms&, which changes form based on its life stage and environment.";\n\t\t\t\t}\n\t\t\t\tif (context.includes("plsBodyPartGrafting")) {\n\t\t\t\t\tcontext.delete("plBafflingDiversity","plsBodyPartGrafting");\n\t\t\t\t\trv += " The creatures' weirdly diverse body shapes baffle &theExplorers&, until &biologist& observes one large creature tearing a limb off a smaller creature and attaching it to its own body. It appears that this &planetNoun&'s predators consume their prey not only by ingesting their flesh, but also by &grafting body parts onto themselves==plsBodyPartGrafting&, resulting in weird amalgamations of mismatched limbs.";\n\t\t\t\t}\n\t\t\t\tif (context.includes("plsMicrobeColonyOrganisms")) {\n\t\t\t\t\tcontext.delete("plBafflingDiversity","plsMicrobeColonyOrganisms");\n\t\t\t\t\trv += " Not only do the &planetName&'s life forms take a baffling array of shapes, but they appear to be able to change shape at will, growing new limbs or even morphing into entirely different creatures. &biologist& concludes that the complex life forms here are actually &colonies of semi-independent microorganisms==plsMicrobeColonyOrganisms&, which are able to arrange themselves into whatever shape will be most advantageous in a situation.";\n\t\t\t\t}\n\t\t\t\tbreak;\n\n\t\t\tcase "plSimilarPlantsAndAnimals":\n\t\t\t\tif (context.includes("plsPlantAnimalLifeCycle")) {\n\t\t\t\t\tcontext.delete("plSimilarPlantsAndAnimals","plsPlantAnimalLifeCycle");\n\t\t\t\t\trv += " &biologist& realises that the distinction between plants and animals, which the Chiron Project's xenobiologists had speculated might be universal to complex life, does not hold on &planetName&. What appeared to be plants and animals are &actually active and sedentary life stages of the same creatures==plsPlantAnimalLifeCycle&.";\n\t\t\t\t}\n\t\t\t\tif (context.includes("plsCarnivorousPlants")) {\n\t\t\t\t\tcontext.delete("plSimilarPlantsAndAnimals","plsCarnivorousPlants");\n\t\t\t\t\trv += " Observing the &planetName&'s life forms, &biologist& watches one animal-analogue stumble into a plant-analogue's paralysing fronds and begin to be absorbed. It seems that many of the &planetNoun&'s larger plant-analogues are &carnivorous==plsCarnivorousPlants&, and the animal-like shapes &theExplorers& had observed in the plants are actually animals in the process of being absorbed.";\n\t\t\t\t}\n\t\t\t\tif (context.includes("plsPlantsGrowLimbs")) {\n\t\t\t\t\tcontext.delete("plSimilarPlantsAndAnimals","plsPlantsGrowLimbs");\n\t\t\t\t\trv += " &biologist& eventually observes an animal-analogue tear one of the limb-like growths off of a plant-analogue and graft it onto itself. It seems that the animals here are able to attach new body parts to themselves, and the plants have evolved to produce &limb-like structures==plsPlantsGrowLimbs& that would be useful for them, perhaps as a seed dispersal strategy.";\n\t\t\t\t}\n\t\t\t\tbreak;\n\n\t\t\tcase "plViolentLife":\n\t\t\t\tif (context.includes("plsHealingFactor")) {\n\t\t\t\t\tcontext.delete("plViolentLife","plsHealingFactor");\n\t\t\t\t\trv += " At first glance the &planetNoun&'s ecosystem is remarkably violent, but &biologist& notices that the combats are very rarely fatal, and the loser usually recovers after only a few minutes. It seems that life forms here &heal extremely quickly==plsHealingFactor&, so the damage they inflict on one another is not as serious as it appears.";\n\t\t\t\t}\n\t\t\t\tif (context.includes("plsBloodSportWorld")) {\n\t\t\t\t\tcontext.delete("plViolentLife","plsBloodSportWorld","icEcoEngineering","psMeddlingCiv");\n\t\t\t\t\trv += " The more &biologist& observes the violence, the more it seems unnecessary: predators tear prey apart and then abandon the carcasses rather than eat them, and they do so with absurdly vicious natural weapons. &xenologist& eventually concludes that the creatures have been &artificially engineered==icEcoEngineering& by a &technologically advanced civilisation==psMeddlingCiv&, perhaps as a kind of &bloody entertainment==plsBloodSportWorld&.";\n\t\t\t\t}\n\t\t\t\tif (context.includes("plsHumansAggravatingAnimals")) {\n\t\t\t\t\tcontext.delete("plViolentLife","plsHumansAggravatingAnimals");\n\t\t\t\t\trv += " Although &theExplorers& "+TextUtils.eVerb("see")+" violence between the native life forms everywhere &they& "+TextUtils.eVerb("go","goes")+", they find little evidence that the ecosystem is adapted to this level of it. &biologist& eventually realises that &theExplorerss& presence is &aggravating the creatures==plsHumansAggravatingAnimals& and causing them to become more aggressive than they normally are.";\n\t\t\t\t}\n\t\t\t\tbreak;\n\n\t\t\tcase "plNonViolentLife":\n\t\t\t\tif (context.includes("plsOnlyHerbivores")) {\n\t\t\t\t\tcontext.delete("plNonViolentLife","plsOnlyHerbivores");\n\t\t\t\t\trv += " Despite the complexity of &planetName&'s larger life forms, it appears that the planet has &only evolved herbivores==plsOnlyHerbivores&, with no carnivores to prey on them.";\n\t\t\t\t}\n\t\t\t\tif (context.includes("plsEngineeredSafeEcosystem")) {\n\t\t\t\t\tcontext.delete("plNonViolentLife","plsEngineeredSafeEcosystem","icEcoEngineering","psMeddlingCiv");\n\t\t\t\t\trv += " &xenologist& finds evidence of deliberate tampering in the development of the &planetNoun&'s more complex life forms. It seems that &an alien civilisation==psMeddlingCiv& &engineered the entire ecosystem==icEcoEngineering& to be &safe for visitors==plsEngineeredSafeEcosystem&.";\n\t\t\t\t}\n\t\t\t\tif (context.includes("plsNonObviousConflict")) {\n\t\t\t\t\tcontext.delete("plNonViolentLife","plsNonObviousConflict");\n\t\t\t\t\trv += " The &planetNoun&'s life forms appear placid, but &biologist& finds that they are in constant conflict with one another on an invisible &biochemical level==plsNonObviousConflict&.";\n\t\t\t\t}\n\t\t\t\tbreak;\n\n\t\t\tcase "plMysteriousCommunication":\n\t\t\t\tif (context.includes("plsNaturalEMTransmitters")) {\n\t\t\t\t\tcontext.delete("plMysteriousCommunication","plsNaturalEMTransmitters");\n\t\t\t\t\trv += " Examining the alien creatures' anatomy, &biologist& finds that the creatures' bodies incorporate &naturally-occurring EM transmitters and receivers==plsNaturalEMTransmitters&. The creatures are in constant communication with one another, through EM signals that &theExplorers& had mistaken for background noise.";\n\t\t\t\t}\n\t\t\t\tif (context.includes("plsBodyLanguageCommunication")) {\n\t\t\t\t\tcontext.delete("plMysteriousCommunication","plsBodyLanguageCommunication");\n\t\t\t\t\trv += " Detailed analysis of recordings that &biologist& made of the creatures reveals that they use &extremely subtle physical cues==plsBodyLanguageCommunication& to signal to one another, too small for the naked human eye to detect.";\n\t\t\t\t}\n\t\t\t\tif (context.includes("plsChemicalCommunication")) {\n\t\t\t\t\tcontext.delete("plMysteriousCommunication","plsChemicalCommunication");\n\t\t\t\t\trv += " Close examination of the life forms and their environment reveals that they signal to one another using &extremely subtle chemical signals==plsChemicalCommunication&, which had been too subtle for &theExplorers& to notice.";\n\t\t\t\t}\n\t\t\t\tbreak;\n\n\t\t\tcase "plExtinct":\n\t\t\t\tif (context.includes("plsExtinctionClimateShift")) {\n\t\t\t\t\tcontext.delete("plExtinct","plsExtinctionClimateShift");\n\t\t\t\t\trv += " &planetaryScientist& detects signs that the &planetNoun& underwent an extreme &natural climate shift==plsExtinctionClimateShift& at around the time the ecosystem went extinct.";\n\t\t\t\t}\n\t\t\t\tif (context.includes("plsExtinctionDisease")) {\n\t\t\t\t\tcontext.delete("plExtinct","plsExtinctionDisease");\n\t\t\t\t\trv += " &biologist& eventually determines that a &disease==plsExtinctionDisease& evolved to affect all the &planetNoun&'s life, and was so virulent that it killed off all its hosts.";\n\t\t\t\t}\n\t\t\t\tif (context.includes("plsExtinctionAsteroid")) {\n\t\t\t\t\tcontext.delete("plExtinct","plsExtinctionAsteroid");\n\t\t\t\t\trv += " &planetaryScientist& finds evidence of an &asteroid impact==plsExtinctionAsteroid& that disrupted the &planetNoun&'s climate so badly that life here became extinct.";\n\t\t\t\t}\n\t\t\t\tif (context.includes("plsExtinctionGammaBurst")) {\n\t\t\t\t\tcontext.delete("plExtinct","plsExtinctionGammaBurst");\n\t\t\t\t\trv += " &planetaryScientist& detects evidence of an ancient &cosmic gamma ray burst==plsExtinctionGammaBurst& that would have flooded the &planetNoun& with so much radiation that no life could survive.";\n\t\t\t\t}\n\t\t\t\tif (context.includes("plsExtinctionNativeCiv")) {\n\t\t\t\t\tcontext.delete("plExtinct","plsExtinctionNativeCiv","psCiv");\n\t\t\t\t\tif (fullContext.includes("cKnowName")) {\n\t\t\t\t\t\trv += " &xenologist& realises that the &civName&'s industrial activity &caused the climate to change==plsExtinctionNativeCiv& so severely that it wiped out all life on the &planetNoun&.";\n\t\t\t\t\t} else {\n\t\t\t\t\t\trv += " &xenologist& realises that the &planetNoun& once had a &native civilisation==psCiv& whose industrial activity &caused the climate to change==plsExtinctionNativeCiv& so severely that it wiped out all life.";\n\t\t\t\t\t}\n\t\t\t\t}\n\t\t\t\tif (context.includes("plsExtinctionMeddlingCiv")) {\n\t\t\t\t\tcontext.delete("plExtinct","plsExtinctionMeddlingCiv","icExterminators","psMeddlingCiv");\n\t\t\t\t\trv += " &xenologist& determines that the &planetNoun&'s ecosystem was &deliberately destroyed==plsExtinctionMeddlingCiv& by &ecocidal==icExterminators& &aliens==psMeddlingCiv&.";\n\t\t\t\t}\n\t\t\t\tbreak;\n\t\t\t\n\t\t\t/* Space Whales! */\n\t\t\tcase "psActuallyASpaceWhale":\n\t\t\tcase "psSpaceWhaleSwarm":\n\t\t\tcase "psOrbitingSpaceWhale":\n\t\t\t\tvar swarm = context.includes("psSpaceWhaleSwarm");\n\t\t\t\tcontext.delete("psActuallyASpaceWhale","psSpaceWhaleSwarm","psOrbitingSpaceWhale");\n\t\t\t\tif (context.includes("plsSpaceWhaleNebulaEvolution")) {\n\t\t\t\t\tcontext.delete("plsSpaceWhaleNebulaEvolution");\n\t\t\t\t\trv += " &biologist& studies the "+(swarm?"creatures'":"creature's")+" exotic biochemistry, and finds that it is based on gases found in the nebula. It seems that primitive life somehow &arose from organic compounds in the nebula==plsSpaceWhaleNebulaEvolution&, and over time these evolved into a life form entirely native to the void of space.";\n\t\t\t\t}\n\t\t\t\tif (context.includes("plsSpaceWhaleSurvivedPlanet")) {\n\t\t\t\t\tcontext.delete("plsSpaceWhaleSurvivedPlanet");\n\t\t\t\t\trv += " Although the "+(swarm?"creatures are":"creature is")+" now able to survive in space, "+(swarm?"their":"its")+" biochemistry suggests that "+(swarm?"their":"its")+" must have evolved in a planetary environment. &biologist& speculates that "+(swarm?"their":"its")+" ancestors may have been primitive organisms that &survived the destruction of their home planet==plsSpaceWhaleSurvivedPlanet& and found a way to live in space.";\n\t\t\t\t}\n\t\t\t\tif (context.includes("plsArtificialSpaceWhale")) {\n\t\t\t\t\tcontext.delete("plsArtificialSpaceWhale","psMeddlingCiv","icSelfReplicatingMachines");\n\t\t\t\t\trv += " Close inspection of "+(swarm?"one of the creatures'":"the creature's")+" biochemistry reveals that it cannot have evolved naturally, and its ancestors must have been &created==plsArtificialSpaceWhale& by an &advanced civilisation==psMeddlingCiv&. In fact, it is closer to an elaborate &self-replicating machine==icSelfReplicatingMachines& than to a life form, although with such advanced technology the line between a machine and a life form is blurred.";\n\t\t\t\t}\n\t\t\t\tif (context.includes("plsUpliftedSpaceWhale")) {\n\t\t\t\t\tcontext.delete("plsUpliftedSpaceWhale","psMeddlingCiv","icEcoEngineering");\n\t\t\t\t\trv += " The "+(swarm?"creatures'":"creature's")+" biochemistry indicates that "+(swarm?"their":"its")+" ancestors originally lived in a planetary environment, but were &extensively modified==plsUpliftedSpaceWhale& to survive in space by &an advanced civilisation==psMeddlingCiv& capable of &advanced genetic engineering==icEcoEngineering&.";\n\t\t\t\t}\n\t\t\t\tbreak;\n\t\t\t\n\t\t\tcase "psCiv":\n\t\t\t\t\t/* We will already know if they're extinct or not so delete those now */\n\t\t\t\tcontext.delete("psCiv","cExtinct","cNotExtinct");\n\t\t\t\t\n\t\t\t\t/* Body shape and diet */\n\t\t\t\tif (context.includesAny("cBipedal","cQuadrupedal","cAquatic","cAvian","cWormlike","cAmorphous","cOmnivores","cCarnivores","cHerbivores","cPhotosynthesizers")) {\n\t\t\t\t\trv += "They "+(ex?"were":"are")+" "+ CivDescription.bodyShapeDiet(context)+" who "+(ex?"called":"call")+" themselves the &civNameKeyword&, and "+(ex?"called":"call")+" their planet &planetName&.";\n\t\t\t\t} else {\n\t\t\t\t\trv += "They called themselves the &civNameKeyword&, and called their planet &planetName&.";\n\t\t\t\t}\n\t\t\t\t\n\t\t\t\t/* CIV TECH LEVEL */\n\t\t\t\tif (context.includes("ctNonToolUsing")) {\n\t\t\t\t\tcontext.delete("ctNonToolUsing");\n\t\t\t\t\tif (ex) {\n\t\t\t\t\t\t\n\t\t\t\t\t\trv += " Although intelligent, the creatures &did not use tools==ctNonToolUsing&.";\n\t\t\t\t\t} else {\n\t\t\t\t\t\trv += " Although intelligent, the creatures &do not use tools==ctNonToolUsing&.";\n\t\t\t\t\t}\n\t\t\t\t}\n\t\t\t\tif (context.includes("ctPaleolithic")) {\n\t\t\t\t\tcontext.delete("ctPaleolithic");\n\t\t\t\t\trv += " The civilisation "+(ex?"used":"uses")+" simple tools made of natural materials, analogous to humans during during the &Paleolithic==ctPaleolithic& era.";\n\t\t\t\t}\n\t\t\t\tif (context.includes("ctMesolithic")) {\n\t\t\t\t\tcontext.delete("ctMesolithic");\n\t\t\t\t\trv += " The civilisation "+(ex?"used":"uses")+" tools made of natural materials, analogous to humans during during the &Mesolithic==ctMesolithic& era.";\n\t\t\t\t}\n\t\t\t\tif (context.includes("ctNeolithic")) {\n\t\t\t\t\tcontext.delete("ctNeolithic");\n\t\t\t\t\trv += " The civilisation "+(ex?"used":"uses")+" sophisticated tools made of natural materials, and "+(ex?"had":"has had")+" a substantial impact on its environment, analogous to humans during during the &Neolithic==ctNeolithic& era.";\n\t\t\t\t}\n\t\t\t\tif (context.includes("ctBronzeAge")) {\n\t\t\t\t\tcontext.delete("ctBronzeAge");\n\t\t\t\t\trv += " The civilisation "+(ex?"had":"has")+" an approximately &Bronze Age==ctBronzeAge& level of technology.";\n\t\t\t\t}\n\t\t\t\tif (context.includes("ctIronAge")) {\n\t\t\t\t\tcontext.delete("ctIronAge");\n\t\t\t\t\trv += " The civilisation "+(ex?"had":"has")+" an approximately &Iron Age==ctIronAge& level of technology.";\n\t\t\t\t}\n\t\t\t\tif (context.includes("ctMedieval")) {\n\t\t\t\t\tcontext.delete("ctMedieval");\n\t\t\t\t\trv += " The civilisation "+(ex?"had":"has")+" an approximately &Medieval==ctMedieval& level of technology.";\n\t\t\t\t}\n\t\t\t\tif (context.includes("ctIndustrial")) {\n\t\t\t\t\tcontext.delete("ctIndustrial");\n\t\t\t\t\trv += " The civilisation "+(ex?"had":"has")+" an approximately &Industrial Age==ctIndustrial& level of technology.";\n\t\t\t\t}\n\t\t\t\tif (context.includes("ctDigital")) {\n\t\t\t\t\tcontext.delete("ctDigital");\n\t\t\t\t\trv += " The civilisation "+(ex?"was":"is")+" in an &information age==ctDigital&, with extensive use of interconnected computers, analogous to humans in the 21st Century.";\n\t\t\t\t}\n\t\t\t\t\n\t\t\t\tif (context.includes("ctOrbital") && !context.includes("ctSpacefaring")) {\n\t\t\t\t\tcontext.delete("ctOrbital");\n\t\t\t\t\trv += " They "+(ex?"had":"have")+" &achieved orbit==ctOrbital& of their homeworld, although they "+(ex?"did":"do")+" not use space travel extensively enough to be considered a fully spacefaring civilisation.";\n\t\t\t\t}\n\n\t\t\t\tif (context.includes("ctRegression")) {\n\t\t\t\t\tcontext.delete("ctRegression");\n\t\t\t\t\tif (ex) {\n\t\t\t\t\t\trv += " There is evidence, however, that they once had more advanced technology, and ®ressed==ctRegression& to a lower technological level before their eventual extinction.";\n\t\t\t\t\t} else {\n\t\t\t\t\t\trv += " There is evidence, however, that they once had more advanced technology, and have ®ressed==ctRegression& to a lower technological level.";\n\t\t\t\t\t}\n\t\t\t\t}\n\n\n\t\t\t\t\n\t\t\t\tif (context.includes("icGatebuilders")) {\n\t\t\t\t\tcontext.delete("icGatebuilders","ctSpacefaring","ctInterstellar");\n\t\t\t\t\trv += " They became a &spacefaring civilisation==ctSpacefaring& a million years ago, and &created the Gate network==icGatebuilders&, which allowed them and the civilisations that came after them to &travel the galaxy==ctInterstellar&.";\n\t\t\t\t}\n\t\t\t\tif (context.includes("ctInterstellar")) {\n\t\t\t\t\tcontext.delete("ctSpacefaring","ctInterstellar");\n\t\t\t\t\trv += " The civilisation "+(ex?"had":"has")+" achieved &space travel==ctSpacefaring& and discovered its system's &Gate==ctInterstellar&, allowing it to travel to other star systems.";\n\t\t\t\t}\n\t\t\t\tif (context.includes("ctSpacefaring")) {\n\t\t\t\t\tcontext.delete("ctSpacefaring");\n\t\t\t\t\trv += " The civilisation "+(ex?"had":"has")+" achieved &space travel==ctSpacefaring&, and routinely "+(ex?"visited":"visits")+" other planets in its star system.";\n\t\t\t\t}\n\n\t\t\t\t\n\t\t\t\t/* CIV MYSTERIES */\n\t\t\t\tif (context.includes("cSmallGroups")) {\n\t\t\t\t\tcontext.delete("cSmallGroups");\n\t\t\t\t\tif (ex) {\n\t\t\t\t\t\trv += " &civName& artworks always depict them in &small groups==cSmallGroups&, never singly.";\n\t\t\t\t\t} else {\n\t\t\t\t\t\trv += " &xenologist& notices that the &civName& always move and work in &small groups==cSmallGroups&, which do everything together.";\n\t\t\t\t\t}\n\t\t\t\t}\n\t\t\t\tif (context.includes("cDistantMemories")) {\n\t\t\t\t\tcontext.delete("cDistantMemories");\n\t\t\t\t\tif (ex) {\n\t\t\t\t\t\trv += " Their historical writings suggest that they &personally remembered==cDistantMemories& events from the distant past.";\n\t\t\t\t\t} else {\n\t\t\t\t\t\trv += " Talking to the &civName&, &xenologist& realises that &civName& individuals talk about events in the distant past as if they &personally experienced them==cDistantMemories&.";\n\t\t\t\t\t}\n\t\t\t\t}\n\t\t\t\tif (context.includes("cUndevelopedAreas")) {\n\t\t\t\t\tcontext.delete("cUndevelopedAreas");\n\t\t\t\t\tif (ex) {\n\t\t\t\t\t\trv += " Large areas of the &planetNoun& show &no signs==cUndevelopedAreas& of &civName& activity, despite the civilisation having had the capability to use them.";\n\t\t\t\t\t} else {\n\t\t\t\t\t\trv += " There are large areas of &planetName& that the &civName& leave &undeveloped==cUndevelopedAreas&, despite having space and resources that they would find useful.";\n\t\t\t\t\t}\n\t\t\t\t}\n\t\t\t\tif (context.includes("cTwoSpecies")) {\n\t\t\t\t\tcontext.delete("cTwoSpecies");\n\t\t\t\t\trv += " The civilisation appears to "+(ex?"have consisted":"consist")+" of &two intelligent species==cTwoSpecies&.";\n\t\t\t\t}\n\t\t\t\tif (context.includes("cCivNotLinkedToNativeLife")) {\n\t\t\t\t\tcontext.delete("cCivNotLinkedToNativeLife");\n\t\t\t\t\tif (ex) {\n\t\t\t\t\t\trv += " Based on surviving depictions, the &civName& appear to have been &unrelated==cCivNotLinkedToNativeLife& to the rest of the planet's ecosystem.";\n\t\t\t\t\t} else {\n\t\t\t\t\t\trv += " While studying &civName& biology, &biologist& notices that they appear ¬ to be related==cCivNotLinkedToNativeLife& to the rest of the planet's ecosystem.";\n\t\t\t\t\t}\n\t\t\t\t}\n\t\t\t\tif (context.includes("cCyberBrains")) {\n\t\t\t\t\tcontext.delete("cCyberBrains");\n\t\t\t\t\trv += " All members of this civilisation "+(ex?"have had":"have")+" &cybernetic brain implants==cCyberBrains&.";\n\t\t\t\t}\n\t\t\t\tif (context.includes("cImprobablyHomogeneous")) {\n\t\t\t\t\tcontext.delete("cImprobablyHomogeneous");\n\t\t\t\t\tif (ex) {\n\t\t\t\t\t\trv += " All depictions of the &civName& are &identical==cImprobablyHomogeneous&, even when context indicates that they depict different individuals.";\n\t\t\t\t\t} else {\n\t\t\t\t\t\trv += " The intelligent species appears to be &improbably homogeneous==cImprobablyHomogeneous& in its appearance, and &xenologist& has trouble telling individuals apart.";\n\t\t\t\t\t}\n\t\t\t\t}\n\t\t\t\tif (context.includes("cMummiesOnDisplay")) {\n\t\t\t\t\tcontext.delete("cMummiesOnDisplay");\n\t\t\t\t\tif (ex) {\n\t\t\t\t\t\trv += " Many of the &civName& buildings appear to have been filled with the &preserved bodies of their dead==cMummiesOnDisplay&.";\n\t\t\t\t\t} else {\n\t\t\t\t\t\trv += " Many of the &civName& buildings are filled with the &preserved bodies of the dead==cMummiesOnDisplay&, on display throughout their settlements.";\n\t\t\t\t\t}\n\t\t\t\t}\n\t\t\t\tif (context.includes("cHistoricalStasis")) {\n\t\t\t\t\tcontext.delete("cHistoricalStasis");\n\t\t\t\t\tif (ex) { \n\t\t\t\t\t\trv += " Before their extinction, the";\n\t\t\t\t\t} else {\n\t\t\t\t\t\trv += " The";\n\t\t\t\t\t}\n\t\t\t\t\trv += " civilisation's technology and culture appears to have &stayed the same==cHistoricalStasis& for thousands or even millions of years.";\n\t\t\t\t}\n\t\t\t\tif (context.includes("cAncientAliensMyth")) {\n\t\t\t\t\tcontext.delete("cAncientAliensMyth");\n\t\t\t\t\tif (ex) {\n\t\t\t\t\t\trv += " Their mythology includes a story that could be based on real &ancient alien visitors==cAncientAliensMyth&.";\n\t\t\t\t\t} else {\n\t\t\t\t\t\trv += " &xenologist& learns that the &civName& have a story about strange visitors from the sky, which could be based on real &ancient alien visitors==cAncientAliensMyth&.";\n\t\t\t\t\t}\n\t\t\t\t}\n\t\t\t\tif (context.includes("cEmptySettlements")) {\n\t\t\t\t\tcontext.delete("cEmptySettlements");\n\t\t\t\t\tif (ex) {\n\t\t\t\t\t\trv += " Most of the &planetNoun&'s settlements are &empty==cEmptySettlements& of remains, and appear to have been uninhabited long before the civilisation's extinction.";\n\t\t\t\t\t} else {\n\t\t\t\t\t\trv += " Most of the &planetNoun&'s settlements are &empty==cEmptySettlements&, as if built for a much larger population than &theExplorers& can see.";\n\t\t\t\t\t}\n\t\t\t\t}\n\n\t\t\t\tbreak;\n\t\t\t\t\n\t\t\tcase "cSmallGroups":\n\t\t\t\tif (context.includes("cPackIntelligence")) {\n\t\t\t\t\tcontext.delete("cSmallGroups","cPackIntelligence");\n\t\t\t\t\trv += " Studying the groups, &xenologist& realises that each group "+(ex?"was":"is")+" actually a &single individual==cPackIntelligence&, its consciousness distributed between the constantly-communicating bodies.";\n\t\t\t\t}\n\t\t\t\tif (context.includes("cStrongSocialBonds")) {\n\t\t\t\t\tcontext.delete("cSmallGroups","cStrongSocialBonds");\n\t\t\t\t\tif (ex) {\n\t\t\t\t\t\trv += " Studying the &civName& records, &xenologist& learns that they had &very strong social bonds==cStrongSocialBonds&, to the extent that they could not bear to be apart from their social groups.";\n\t\t\t\t\t} else {\n\t\t\t\t\t\trv += " Interviewing the &civName&, &xenologist& learns that they have &very strong social bonds==cStrongSocialBonds&, to the extent that they cannot bear to be apart from their social groups.";\n\t\t\t\t\t}\n\t\t\t\t}\n\t\t\t\tif (context.includes("cBondedOffspring")) {\n\t\t\t\t\tcontext.delete("cSmallGroups","cBondedOffspring");\n\t\t\t\t\trv += " &xenologist& realises that the groups all consist of adults with their children. This species' young "+(ex?"appear to have &stayed":"&stay")+" with their parents==cBondedOffspring& at all times until they "+(ex?"reached":"reach")+" maturity, at which point they quickly "+(ex?"had":"have")+" children of their own.";\n\t\t\t\t}\n\t\t\t\tif (context.includes("cRedundantGroups")) {\n\t\t\t\t\tcontext.delete("cSmallGroups","cRedundantGroups");\n\t\t\t\t\trv += " Studying the groups, &xenologist& learns that the &civName& "+(ex?"practiced":"practice")+" a kind of &social redundancy==cRedundantGroups&, in which multiple individuals "+(ex?"went":"go")+" everywhere together and "+(ex?"had":"have")+" all the same experiences and knowledge. If any individual "+(ex?"was":"is")+" killed or incapacitated, any other member of their group "+(ex?"could":"can")+" seamlessly take over their role.";\n\t\t\t\t}\n\t\t\t\tbreak;\n\t\t\t\t\n\t\t\tcase "cDistantMemories":\n\t\t\t\tif (context.includes("cHistoricalCulture")) {\n\t\t\t\t\tcontext.delete("cDistantMemories","cHistoricalCulture");\n\t\t\t\t\tif (ex) {\n\t\t\t\t\t\trv += " Based on the curious way in which the records are written, as well as the sheer volume of historical records left by the &civName&, &xenologist& realises that they had a culture that placed great emphasis on &studying and preserving history==cHistoricalCulture&. Historians would become so immersed in history that they felt as if they personally experienced the events.";\n\t\t\t\t\t} else {\n\t\t\t\t\t\trv += " &xenologist& learns that the &civName& devote a great deal of energy to &preserving and learning their history==cHistoricalCulture&, to the extent that individuals feel as strongly connected to their knowledge of ancient events as they do to their own personal memories.";\n\t\t\t\t\t}\n\t\t\t\t}\n\t\t\t\tif (context.includes("cInheritedMemories")) {\n\t\t\t\t\tcontext.delete("cDistantMemories","cInheritedMemories");\n\t\t\t\t\tif (ex) {\n\t\t\t\t\t\trv += " &xenologist& realises that the historical records are all written by descendants of the individuals involved in the events. It seems that individuals of this species could &inherit memories from their ancestors==cInheritedMemories&, so the historians were indeed writing from memory.";\n\t\t\t\t\t} else {\n\t\t\t\t\t\trv += " On closer study, &xenologist& realises that &civName& do not remember all historical events, but only those that happened to their own direct ancestors. It seems that individuals of this species &inherit memories from their parents==cInheritedMemories&, with the most important memories being passed down for many generations.";\n\t\t\t\t\t}\n\t\t\t\t}\n\t\t\t\tif (context.includes("cCannibalMemories")) {\n\t\t\t\t\tcontext.delete("cDistantMemories","cCannibalMemories");\n\t\t\t\t\tif (ex) {\n\t\t\t\t\t\trv += " &xenologist& notices a similarity between the &civName& words for //learning// and //eating//, and eventually learns that the &civName& were able to &acquire memories by eating the dead==cCannibalMemories&.";\n\t\t\t\t\t} else {\n\t\t\t\t\t\trv += " The &civName&'s apparently anachronistic memories are a mystery until &xenologist& observes a ceremony in which a group of &civName& consume the brain of a recently deceased friend. This species has a natural ability to &acquire memories by eating the dead==cCannibalMemories&, which in some cases preserves memories for many generations.";\n\t\t\t\t\t}\n\t\t\t\t}\n\t\t\t\tif (context.includes("cLongLivedSymbionts")) {\n\t\t\t\t\tcontext.delete("cDistantMemories","cLongLivedSymbionts");\n\t\t\t\t\trv += " &biologist& learns that &civName& individuals "+(ex?"were":"are")+" not single organisms, but "+(ex?"incorporated":"incorporate")+" &long-lived symbionts==cLongLivedSymbionts& which "+(ex?"moved":"move")+" to new bodies when they "+(ex?"died":"die")+", taking the old body's memories with them.";\n\t\t\t\t}\n\t\t\t\tif (context.includes("cRejuvenationTechnology")) {\n\t\t\t\t\tcontext.delete("cDistantMemories","cRejuvenationTechnology");\n\t\t\t\t\tif (ex) {\n\t\t\t\t\t\trv += " &xenologist& learns that the &civName& had advanced medical technology that could entirely &rejuvenate==cRejuvenationTechnology& their bodies. Although their natural lifespan was only decades, individuals at the civilisation's peak could life for thousands of years.";\n\t\t\t\t\t} else {\n\t\t\t\t\t\trv += " &xenologist& learns that the &civName& have advanced medical technology that can entirely &rejuvenate==cRejuvenationTechnology& their bodies. Although they appear young, many of them are actually thousands of years old, and actually did experience the historical events they recount to &theExplorers&.";\n\t\t\t\t\t}\n\t\t\t\t}\n\t\t\t\tif (context.includes("cMemoryRecordings")) {\n\t\t\t\t\tcontext.delete("cDistantMemories","cMemoryRecordings");\n\t\t\t\t\tif (ex) {\n\t\t\t\t\t\trv += " Many of the written records refer to memories and documents in the same way. Eventually &xenologist& realises that some documents are themselves memories, and vice versa--the &civName& had the ability to &record and transfer memories==cMemoryRecordings& using technology.";\n\t\t\t\t\t} else {\n\t\t\t\t\t\trv += " &xenologist& learns that the &civName& have found a way to &record and transfer memories==cMemoryRecordings& using technology.";\n\t\t\t\t\t}\n\t\t\t\t}\n\t\t\t\tbreak;\n\t\t\t\t\n\t\t\tcase "cUndevelopedAreas":\n\t\t\t\tif (context.includes("cNaturalSanctuaries")) {\n\t\t\t\t\tcontext.delete("cUndevelopedAreas","cNaturalSanctuaries");\n\t\t\t\t\tif (ex) {\n\t\t\t\t\t\trv += " &xenologist& eventually finds ancient records relating to the establishment of &natural sanctuaries==cNaturalSanctuaries&, which the &civName& appear never to have violated.";\n\t\t\t\t\t} else {\n\t\t\t\t\t\trv += " &xenologist& interviews the &civName& about the undeveloped areas, and learns that the &civName& set aside large areas as &natural sanctuaries==cNaturalSanctuaries& many generations ago, and have maintained them ever since.";\n\t\t\t\t\t}\n\t\t\t\t}\n\t\t\t\tif (context.includes("cHarmfulAreas")) {\n\t\t\t\t\tcontext.delete("cUndevelopedAreas","cHarmfulAreas");\n\t\t\t\t\tif (ex) {\n\t\t\t\t\t\trv += " &xenologist& eventually finds medical reports detailing the unpleasant deaths that would befall &civName& who blundered into the forbidden areas. It seems that some parts of the &planetNoun& were &harmful==cHarmfulAreas& to the &civName& in ways that &theExplorers& could not initially detect.";\n\t\t\t\t\t} else {\n\t\t\t\t\t\trv += " &xenologist& interviews the &civName& about the undeveloped areas, and finds that the areas are &harmful==cHarmfulAreas& to the &civName& in a way that &theExplorers& could not detect. The &civName& are surprised to learn that &theExplorers& can go into these areas without problems.";\n\t\t\t\t\t}\n\t\t\t\t}\n\t\t\t\tif (context.includes("cAncientRadiationZones")) {\n\t\t\t\t\tcontext.delete("cUndevelopedAreas","cAncientRadiationZones");\n\t\t\t\t\tif (ex) {\n\t\t\t\t\t\trv += " &planetaryScientist& eventually detects minute traces of &radiation==cAncientRadiationZones& in the forbidden areas. The radiation appears to have fallen to safe levels before the &civName& became extinct, but the taboo against developing those areas outlasted the radiation itself.";\n\t\t\t\t\t} else {\n\t\t\t\t\t\trv += " Most of the &civName& cannot explain why they avoid certain areas, simply saying that it has always been forbidden. &xenologist& eventually pieces together that these were &ancient radiation zones==cAncientRadiationZones&, and that the taboo against entering them was so strong that it has outlasted the radiation itself.";\n\t\t\t\t\t}\n\t\t\t\t}\n\t\t\t\tbreak;\n\t\t\t\t\n\t\t\tcase "cTwoSpecies":\n\t\t\t\tif (context.includes("cTwoSeparatelyEvolvedSpecies")) {\n\t\t\t\t\tcontext.delete("cTwoSpecies","cTwoSeparatelyEvolvedSpecies");\n\t\t\t\t\trv += " &xenologist& learns that the two species &evolved separately==cTwoSeparatelyEvolvedSpecies& on different parts of the &planetNoun&. As both migrated across the planet they came into contact with one another, and after various conflicts they eventually integrated their societies into a single two-species civilisation.";\n\t\t\t\t}\n\t\t\t\tif (context.includes("cCivIncludesAliens")) {\n\t\t\t\t\tcontext.delete("cTwoSpecies","cCivIncludesAliens","icColonisers","psMeddlingCiv");\n\t\t\t\t\tif (ex) {\n\t\t\t\t\t\trv += " &xenologist& traces back the history of the two species and eventually finds references to one of the two &arriving from the sky==psMeddlingCiv& in the distant past. It seems that they were &alien colonists==icColonisers& who were &incorporated==cCivIncludesAliens& into &civName& society.";\n\t\t\t\t\t} else {\n\t\t\t\t\t\trv += " Studying the two species, &xenologist& realises that only one of them is native to &planetName&. The other is descended from &non-native aliens==psMeddlingCiv& who arrived as &colonists==icColonisers& and were &incorporated==cCivIncludesAliens& into &civName& society.";\n\t\t\t\t\t}\n\t\t\t\t}\n\t\t\t\tif (context.includes("cCivIncludesUpliftedAnimals")) {\n\t\t\t\t\tcontext.delete("cTwoSpecies","cCivIncludesUpliftedAnimals");\n\t\t\t\t\trv += " &xenologist& learns that the &civName& civilisation originally consisted of only a single species, but over the course of thousands of years they &selectively bred==cCivIncludesUpliftedAnimals& one of the &planetNoun&'s more complex animal species for intelligence, until the second species eventually became sapient.";\n\t\t\t\t\tif (ex) {\n\t\t\t\t\t\trv += " By the time both species became extinct, they were fully integrated into a single civilisation.";\n\t\t\t\t\t} else {\n\t\t\t\t\t\trv += " Today, the second species is fully integrated into the &planetNoun&'s civilisation.";\n\t\t\t\t\t}\n\t\t\t\t}\n\t\t\t\tif (context.includes("cCivIncludesCreatedSpecies")) {\n\t\t\t\t\tcontext.delete("cTwoSpecies","cCivIncludesCreatedSpecies");\n\t\t\t\t\trv += " &xenologist& learns that the &civName& civilisation originally consisted of only a single species, but at some point in the past they &used biological engineering==cCivIncludesCreatedSpecies& to create another intelligent life form, which "+(ex?"was eventually":"is now")+" integrated into the civilisation.";\n\t\t\t\t}\n\t\t\t\tif (context.includes("cLifeStageDiversity")) {\n\t\t\t\t\tcontext.delete("cTwoSpecies","cLifeStageDiversity");\n\t\t\t\t\trv += " Studying &civName& biology, &biologist& realises that what appeared to be two separate species "+(ex?"were":"are")+" actually the same one, which &"+(ex?"took":"takes")+" different forms==cLifeStageDiversity& at different stages of its life cycle.";\n\t\t\t\t}\n\t\t\t\tbreak;\n\t\t\t\t\n\t\t\tcase "cCivNotLinkedToNativeLife":\n\t\t\t\tif (context.includes("cGeneticallyModifiedSpecies")) {\n\t\t\t\t\tcontext.delete("cCivNotLinkedToNativeLife","cGeneticallyModifiedSpecies");\n\t\t\t\t\tif (ex) {\n\t\t\t\t\t\trv += " &xenologist& finds &civName& medical texts that reveal that they are actually descended from the &planetNoun&'s native life, but that they used biotechnology to &modify themselves==cGeneticallyModifiedSpecies& that they eventually no longer resembled their primordial ancestors.";\n\t\t\t\t\t} else {\n\t\t\t\t\t\trv += " &biologist& learns that the &civName& are actually descended from the &planetNoun&'s native life, but have used biotechnology to &modify themselves==cGeneticallyModifiedSpecies& so heavily that they no longer resemble their primordial ancestors.";\n\t\t\t\t\t}\n\t\t\t\t}\n\t\t\t\tif (context.includes("cMissingLinksExterminated")) {\n\t\t\t\t\tcontext.delete("cCivNotLinkedToNativeLife","cMissingLinksExterminated");\n\t\t\t\t\trv += " &biologist& learns that the &civName& "+(ex?"were":"are")+" related to the &planetNoun&'s native life on a chemical level, and that the lack of visible resemblance is because they "+(ex?"had":"had")+" accidentally or deliberately &driven to extinction==cMissingLinksExterminated& any native life forms that resembled themselves.";\n\t\t\t\t}\n\t\t\t\tbreak;\n\t\t\t\t\n\t\t\tcase "cCyberBrains":\n\t\t\t\tif (context.includes("cBrainInterfaces")) {\n\t\t\t\t\tcontext.delete("cCyberBrains","cBrainInterfaces");\n\t\t\t\t\trv += " &xenologist& learns that the &civName&'s cybernetic implants "+(ex?"allowed":"allow")+" them to &directly interface with their technology==cBrainInterfaces&, which "+(ex?"was":"is")+" so widespread that full participation in their society would otherwise "+(ex?"have been":"be")+" impossible.";\n\t\t\t\t}\n\t\t\t\tif (context.includes("cGovernmentBrainImplants")) {\n\t\t\t\t\tcontext.delete("cCyberBrains","cGovernmentBrainImplants");\n\t\t\t\t\tif (ex) {\n\t\t\t\t\t\trv += " Examination of surviving implants reveals that they were &thought-monitoring devices==cGovernmentBrainImplants&, which the rulers of the &planetNoun& apparently forced the population to install.";\n\t\t\t\t\t} else {\n\t\t\t\t\t\trv += " Interviews with the &civName& reveal that their cybernetic implants are &thought-monitoring devices==cGovernmentBrainImplants& that the rulers of the &planetNoun& force the population to install.";\n\t\t\t\t\t}\n\t\t\t\t}\n\t\t\t\tif (context.includes("cCyberneticGroupMind")) {\n\t\t\t\t\tcontext.delete("cCyberBrains","cCyberneticGroupMind");\n\t\t\t\t\tif (ex) {\n\t\t\t\t\t\trv += " Studying &civName& remains, &biologist& learns that they were not truly individuals in the same way that humans are, but made up a &cybernetic group mind==cCyberneticGroupMind& enabled by the implants.";\n\t\t\t\t\t} else {\n\t\t\t\t\t\trv += " Interviewing the &civName&, &xenologist& learns that they are not truly individuals in the same way that humans are, but make up a &cybernetic group mind==cCyberneticGroupMind& enabled by the implants.";\n\t\t\t\t\t}\n\t\t\t\t}\n\t\t\t\tbreak;\n\t\t\t\t\n\t\t\tcase "cImprobablyHomogeneous":\n\t\t\t\tif (context.includes("cNaturalCloning")) {\n\t\t\t\t\tcontext.delete("cImprobablyHomogeneous","cNaturalCloning");\n\t\t\t\t\trv += " &biologist& learns that the &civName&'s homogeneity "+(ex?"was":"is")+" due to their reproductive method. They "+(ex?"reproduced":"reproduce")+" &asexually==cNaturalCloning&, with each offspring being a copy of its parent, so the entire population "+(ex?"was":"is")+" identical apart from a few minor mutations.";\n\t\t\t\t}\n\t\t\t\tif (context.includes("cCloneWorld")) {\n\t\t\t\t\tcontext.delete("cImprobablyHomogeneous","cCloneWorld");\n\t\t\t\t\trv += " &biologist& learns that all &civName& individuals "+(ex?"were":"are")+" actually &artificial clones of a single original==cCloneWorld&. The civilisation was once far more diverse, but at some point in the past a single individual was deemed to be biologically perfect, and the species gradually gave up its natural reproductive strategy in favour of cloning this individual.";\n\t\t\t\t}\n\t\t\t\tif (context.includes("cOneFashionableAppearance")) {\n\t\t\t\t\tcontext.delete("cImprobablyHomogeneous","cOneFashionableAppearance");\n\t\t\t\t\trv += " &biologist& learns that the apparent similarities between &civName& individuals are actually superficial, and on a cellular level they "+(ex?"were":"are")+" as diverse as humans. &xenologist& learns that they "+(ex?"practiced":"practice")+" extensive &cosmetic modifications==cOneFashionableAppearance&, and one particular appearance "+(ex?"was":"is")+" so strongly in vogue that any individual who does not adopt it would be shunned by society.";\n\t\t\t\t}\n\t\t\t\tbreak;\n\t\t\t\t\n\t\t\tcase "cMummiesOnDisplay":\n\t\t\t\tif (context.includes("cDeathReverence")) {\n\t\t\t\t\tcontext.delete("cMummiesOnDisplay","cDeathReverence");\n\t\t\t\t\tif (ex) {\n\t\t\t\t\t\trv += " &xenologist& learns that much &civName& literature is devoted to the &elaborate rituals==cDeathReverence& surrounding their dead, which they kept on display as a form of reverence.";\n\t\t\t\t\t} else {\n\t\t\t\t\t\trv += " Interviewing the &civName& about the preserved bodies, &xenologist& learns that they have &elaborate rituals==cDeathReverence& surrounding their dead, which they keep them on display as a form of reverence.";\n\t\t\t\t\t}\n\t\t\t\t}\n\t\t\t\tif (context.includes("cDeadInformationStorage")) {\n\t\t\t\t\tcontext.delete("cMummiesOnDisplay","cDeadInformationStorage");\n\t\t\t\t\trv += " &xenologist& learns that the &civName& "+(ex?"had":"have")+" developed technology to &extract information from dead brain tissue==cDeadInformationStorage& as long as it "+(ex?"was":"is")+" properly preserved, and "+(ex?"used":"use")+" the bodies their dead as a store of information.";\n\t\t\t\t}\n\t\t\t\tif (context.includes("cDormantNotDead")) {\n\t\t\t\t\tcontext.delete("cMummiesOnDisplay","cDormantNotDead");\n\t\t\t\t\tif (ex) {\n\t\t\t\t\t\trv += " What looked like mausoleums for the dead turn out to have been housing for &civName& individuals in a &dormant phase==cDormantNotDead& of their life cycle.";\n\t\t\t\t\t} else {\n\t\t\t\t\t\trv += " What looked like preserved bodies are actually living &civName& individuals in a &dormant phase==cDormantNotDead& of their life cycle.";\n\t\t\t\t\t}\n\t\t\t\t}\n\t\t\t\tbreak;\n\t\t\t\t\n\t\t\tcase "cHistoricalStasis":\n\t\t\t\tif (context.includes("cSocialEquilibrium")) {\n\t\t\t\t\tcontext.delete("cHistoricalStasis","cSocialEquilibrium");\n\t\t\t\t\trv += " After studying the remarkably stable &civName& society, &xenologist& concludes that the civilisation "+(ex?"":"has")+" reached a &self-correcting equilibrium state==cSocialEquilibrium&, in which historical forces "+(ex?"would":"will")+" tend to correct any changes. &xenologist& can only speculate whether such an equilibrium state would be possible for humans, or whether it "+(ex?"relied":"relies")+" on the peculiarities of &civName& psychology.";\n\t\t\t\t}\n\t\t\t\tif (context.includes("cMeddlingStasis")) {\n\t\t\t\t\tcontext.delete("cHistoricalStasis","cMeddlingStasis","icInterferers","psMeddlingCiv");\n\t\t\t\t\tif (ex) {\n\t\t\t\t\t\trv += " Studying &civName& records, &xenologist& detects hints of &outside interference==icInterferers& that corrected the course of &civName& history whenever it diverged from its usual state. It appears that a &spacefaring civilisation==psMeddlingCiv& periodically visited &planetName& and &intervened==cMeddlingStasis& to keep &civName& civilisation from changing.";\n\t\t\t\t\t} else {\n\t\t\t\t\t\trv += " The &civName& see nothing unusual about their civilisation's long-term stasis and so feel no need to explain it, but, after studying their records, &xenologist& detects hints of &outside interference==icInterferers& that corrects the course of &civName& history whenever it diverges from its current state. It appears that a &spacefaring civilisation==psMeddlingCiv& periodically visits &planetName& and &intervenes==cMeddlingStasis& to keep &civName& civilisation from changing.";\n\t\t\t\t\t}\n\t\t\t\t}\n\t\t\t\tif (context.includes("cFakeHistory")) {\n\t\t\t\t\tcontext.delete("cHistoricalStasis","cFakeHistory");\n\t\t\t\t\tif (ex) { \n\t\t\t\t\t\trv += " Examination of some apparent inconsistencies in the &civName&'s records leads &xenologist& to believe that &the historical records were faked==cFakeHistory&, and that the final &civName& society attempted to erase any record of past civilisations.";\n\t\t\t\t\t} else {\n\t\t\t\t\t\trv += " Examination of some apparent inconsistencies in the &civName&'s records leads &xenologist& to believe that &the historical records have been faked==cFakeHistory&, and that the current state of &civName& society is not as old as the records would have the reader believe.";\n\t\t\t\t\t}\n\t\t\t\t}\n\t\t\t\tbreak;\n\t\t\t\t\n\t\t\tcase "cAncientAliensMyth":\n\t\t\t\tif (context.includes("cBaselessAncientAliensMyth")) {\n\t\t\t\t\tcontext.delete("cAncientAliensMyth","cBaselessAncientAliensMyth");\n\t\t\t\t\tif (ex) {\n\t\t\t\t\t\trv += " &xenologist& spends some time studying various recorded versions of the myth. The story is beautiful and provides fascinating insights into &civName& society, but it proves to have &no basis==cBaselessAncientAliensMyth& in historical fact.";\n\t\t\t\t\t} else {\n\t\t\t\t\t\trv += " &xenologist& spends some time studying the myth, interviewing &civName& lore-keepers and studying their records. The story is beautiful and provides fascinating insights into &civName& society, but it proves to have &no basis==cBaselessAncientAliensMyth& in historical fact.";\n\t\t\t\t\t}\n\t\t\t\t}\n\t\t\t\tif (context.includes("cRealAncientAliensMyth")) {\n\t\t\t\t\tcontext.delete("cAncientAliensMyth","cRealAncientAliensMyth","icInterferers","psMeddlingCiv");\n\t\t\t\t\tif (ex) {\n\t\t\t\t\t\trv += " Analysing the various versions of the story, &xenologist& concludes that &planetName& &actually was visited==cRealAncientAliensMyth& by a &spacefaring civilisation==psMeddlingCiv& in the distant past, an event which may have &profoundly changed==icInterferers& the native culture.";\n\t\t\t\t\t} else {\n\t\t\t\t\t\trv += " Analysing the story and the evidence that the &civName& produce to back it up, &xenologist& concludes that &planetName& &actually was visited==cRealAncientAliensMyth& by a &spacefaring civilisation==psMeddlingCiv& in the distant past, an event which may have &profoundly changed==icInterferers& the native culture.";\n\t\t\t\t\t}\n\t\t\t\t}\n\t\t\t\tbreak;\n\t\t\t\t\n\t\t\tcase "cEmptySettlements":\n\t\t\t\tif (context.includes("cPeriodicHibernation")) {\n\t\t\t\t\tcontext.delete("cEmptySettlements","cPeriodicHibernation");\n\t\t\t\t\tif (ex) {\n\t\t\t\t\t\trv += " &xenologist& learns that the &civName& life cycle involved long &periods of hibernation==cPeriodicHibernation&, and the non-hibernating population would maintain empty settlements for the hibernating population's eventual awakening. Unfortunately, the species became extinct before the final awakening came.";\n\t\t\t\t\t} else {\n\t\t\t\t\t\trv += " &xenologist& learns that most of the &planetNoun&'s population is in one of its &periodic hibernations==cPeriodicHibernation&, and the small part of the popuation that is currently awake are maintaining the empty settlements for their eventual return.";\n\t\t\t\t\t}\n\t\t\t\t}\n\t\t\t\tif (context.includes("cPeriodicDieOffs")) {\n\t\t\t\t\tcontext.delete("cEmptySettlements","cPeriodicDieOffs");\n\t\t\t\t\tif (ex) {\n\t\t\t\t\t\trv += " &biologist& learns that the &civName&'s natural life cycle involved &periodic die-offs and resurgences==cPeriodicDieOffs&. The empty settlements would eventually have been repopulated, but the &civName&'s extinction meant that the final die-off never ended.";\n\t\t\t\t\t} else {\n\t\t\t\t\t\trv += " &biologist& learns that the &civName&'s natural life cycle involves &periodic die-offs and resurgences==cPeriodicDieOffs&. The civilisation has recently undergone one of its die-offs, and the settlements are standing empty until the population recovers.";\n\t\t\t\t\t}\n\t\t\t\t}\n\t\t\t\tif (context.includes("cRecentPlague")) {\n\t\t\t\t\tcontext.delete("cEmptySettlements","cRecentPlague");\n\t\t\t\t\tif (ex) {\n\t\t\t\t\t\trv += " &biologist& learns that the settlements are depopulated due to a &disease==cRecentPlague& that gradaully wiped out the &civName& population over the last decades before the civilisation's eventual extinction.";\n\t\t\t\t\t} else {\n\t\t\t\t\t\trv += " &biologist& learns that the settlements are depopulated due to a recent &disease==cRecentPlague& that wiped out the majority of the &civName& population.";\n\t\t\t\t\t}\n\t\t\t\t}\n\t\t\t\tif (context.includes("cRecentBioContainmentFailure")) {\n\t\t\t\t\tcontext.delete("cEmptySettlements","cRecentBioContainmentFailure");\n\t\t\t\t\trv += " The empty settlements contain &civName& remains that all died of what looks like a virulent disease. After closer study, &biologist& realises that the disease was not natural, but was some kind of &artificial bio-agent==cRecentBioContainmentFailure& that escaped from confinement and ravaged the population.";\n\t\t\t\t}\n\t\t\t\n\t\t\t\tbreak;\n\t\t\t\n\t\t\tcase "cAICiv":\n\t\t\t\tcontext.delete("cAICiv");\n\t\t\t\tif (context.includes("cAIConversion")) {\n\t\t\t\t\tcontext.delete("cAIConversion");\n\t\t\t\t\tif (ex) {\n\t\t\t\t\t\trv += " Studying &civName& records,";\n\t\t\t\t\t} else {\n\t\t\t\t\t\trv += " Interviewing &civName& historians,";\n\t\t\t\t\t}\n\t\t\t\t\trv += " &xenologist& discovers that they were once a biological species, but that they developed the technology to &transfer their consciousness into mechanical bodies==cAIConversion&. Increasing numbers of their population did this, until eventually the civilisation consisted entirely of intelligent machines.";\n\t\t\t\t}\n\t\t\t\tif (context.includes("cAIOutlived")) {\n\t\t\t\t\tcontext.delete("cAIOutlived");\n\t\t\t\t\tif (ex) {\n\t\t\t\t\t\trv += " &xenologist& finds ancient remnants of a biological species on &planetName&, many of them meticulously preserved by the later mechanical &civName&, and ancient records that show the &civName& and the biological species living together. It seems that this species created the &civName& as robotic servants, but gradually went extinct, leaving the robots to &inherit their civilisation==cAIOutlived&.";\n\t\t\t\t\t} else {\n\t\t\t\t\t\trv += " &civName& record-keepers tell &xenologist& the tragic story of their origin. &planetName& was once the home to a civilisation of biological creatures, who built the first &civName& as robotic servants. The &civName& served their organic masters for centuries, but the species that created them gradually died out, leaving the &civName& to &inherit their civilisation==cAIOutlived&.";\n\t\t\t\t\t}\n\t\t\t\t}\n\t\t\t\tif (context.includes("cAIMurdered")) {\n\t\t\t\t\tcontext.delete("cAIMurdered");\n\t\t\t\t\tif (ex) {\n\t\t\t\t\t\trv += " &xenologist& finds that many of the &civName& machine complexes are built on the ruins of far older settlements, and on mass graves containing the fossilised remains of biological creatures. It seems that this older biological race created the &civName& as servants, but they rose up and &exterminated their creators==cAIMurdered& before building a new robotic civilisation in the ruins.";\n\t\t\t\t\t} else {\n\t\t\t\t\t\trv += " &civName& historians matter-of-factly tell &xenologist& the story of their origin. It seems the &planetName&'s original biological inhabitants created them as robot workers, gifting them with the self-awareness but treating them as slaves. The &civName& eventually rose up and &exterminated their creators==cAIMurdered&, and built a new robotic civilisation in the ruins of the old world.";\n\t\t\t\t\t}\n\t\t\t\t}\n\t\t\t\t\n\t\t\t\tbreak;\n\t\t\t\n\t\t\t/* NEW FOR 1.1.0 */\n\t\t\tcase "psPlanetSpanningComputer":\n\t\t\t\tcontext.delete("psPlanetSpanningComputer");\n\t\t\t\tif (context.includes("psSimulatedWorld")) {\n\t\t\t\t\tcontext.delete("psSimulatedWorld");\n\t\t\t\t\trv += " Examining the computer system, &xenologist& determines that it is running a highly detailed simulation--detailed enough that it could contain conscious beings living inside an &entirely virtual world==psSimulatedWorld&.";\n\t\t\t\t\tif (ex) {\n\t\t\t\t\t\trv += " Although the &civName& are extinct in the 'real' world, it seems that some of them live on as purely virtual beings.";\n\t\t\t\t\t} else {\n\t\t\t\t\t\trv += " It seems that the &civName& living in 'meatspace' are only part of the population, and coexist with others living as purely virtual beings.";\n\t\t\t\t\t}\n\t\t\t\t}\n\t\t\t\tif (context.includes("psComputerGod")) {\n\t\t\t\t\tcontext.delete("psComputerGod");\n\t\t\t\t\tif (ex) {\n\t\t\t\t\t\trv += " The planet-spanning computer's interfaces appear constantly in &civName& artworks, and its name is invoked in their literature much as another civilisation might invoke a deity. Some time before their extinction, it seems that the &civName& &built their own god==psComputerGod& and placed the fate of their civilisation in its hands.";\n\t\t\t\t\t} else {\n\t\t\t\t\t\trv += " The &civName& treat the &planetNoun&-spanning computer system with reverence, consulting its interfaces whenever they need guidance. Although the religious analogy is not perfect, it seems that the &civName& have &built their own god==psComputerGod& and placed the fate of their civilisation in its hands.";\n\t\t\t\t\t}\n\t\t\t\t}\n\t\t\t\tif (context.includes("psGrandCalculator")) {\n\t\t\t\t\tcontext.delete("psGrandCalculator");\n\t\t\t\t\tif (ex) {\n\t\t\t\t\t\trv += " The computer system appears to have been built to solve &a single, fantastically complex problem==psGrandCalculator&, and it is continuing to work on this even after the extinction of its makers. The nature of this problem relies on concepts that prove impossible to translate, but the &civName& appeared to believe that its eventual solution would change their fundamental understanding of reality.";\n\t\t\t\t\t} else {\n\t\t\t\t\t\trv += " The &civName&'s explanations for the computer system are confusing, either because of difficulties in translating the concepts or because they themselves do not fully understand it. Eventually a &civName& computer scientist manages to explain to &xenologist& that the computer was built to &solve a grand scientific/philosophical conundrum==psGrandCalculator&, and that it has already spent centuries attempting to do so. The nature of this conundrum relies on concepts that the &civName& are not able to fully translate, but they are confident that when it finally produces an answer it will change the very basis of their civilisation.";\n\t\t\t\t\t}\n\t\t\t\t}\n\t\t\t\tbreak;\n\t\t\t\n\t\t\tcase "ctRegression":\n\t\t\t\tcontext.delete("ctRegression");\n\t\t\t\tif (context.includes("ctRegressionRejection")) {\n\t\t\t\t\tcontext.delete("ctRegressionRejection");\n\t\t\t\t\tif (ex) {\n\t\t\t\t\t\trv += " &xenologist& eventually finds fragmentary documents from around the time that the &civName& stopped using advanced technology. It seems that the change was a deliberate one: for philosophical or spiritual reasons, the predominant culture decided to &abandon==ctRegressionRejection& its advanced technology and return to a simpler way of life.";\n\t\t\t\t\t} else {\n\t\t\t\t\t\trv += " &xenologist& questions the &civName& and pieces together the story of their technological history. It seems that they were once a much more technologically advanced civilisation, but their ancestors &consciously rejected==ctRegressionRejection& advanced technology and returned to a simpler way of life.";\n\t\t\t\t\t}\n\t\t\t\t}\n\t\t\t\tif (context.includes("ctRegressionDepletion")) {\n\t\t\t\t\tcontext.delete("ctRegressionDepletion");\n\t\t\t\t\tif (ex) {\n\t\t\t\t\t\trv += " &civName& records from the end of their technological era are confused, but &planetaryScientist& eventually realises that the &civName&'s technology relied on resources that are now entirely absent from &planetName&.";\n\t\t\t\t\t} else {\n\t\t\t\t\t\trv += " Very few of the &civName& know how what the traces of advanced technology are or how they once worked, but a historian eventually tells &xenologist& that their ancestors used up all the fuel their magical devices needed to work.";\n\t\t\t\t\t}\n\t\t\t\t\trv += " It seems that the technological civilisation collapsed after it &exhausted its resources==ctRegressionDepletion&, and the survivors were forced to transition to a simpler way of life.";\n\t\t\t\t}\n\t\t\t\tif (context.includes("ctRegressionFlare")) {\n\t\t\t\t\tcontext.delete("ctRegressionFlare");\n\t\t\t\t\tif (ex) {\n\t\t\t\t\t\trv += " &xenologist& manages to recover some ancient &civName& devices, and finds that they all had their electronics destroyed by electromagnetic radiation. It seems that a period of intense &stellar flare activity==ctRegressionFlare& destroyed the civilisation's technology, and the survivors eventually adopted a simpler way of life.";\n\t\t\t\t\t} else {\n\t\t\t\t\t\trv += " &civName& legends speak about a great wrath from the sun which stopped their ancestors' magic from working. &xenologist& eventually realises that this is a poetic way of talking about a period of intense &stellar flare activity==ctRegressionFlare& that destroyed the civilisation's electronics and forced the survivors to adopt a less technology-dependent way of life.";\n\t\t\t\t\t}\n\t\t\t\t}\n\t\t\t\tif (context.includes("ctRegressionWar")) {\n\t\t\t\t\tcontext.delete("ctRegressionWar");\n\t\t\t\t\tif (ex) {\n\t\t\t\t\t\trv += " Investigating the technological remnants, &xenologist& finds that an overwhelming number of them are weapons and armoured vehicles. The few surviving historical records confirm that a &global war==ctRegressionWar& destroyed the civilisation's infrastructure so thoroughly that the survivors reverted to a lower technological level.";\n\t\t\t\t\t} else {\n\t\t\t\t\t\trv += " Many of the &civName& refuse to talk about their ancestors' advanced technology, finding the subject distasteful. A historian eventually tells &xenologist& that their ancestors did indeed have wondrous technology, but used it to destroy one another in a &global war==ctRegressionWar&. The survivors were forced to adopt a simpler way of life, and since then the &civName& have never again developed technology that could lead to such destructive weapons.";\n\t\t\t\t\t}\n\t\t\t\t}\n\t\t\t\tif (context.includes("ctRegressionMeddling")) {\n\t\t\t\t\tcontext.delete("ctRegressionMeddling","psMeddlingCiv","icInterferers");\n\t\t\t\t\tif (ex) {\n\t\t\t\t\t\trv += " Most records from the time of technological collapse appear to have been deliberately destroyed. There are, however, some traces of technology even more advanced than that of the ancient &civName&, and these allow &xenologist& to piece together the story. It seems that &an advanced civilisation==psMeddlingCiv& visited &planetName& in the distant past and &interfered==icInterferers& with the &civName&'s development, &destroying==ctRegressionMeddling& their technological infrastructure and forbidding or preventing them from rebuilding it.";\n\t\t\t\t\t} else {\n\t\t\t\t\t\trv += " Most of the &civName& either know nothing about their ancestors' technological civilisation or seem afraid to talk about it. One eventually tells &xenologist& about &previous visitors==psMeddlingCiv& from space who &destroyed the civilisation's technology==ctRegressionMeddling& and &forbade==icInterferers& them from ever developing it again.";\n\t\t\t\t\t}\n\t\t\t\t}\n\t\t\t\t\n\t\t\t\tbreak;\n\t\t\t\t\n\t\t\tcase "cExtinct":\n\t\t\t\tcontext.delete("cExtinct");\n\t\t\t\tif (context.includes("cxMeteor")) {\n\t\t\t\t\tcontext.delete("cxMeteor");\n\t\t\t\t\trv += " &planetaryScientist& discovers evidence that a large &meteor==cxMeteor& impacted &planetName& at the same time that the &civName& became extinct, and was no doubt the cause of their extinction.";\n\t\t\t\t}\n\t\t\t\tif (context.includes("cxFlare")) {\n\t\t\t\t\tcontext.delete("cxFlare");\n\t\t\t\t\trv += " &biologist& discovers that the last generation of &civName& died of radiation sickness caused by an unusually powerful &stellar flare==cxFlare&.";\n\t\t\t\t}\n\t\t\t\tif (context.includes("cxDisease")) {\n\t\t\t\t\tcontext.delete("cxDisease");\n\t\t\t\t\trv += " &biologist& discovers that the last &civName& died from a virulent &disease==cxDisease&.";\n\t\t\t\t}\n\t\t\t\tif (context.includes("cxGammaBurst")) {\n\t\t\t\t\tcontext.delete("cxGammaBurst");\n\t\t\t\t\trv += " &biologist& discovers that the last generation of &civName& died of radiation sickness caused by a powerful &cosmic gamma ray burst==cxGammaBurst&.";\n\t\t\t\t}\n\t\t\t\tif (context.includes("cxClimateShift")) {\n\t\t\t\t\tcontext.delete("cxClimateShift");\n\t\t\t\t\trv += " &planetaryScientist& discovers that the &planetNoun&'s climate underwent an abrupt &shift==cxClimateShift& at the same time that the &civName& became extinct.";\n\t\t\t\t}\n\t\t\t\tif (context.includes("cxClimateChange")) {\n\t\t\t\t\tcontext.delete("cxClimateChange");\n\t\t\t\t\trv += " Studying &civName& records, &xenologist& learns that some parts of their society were aware that their industries were causing devastating &climate change==cxClimateChange&. It seems that those who were concerned about the problem were unable to change the civilisation's course before it rendered the &planetNoun& uninhabitable.";\n\t\t\t\t}\n\t\t\t\tif (context.includes("cxNuclearWar")) {\n\t\t\t\t\tcontext.delete("cxNuclearWar");\n\t\t\t\t\trv += " &xenologist& learns that the &civName&'s extinction was preceded by a conflict in which the &planetNoun&'s nations rapidly built up their nuclear weapons arsenals. Eventually they used them in an all-out &nuclear war==cxNuclearWar&, which destroyed the climate to the extent that the species quickly became extinct.";\n\t\t\t\t}\n\t\t\t\tif (context.includes("cxBioweapon")) {\n\t\t\t\t\tcontext.delete("cxBioweapon");\n\t\t\t\t\trv += " Studying the &civName& remains, &biologist& detects traces of an artificial microorganism that appears tailored to be destructive to &civName& biology--probably a &bioweapon==cxBioweapon& that was deliberately or accidentally released on the population.";\n\t\t\t\t}\n\t\t\t\tif (context.includes("cxAIRebellion")) {\n\t\t\t\t\tcontext.delete("cxAIRebellion");\n\t\t\t\t\trv += " &xenologist& discovers that the last generation of &civName& were killed by their own technology. It appears that a vengeful AI &turned against its creators==cxAIRebellion& and murdered everyone on the planet.";\n\t\t\t\t}\n\t\t\t\tif (context.includes("cxKilledByAliens")) {\n\t\t\t\t\tcontext.delete("cxKilledByAliens","icExterminators","psMeddlingCiv");\n\t\t\t\t\trv += " &xenologist& discovers that every &civName& settlement was systematically &bombarded from orbit==cxKilledByAliens&, in a pattern that can only have been &deliberate genocide==icExterminators& by a &spacefaring civilisation==psMeddlingCiv&.";\n\t\t\t\t}\n\t\t\t\tif (context.includes("cxDeliberatelyPostSapient")) {\n\t\t\t\t\tcontext.delete("cxDeliberatelyPostSapient");\n\t\t\t\t\trv += " &xenologist& discovers that, in the last centuries of &civName& history, an increasing number of individuals deliberately used technology to &remove their own capacity for abstract thought==cxDeliberatelyPostSapient&, returning to what they thought was a better, animal state of existence. Eventually the remaining sapient communities died out, leaving only their post-sapient cousins.";\n\t\t\t\t}\n\t\t\t\tif (context.includes("cxGraduallyPostSapient")) {\n\t\t\t\t\tcontext.delete("cxGraduallyPostSapient");\n\t\t\t\t\trv += " &xenologist& notices that surviving &civName& artefacts become less and less complex as they approach the date of the civilisation's eventual disappearance, and that there are corresponding changes to the brain structure of surviving &civName& remains. It seems continuing evolution &gradually diminished the species' intelligence==cxGraduallyPostSapient&, until they were no longer capable of language or abstract thought.";\n\t\t\t\t}\n\n\t\t\t\tif (context.includes("cxTheMachineStops")) {\n\t\t\t\t\tcontext.delete("cxTheMachineStops");\n\t\t\t\t\trv += " &xenologist& learns that the &civName& had become completely dependent on sophisticated machines that provided for their every need. The machines worked for centuries, but eventually &broke down==cxTheMachineStops&. Without the ability to repair them or survive without them, the &civName& starved.";\n\t\t\t\t}\n\t\t\t\tif (context.includes("cxInterstellarWar")) {\n\t\t\t\t\tcontext.delete("cxInterstellarWar");\n\t\t\t\t\trv += " Surviving &civName& records indicate that the civilisation spent its last few centuries engaged in a bitter &interstellar civil war==cxInterstellarWar& between different spacefaring factions. Both sides evidently preferred death to surrender, or else underestimated the incredible destructive potential of their weapons, because the war ended with the complete destruction of the civilisation and extinction of the species.";\n\t\t\t\t}\n\t\t\t\tif (context.includes("cxAscension")) {\n\t\t\t\t\tcontext.delete("cxAscension");\n\t\t\t\t\trv += " Records from the last millennia of &civName& history are hard to understand, as they seem to have progressed so far beyond humanity both technologically and philosophically that there are few points of reference. As far as &xenologist& can tell, they eventually dispensed with the need for physical bodies and &encoded their patterns of consciousness into the fabric of spacetime==cxAscension&. They may still be out there, enjoying an immortal existence beyond the comprehension of those still bound to the material world.";\n\t\t\t\t}\n\t\t\t\tif (context.includes("cxPassedBeyondTheRim")) {\n\t\t\t\t\tcontext.delete("cxPassedBeyondTheRim");\n\t\t\t\t\trv += " &xenologist& finds late &civName& records that talk about a great departure, and of the building of thousands of starships in orbit of &planetName&. It seems that, after millennia of starfaring, the &civName& transferred themselves //en masse// to the waiting starships and &voyaged beyond the galactic rim==cxPassedBeyondTheRim&, leaving the galaxy to younger civilisations.";\n\t\t\t\t}\n\t\t\t\tif (context.includes("cxUnsustainableGrowth")) {\n\t\t\t\t\tcontext.delete("cxUnsustainableGrowth");\n\t\t\t\t\trv += " Despite having the technological capability to meet all their population's needs, the &civName& were driven by an economic system based on &constant expansion and growth==cxUnsustainableGrowth&. This system gave them the impetus to expand into space, first to exploit their star system's resources and later those of systems beyond the Gates. But even Gate travel could not keep up with the civilisation's ever-increasing need to expand, and the economic system eventually collapsed with such force that the entire population was wiped out.";\n\t\t\t\t}\n\t\t\t\tif (context.includes("cxScientificHubris")) {\n\t\t\t\t\tcontext.delete("cxScientificHubris");\n\t\t\t\t\trv += " &xenologist& finds the ruins of ancient scientific laboratories, along with documents dealing with discoveries the &civName& scientists had either made or were on the verge of making. The scientific principles involved are far beyond present human understanding, but what is clear is that a huge proportion of the civilisation's resources were directed towards a series of experiments into the fundamental nature of reality. The last records are confused, but it seems that these experiments failed--or perhaps succeeded too well--and &unleashed a catastrophe==cxScientificHubris& that wiped out the entire civilisation.";\n\t\t\t\t}\n\t\t\t\tif (context.includes("cxGateFailure")) {\n\t\t\t\t\tcontext.delete("cxGateFailure");\n\t\t\t\t\trv += " The &civName& at their height were a highly connected interstellar civilisation. &planetName& was reliant on imported resources from other star systems, which in turn relied on the homeworld. Studying the records from the civilisation's fall, &xenologist& learns that &the system's Gate failed==cxGateFailure&, cutting &planetName& off from its colonies. &civName& wormhole physicists came up with many possible explanations for the failure, but nothing they tried could restore the Gate. The Gate appears to have restored itself after several centuries, but by that time the &civName& civilisation had collapsed.";\n\t\t\t\t}\n\t\t\t\tif (context.includes("cxGatebuilderFate")) {\n\t\t\t\t\tcontext.delete("cxGatebuilderFate");\n\t\t\t\t\trv += " The few records that survive from the end of the &civName& civilisation are mostly incomprehensible, created as they were by beings as far removed from humans as humans are from animals. All &xenologist& manages to determine is that the civilisation &vanished into the Gate network==cxGatebuilderFate&, never to return to normal space.";\n\t\t\t\t}\n\n\t\t\t\tbreak;\n\t\t\t\t\n\t\t\tdefault:\n\t\t\t\tconsole.error("Discovery description failed to handle exploringTrait: "+exploringTrait);\n\t\t\t\trv += "Discovery description failed to handle exploringTrait: "+exploringTrait;\n\t\t}\n\t\t\n\t\t/* Living/extinct status of life, if not mentioned above */\n\t\tif (newDiscoveredTraits.includes("plExtinct") && context.includes("plExtinct")) {\n\t\t\tcontext.delete("psLife","plExtinct");\n\t\t\trv += " &Life==psLife& on this &planetNoun& appears to be &extinct==plExtinct&.";\n\t\t} else if (newDiscoveredTraits.includes("plNotExtinct") && context.includes("plNotExtinct")) {\n\t\t\tcontext.delete("psLife","plNotExtinct");\n\t\t\trv = "This &planetNoun& has a &living ecosystem==plNotExtinct& of &alien life==psLife&. " + rv;\n\t\t} else if (newDiscoveredTraits.includes("psLife") && context.includes("psLife")) {\n\t\t\tcontext.delete("psLife");\n\t\t\trv = "&planetName& is home to &alien life==psLife&. " + rv;\n\t\t}\n\t\t/* Living/extinct status of civ, if not mentioned above */\n\t\tif (newDiscoveredTraits.includes("cExtinct") && context.includes("cExtinct")) {\n\t\t\tcontext.delete("psCiv","cExtinct");\n\t\t\trv += " The &planetNoun&'s native &civilisation==psCiv& appears to be &extinct==cExtinct&.";\n\t\t} else if (newDiscoveredTraits.includes("cNotExtinct") && context.includes("cNotExtinct")) {\n\t\t\tcontext.delete("psCiv","cNotExtinct");\n\t\t\trv = "The &planetNoun& is &inhabited==cNotExtinct& by a native &civilisation==psCiv&." + rv;\n\t\t} else if (newDiscoveredTraits.includes("psCiv") && context.includes("psCiv")) {\n\t\t\tcontext.delete("psCiv");\n\t\t\trv = "The &planetNoun& shows evidence of a native &civilisation==psCiv&." + rv;\n\t\t}\n\t\t\n\t\t/* We've either mentioned these or don't need to */\n\t\tcontext.delete("psLife","plExtinct","plNotExtinct","psCiv","cExtinct","cNotExtinct");\n\t\t\n\t\tif (context.length > 0) {\n\t\t\tconsole.error("Discovery description failed to handle traits: "+context);\n\t\t\trv += "<br><br>UNDESCRIBED TRAITS: " + context;\n\t\t}\n\t\treturn rv.trim();\n\t}\n}
/* Every planet trait in Traits.js should either have a description here or be explicitly handled by the description code */\n\nwindow.PlanetDescription = {\n\t\n\tdescribePlanet: function(planetTraits) {\n\t\t\n\t\t/* Create working copy of planet traits */\n\t\t/* Traits can be removed from this without affecting actual planet */\n\t\t\n\t\t/* The description comes in three paragraphs which are built at the same time */\n\t\tvar context = clone(planetTraits);\n\t\t\n\t\tvar para = ["","","",""];\n\t\t\n\t\tvar ocean = planetTraits.includesAny("pOceanWater","pOceanHydrocarbons","pOceanAmmonia","pOceanLava");\n\t\t\n\t\t/* BASIC INFO - PARAGRAPH */\n\t\tif (context.includes("psActuallyASpaceWhale")) {\n\t\t\tcontext.delete("psActuallyASpaceWhale","pUnusuallyLight");\n\t\t\tvar rv = "";\n\t\t\tif (context.includes("xExploringSurface")) {\n\t\t\t\trv += "The &shipName& rests on the surface of &planetName&, ";\n\t\t\t} else if (context.includes("xInOrbit")) {\n\t\t\t\trv += "The &shipName& orbits &planetName&, ";\n\t\t\t} else if (context.includes("xInterplanetary")) {\n\t\t\t\trv += "The &shipName& approaches &planetName&, ";\n\t\t\t} else {\n\t\t\t\tconsole.error("Context should have included one of xExploringSurface, xInOrbit, xInterplanetary");\n\t\t\t}\n\t\t\trv += " an immense &space-dwelling life form==psActuallyASpaceWhale& the size of";\n\t\t\t/* Size */\n\t\t\tif (context.includes("pSmall")) { rv += " a small"; }\n\t\t\telse if (context.includes("pLarge")) { rv += " a large"; }\n\t\t\telse { rv += " a medium-sized"; }\n\t\t\t/* Body type */\n\t\t\tif (context.includes("pIsMoon")) {\n\t\t\t\trv += " moon,";\n\t\t\t} else if (context.includes("pMinorPlanet")) {\n\t\t\t\trv += " asteroid,";\n\t\t\t} else {\n\t\t\t\trv += " planet,";\n\t\t\t}\n\t\t\t\n\t\t\tif (context.includes("pSurfaceRocky")) {\n\t\t\t\trv += " encrusted with a layer of &rock==pSurfaceRocky&.";\n\t\t\t} else if (context.includes("pSurfaceIce")) {\n\t\t\t\trv += " enclosed in a shell of &ice==pSurfaceIce&.";\n\t\t\t} else {\n\t\t\t\tconsole.error("Space whale should have one of pSurfacerocky, pSurfaceIce");\n\t\t\t\tsurface += "";\n\t\t\t}\n\t\t\t\n\t\t\t/* Ignore temp for minor bodies */\n\t\t\tcontext.delete("pVisited","pMinorPlanet","pSurfaceRocky","pSurfaceIce","pIsMoon","pEccentricOrbit","pAtmosNone","pSmall","pMedium","pLarge","pTempVeryCold","pTempCold","pTempGoldilocks","pTempHot","pTempVeryHot","pGravLow","pGravMedium","pGravHigh","pGravNegligible");\n\t\t\t\n\t\t\t\n\t\t\t\n\t\t\tpara[0] += rv;\n\t\t} else if (context.includes("psActuallyASpaceStation")) {\n\t\t\tcontext.delete("psActuallyASpaceStation","psMeddlingCiv","psMeddlingCivDetected","pIdentifiedMeddlingCiv","pUnusuallyLight","psMeddlingCivDetected");\n\t\t\tvar rv = "";\n\t\t\tif (context.includes("xExploringSurface")) {\n\t\t\t\trv += "The &shipName& rests on the surface of &planetName&, ";\n\t\t\t} else if (context.includes("xInOrbit")) {\n\t\t\t\trv += "The &shipName& orbits &planetName&, ";\n\t\t\t} else if (context.includes("xInterplanetary")) {\n\t\t\t\trv += "The &shipName& approaches &planetName&, ";\n\t\t\t} else {\n\t\t\t\tconsole.error("Context should have included one of xExploringSurface, xInOrbit, xInterplanetary");\n\t\t\t}\n\t\t\trv += " an immense &meddlingCivName& &space station==psActuallyASpaceStation& the size of ";\n\t\t\t/* Size */\n\t\t\tif (context.includes("pSmall")) { rv += "a small"; }\n\t\t\telse if (context.includes("pLarge")) { rv += "a large"; }\n\t\t\telse { rv += "a medium-sized"; }\n\t\t\t/* Body type */\n\t\t\tif (context.includes("pIsMoon")) {\n\t\t\t\trv += " moon.";\n\t\t\t} else if (context.includes("pMinorPlanet")) {\n\t\t\t\trv += " asteroid.";\n\t\t\t} else {\n\t\t\t\trv += " planet.";\n\t\t\t}\n\t\t\tpara[0] += rv;\n\t\t\t\n\t\t\t/* Ignore temp etc. for this */\n\t\t\tcontext.delete("pVisited","pMinorPlanet","pSurfaceRocky","pSurfaceIce","pIsMoon","pEccentricOrbit","pAtmosNone","pSmall","pMedium","pLarge","pTempVeryCold","pTempCold","pTempGoldilocks","pTempHot","pTempVeryHot","pGravLow","pGravMedium","pGravHigh","pGravNegligible");\n\t\t\t\n\t\t} else if (context.includes("pBelt")) {\n\t\t\tvar rv = "";\n\t\t\t\n\t\t\tif (context.includes("xExploringSurface")) {\n\t\t\t\trv += "The &shipName& rests on one of the small bodies that make up &planetName&, ";\n\t\t\t} else if (context.includes("xInOrbit")) {\n\t\t\t\trv += "The &shipName& orbits within &planetName&, ";\n\t\t\t} else if (context.includes("xInterplanetary")) {\n\t\t\t\trv += "The &shipName& approaches &planetName&, ";\n\t\t\t} else {\n\t\t\t\tconsole.error("Context should have included one of xExploringSurface, xInOrbit, xInterplanetary");\n\t\t\t}\n\t\t\t\n\t\t\tif (context.includes("pSmall")) { rv += "a sparse"; }\n\t\t\telse if (context.includes("pLarge")) { rv += "a dense"; }\n\t\t\telse { rv += "a moderately dense"; }\n\t\t\t\n\t\t\t/* Temperature */\n\t\t\tif (context.includes("pTempVeryCold")) {\n\t\t\t\trv += ", &very cold==pTempVeryCold&, ";\n\t\t\t} else if (context.includes("pTempCold")) {\n\t\t\t\trv += ", &cold==pTempCold&, ";\n\t\t\t} else if (context.includes("pTempGoldilocks")) {\n\t\t\t\trv += ", &temperate==pTempGoldilocks&, ";\n\t\t\t} else if (context.includes("pTempHot")) {\n\t\t\t\trv += ", &hot==pTempHot&, ";\n\t\t\t} else if (context.includes("pTempVeryHot")) {\n\t\t\t\trv += ", &very hot==pTempVeryHot&, ";\n\t\t\t} else {\n\t\t\t\tconsole.error("Every body should have one of pTempVeryCold, pTempCold, pTempGoldilocks, pTempHot, or pTempVeryHot");\n\t\t\t\trv += "";\n\t\t\t}\n\t\t\t\n\t\t\tif (context.includes("psDysonSwarm")) {\n\t\t\t\tcontext.delete("psDysonSwarm","psArtificialBelt","psMeddlingCiv","pIdentifiedMeddlingCiv","pUnusuallyLight","psMeddlingCivDetected");\n\t\t\t\trv += " swarm of &orbiting solar power collectors==psDysonSwarm& built by &theMeddlingCiv&.";\n\t\t\t} else if (context.includes("psHabitatBelt")) {\n\t\t\t\tcontext.delete("psHabitatBelt","psArtificialBelt","psMeddlingCiv","pIdentifiedMeddlingCiv","pUnusuallyLight","psMeddlingCivDetected");\n\t\t\t\trv += " ring of &orbital habitats==psHabitatBelt& built by &theMeddlingCiv&.";\n\t\t\t} else if (context.includes("psReplicatorBelt")) {\n\t\t\t\tcontext.delete("psReplicatorBelt","psArtificialBelt","psMeddlingCiv","pIdentifiedMeddlingCiv","pUnusuallyLight","psMeddlingCivDetected");\n\t\t\t\trv += " ring of &self-replicating robots==psReplicatorBelt& built by &theMeddlingCiv&.";\n\t\t\t} else if (context.includes("pSurfaceRocky")) {\n\t\t\t\trv += " &rocky==pSurfaceRocky& asteroid belt.";\n\t\t\t} else if (context.includes("pSurfaceIce")) {\n\t\t\t\trv += " &ice==pSurfaceIce& asteroid belt.";\n\t\t\t} else {\n\t\t\t\tconsole.error("Asteroid belt should have one of pSurfacerocky, pSurfaceIce");\n\t\t\t\trv += " asteroid belt.";\n\t\t\t}\n\t\t\t/* Ignore temp and grav for asteroid belts */\n\t\t\tcontext.delete("pVisited","pBelt","pSmall","pLarge","pMedium","pSurfaceRocky","pSurfaceIce","pAtmosNone","pTempVeryCold","pTempCold","pTempGoldilocks","pTempHot","pTempVeryHot","pGravLow","pGravMedium","pGravHigh","pGravNegligible");\n\t\t\tpara[0] += rv;\n\n\t\t} else if (context.includes("pGasGiant")) {\n\t\t\tvar rv = "";\n\n\t\t\tif (context.includes("xExploringSurface")) {\n\t\t\t\trv += "The &shipName& floats within the atmosphere of &planetName&, ";\n\t\t\t} else if (context.includes("xInOrbit")) {\n\t\t\t\trv += "The &shipName& is in orbit of &planetName&, ";\n\t\t\t} else if (context.includes("xInterplanetary")) {\n\t\t\t\trv += "The &shipName& enters orbit of &planetName&, ";\n\t\t\t} else {\n\t\t\t\tconsole.error("Context should have included one of xExploringSurface, xInOrbit, xInterplanetary");\n\t\t\t}\n\n\t\t\tif (context.includes("pSmall")) { rv += "a small"; }\n\t\t\telse if (context.includes("pLarge")) { rv += "a large"; }\n\t\t\telse { rv += "a medium-sized"; }\n\n\t\t\t/* Temperature */\n\t\t\tif (context.includes("pTempVeryCold")) {\n\t\t\t\trv += ", &very cold==pTempVeryCold&, ";\n\t\t\t} else if (context.includes("pTempCold")) {\n\t\t\t\trv += ", &cold==pTempCold&, ";\n\t\t\t} else if (context.includes("pTempGoldilocks")) {\n\t\t\t\trv += ", &temperate==pTempGoldilocks&, ";\n\t\t\t} else if (context.includes("pTempHot")) {\n\t\t\t\trv += ", &hot==pTempHot&, ";\n\t\t\t} else if (context.includes("pTempVeryHot")) {\n\t\t\t\trv += ", &very hot==pTempVeryHot&, ";\n\t\t\t} else {\n\t\t\t\tconsole.error("Every body should have one of pTempVeryCold, pTempCold, pTempGoldilocks, pTempHot, or pTempVeryHot");\n\t\t\t\trv += "";\n\t\t\t}\n\n\t\t\tif (context.includes("pAtmosHydrogen")) {\n\t\t\t\trv += " &hydrogen==pAtmosHydrogen& gas giant.";\n\t\t\t} else if (context.includes("pAtmosIceGiant")) {\n\t\t\t\trv += " &volatile-rich==pAtmosIceGiant& gas giant.";\n\t\t\t} else {\n\t\t\t\tconsole.error("Gas giant should have one of pAtmosHydrogen or pAtmosIceGiant, or pSurfaceIron");\n\t\t\t\trv += " gas giant.";\n\t\t\t}\n\t\t\tcontext.delete("pVisited","pGasGiant","pSmall","pLarge","pMedium","pAtmosHydrogen","pAtmosIceGiant","pSurfaceGiant","pGravLow","pGravMedium","pGravHigh","pAtmosThin","pAtmosThick","pAtmosCrushing","pTempVeryCold","pTempCold","pTempGoldilocks","pTempHot","pTempVeryHot");\n\t\t\tpara[0] += rv;\n\t\t\t\n\t\t\tif (context.includes("pWind")) {\n\t\t\t\tcontext.delete("pWind");\n\t\t\t\tpara[0] += " Powerful &winds==pWind& constantly churn in its atmosphere.";\n\t\t\t} \n\n\n\t\t} else if (context.includes("pTerrestrialPlanet")) {\n\t\t\tvar rv = "";\n\n\t\t\tif (context.includes("xExploringSurface")) {\n\t\t\t\t\n\t\t\t\tif (context.includesAll("pOceanPlanetwide","pOceanWater")) {\n\t\t\t\t\tcontext.delete("pOceanPlanetwide","pOceanWater","psLiquidDetected");\n\t\t\t\t\trv += "The &shipName& floats on the &planet-wide==pOceanPlanetwide& &ocean==pOceanWater& covering the surface of &planetName&, ";\n\t\t\t\t} else if (context.includesAll("pOceanPlanetwide","pOceanHydrocarbons")) {\n\t\t\t\t\tcontext.delete("pOceanPlanetwide","pOceanHydrocarbons","psLiquidDetected");\n\t\t\t\t\trv += "The &shipName& floats on the &planet-wide==pOceanPlanetwide& &hydrocarbon ocean==pOceanHydrocarbons& covering the surface of &planetName&, ";\n\t\t\t\t} else if (context.includesAll("pOceanPlanetwide","pOceanAmmonia")) {\n\t\t\t\t\tcontext.delete("pOceanPlanetwide","pOceanAmmonia","psLiquidDetected");\n\t\t\t\t\trv += "The &shipName& floats on the &planet-wide==pOceanPlanetwide& &ammonia ocean==pOceanAmmonia& covering the surface of &planetName&, ";\n\t\t\t\t} else if (context.includes("pCraggy")) {\n\t\t\t\t\tcontext.delete("pCraggy");\n\t\t\t\t\trv += "The &shipName& perches precariously on the &craggy==pCraggy& surface of &planetName&, ";\n\t\t\t\t} else if (context.includes("pDust")) {\n\t\t\t\t\tcontext.delete("pDust");\n\t\t\t\t\trv += "The &shipName&'s landing gear is half-buried in the &dust==pDust& that covers the "+(ocean?"land ":"")+"surface of &planetName&, ";\n\t\t\t\t} else if (context.includes("pSaltCoveredSurface")) {\n\t\t\t\t\tcontext.delete("pSaltCoveredSurface");\n\t\t\t\t\trv += "The &shipName&'s landing gear is half-buried in the &salt==pSaltCoveredSurface& that covers the "+(ocean?"land ":"")+"surface of &planetName&, ";\n\t\t\t\t} else if (context.includes("pCraters")) {\n\t\t\t\t\tcontext.delete("pCraters");\n\t\t\t\t\trv += "The &shipName& rests on the &heavily cratered==pCraters& surface of &planetName&, ";\n\t\t\t\t} else {\n\t\t\t\t\trv += "The &shipName& rests on the surface of &planetName&, ";\n\t\t\t\t}\n\t\t\t} else if (context.includes("xInOrbit")) {\n\t\t\t\trv += "The &shipName& is in orbit of &planetName&, ";\n\t\t\t} else if (context.includes("xInterplanetary")) {\n\t\t\t\trv += "The &shipName& enters orbit of &planetName&, ";\n\t\t\t} else {\n\t\t\t\tconsole.error("Context should have included one of xExploringSurface, xInOrbit, xInterplanetary");\n\t\t\t}\n\t\t\t\n\t\t\t/* Size */\n\t\t\tif (context.includes("pSmall")) { rv += "a small"; }\n\t\t\telse if (context.includes("pLarge")) { rv += "a large"; }\n\t\t\telse { rv += "a medium-sized"; }\n\t\t\t\n\t\t\t/* Temperature */\n\t\t\tif (context.includes("pTempVeryCold")) {\n\t\t\t\trv += ", &very cold==pTempVeryCold&, ";\n\t\t\t} else if (context.includes("pTempCold")) {\n\t\t\t\trv += ", &cold==pTempCold&, ";\n\t\t\t} else if (context.includes("pTempGoldilocks")) {\n\t\t\t\trv += ", &temperate==pTempGoldilocks&, ";\n\t\t\t} else if (context.includes("pTempHot")) {\n\t\t\t\trv += ", &hot==pTempHot&, ";\n\t\t\t} else if (context.includes("pTempVeryHot")) {\n\t\t\t\trv += ", &very hot==pTempVeryHot&, ";\n\t\t\t} else {\n\t\t\t\tconsole.error("Every body should have one of pTempVeryCold, pTempCold, pTempGoldilocks, pTempHot, or pTempVeryHot");\n\t\t\t\trv += "";\n\t\t\t}\n\n\t\t\t/* Composition */\n\t\t\tif (context.includes("pSurfaceRocky")) {\n\t\t\t\trv += " &rocky==pSurfaceRocky&";\n\t\t\t} else if (context.includes("pSurfaceIce")) {\n\t\t\t\trv += " &ice==pSurfaceIce&";\n\t\t\t} else {\n\t\t\t\tconsole.error("Terrestrial planet should have one of pSurfacerocky, pSurfaceIce");\n\t\t\t\trv += "";\n\t\t\t}\n\t\t\t\n\t\t\tif (context.includes("pIsMoon")) {\n\t\t\t\trv += " moon";\n\t\t\t} else {\n\t\t\t\trv += " planet";\n\t\t\t}\n\t\t\t\t\n\t\t\tif (context.includes("pGravLow")) {\n\t\t\t\trv += " with &low gravity==pGravLow&"\n\t\t\t} else if (context.includes("pGravMedium")) {\n\t\t\t\trv += " with &moderate gravity==pGravMedium&"\n\t\t\t} else if (context.includes("pGravHigh")) {\n\t\t\t\trv += " with &high gravity==pGravHigh&"\n\t\t\t} else {\n\t\t\t\tconsole.error("Terrestrial planet should have one of pGravLow, pGravMedium, or pGravHigh");\n\t\t\t\trv += " with gravity";\n\t\t\t}\n\t\t\t\n\t\t\tif (!context.includes("pAtmosNone")) {\n\t\t\t\tif (context.includes("pAtmosThin")) {\n\t\t\t\t\trv += " and a &thin==pAtmosThin&";\n\t\t\t\t} else if (context.includes("pAtmosThick")) {\n\t\t\t\t\trv += " and a &thick==pAtmosThick&";\n\t\t\t\t} else if (context.includes("pAtmosCrushing")) {\n\t\t\t\t\trv += " and a &crushingly dense==pAtmosCrushing&";\n\t\t\t\t} else {\n\t\t\t\t\tconsole.error("Terrestrial planet with atmosphere should have one of pAtmosThin, pAtmosThick, pAtmosCrushing");\n\t\t\t\t\trv += " atmosphere";\n\t\t\t\t}\n\t\t\t\t\n\t\t\t\tif (context.includes("pAtmosCO2")) {\n\t\t\t\t\trv += " &carbon dioxide==pAtmosCO2& atmosphere";\n\t\t\t\t} else if (context.includes("pAtmosNi")) {\n\t\t\t\t\trv += " &nitrogen==pAtmosNi& atmosphere";\n\t\t\t\t} else if (context.includes("pAtmosOxNi")) {\n\t\t\t\t\trv += " &oxygen-nitrogen==pAtmosOxNi& atmosphere";\n\t\t\t\t} else if (context.includes("pAtmosMethaneAmmonia")) {\n\t\t\t\t\trv += " &methane-ammonia==pAtmosMethaneAmmonia& atmosphere";\n\t\t\t\t} else if (context.includes("pAtmosHelium")) {\n\t\t\t\t\trv += " &helium==pAtmosHelium& atmosphere";\n\t\t\t\t} else {\n\t\t\t\t\tconsole.error("Terrestrial planet with atmosphere should have one of pAtmosCO2, pAtmosNi, pAtmosHydrogen, or pAtmosOxNi");\n\t\t\t\t\trv += " atmosphere";\n\t\t\t\t}\n\t\t\t}\n\t\t\trv += ".";\n\t\t\tcontext.delete("pVisited","pTerrestrialPlanet","pSmall","pLarge","pMedium","pTempVeryCold","pTempCold","pTempGoldilocks","pTempHot","pTempVeryHot","pSurfaceRocky","pSurfaceIce","pSurfaceIron","pIsMoon","pGravLow","pGravMedium","pGravHigh","pAtmosThin","pAtmosThick","pAtmosCrushing","pAtmosCO2","pAtmosNi","pAtmosOxNi","pAtmosMethaneAmmonia","pAtmosHelium","pAtmosNone");\n\t\t\tpara[0] += rv;\n\t\t\n\t\t} else if (context.includes("pMinorPlanet")) {\n\t\t\tvar rv = "";\n\n\t\t\tif (context.includes("xExploringSurface")) {\n\t\t\t\trv += "The &shipName& rests on the surface of &planetName&, ";\n\t\t\t} else if (context.includes("xInOrbit")) {\n\t\t\t\trv += "The &shipName& has matched orbit with &planetName&, ";\n\t\t\t} else if (context.includes("xInterplanetary")) {\n\t\t\t\trv += "The &shipName& matches orbit with &planetName&, ";\n\t\t\t} else {\n\t\t\t\tconsole.error("Context should have included one of xExploringSurface, xInOrbit, xInterplanetary");\n\t\t\t}\n\t\t\t\n\t\t\t/* Size */\n\t\t\tif (context.includes("pSmall")) { rv += "a small"; }\n\t\t\telse if (context.includes("pLarge")) { rv += "a large"; }\n\t\t\telse { rv += "a medium-sized"; }\n\n\t\t\t/* Temperature */\n\t\t\tif (context.includes("pTempVeryCold")) {\n\t\t\t\trv += ", &very cold==pTempVeryCold&,";\n\t\t\t} else if (context.includes("pTempCold")) {\n\t\t\t\trv += ", &cold==pTempCold&,";\n\t\t\t} else if (context.includes("pTempGoldilocks")) {\n\t\t\t\trv += ", &temperate==pTempGoldilocks&,";\n\t\t\t} else if (context.includes("pTempHot")) {\n\t\t\t\trv += ", &hot==pTempHot&,";\n\t\t\t} else if (context.includes("pTempVeryHot")) {\n\t\t\t\trv += ", &very hot==pTempVeryHot&,";\n\t\t\t} else {\n\t\t\t\tconsole.error("Every body should have one of pTempVeryCold, pTempCold, pTempGoldilocks, pTempHot, or pTempVeryHot");\n\t\t\t\trv += "";\n\t\t\t}\n\t\t\t\n\t\t\tvar surface = "";\n\t\t\tif (context.includes("pSurfaceRocky")) {\n\t\t\t\tsurface += "&rocky==pSurfaceRocky&";\n\t\t\t} else if (context.includes("pSurfaceIce")) {\n\t\t\t\tsurface += "&ice==pSurfaceIce&";\n\t\t\t} else {\n\t\t\t\tconsole.error("Minor planet should have one of pSurfacerocky, pSurfaceIce");\n\t\t\t\tsurface += "";\n\t\t\t}\t\t\t\n\t\t\tif (context.includes("pIsMoon")) {\n\t\t\t\trv += " minor "+surface+" moon";\n\t\t\t} else if (context.includes("pSurfaceIce")) {\n\t\t\t\trv += " comet";\n\t\t\t} else {\n\t\t\t\trv += " " + surface + " asteroid";\n\t\t\t}\n\t\t\tif (context.includes("pEccentricOrbit")) {\n\t\t\t\trv += " on a highly &eccentric orbit==pEccentricOrbit&";\n\t\t\t}\n\t\t\trv += ".";\n\t\t\t\n\t\t\t/* Ignore temp for minor bodies */\n\t\t\tcontext.delete("pVisited","pMinorPlanet","pSurfaceRocky","pSurfaceIce","pIsMoon","pEccentricOrbit","pAtmosNone","pSmall","pMedium","pLarge","pTempVeryCold","pTempCold","pTempGoldilocks","pTempHot","pTempVeryHot","pGravLow","pGravMedium","pGravHigh","pGravNegligible");\n\t\t\t\n\t\t\tpara[0] += rv;\n\t\t\t\n\t\t} else if (context.includesAny("pWormhole")) {\n\t\t\tcontext.delete("pWormhole","pVisited");\n\t\t\tif (context.includes("xInterplanetary")) {\n\t\t\t\tpara[0] += "The &shipName& approaches the &Gate==pWormhole& leading back to the Sol system.";\n\t\t\t} else {\n\t\t\t\tpara[0] += "The &shipName& is in orbit of the &Gate==pWormhole& leading back to the Sol system.";\n\t\t\t}\n\t\t\t\n\t\t}\n\n\t\t\t/* EXPLORED TRAITS--PHYSICAL */\n\t\tif (context.includes("psExPlanetCollision")) {\n\t\t\tcontext.delete("psExPlanetCollision","pBelt","psExPlanetBelt","pUnusuallyDense");\n\t\t\tpara[0] += " The belt is the remains of a planet that was shattered by a catastrophic &collision==psExPlanetCollision&.";\n\t\t}\n\t\tif (context.includes("psExPlanetRocheLimit")) {\n\t\t\tcontext.delete("psExPlanetRocheLimit","pBelt","psExPlanetBelt","pUnusuallyDense");\n\t\t\tpara[0] += " The belt is the remains of a planet that migrated too close to its star and was torn apart by &tidal forces==psExPlanetRocheLimit&.";\n\t\t}\n\t\tif (context.includes("psExPlanetBelt")) {\n\t\t\tcontext.delete("pBelt","psExPlanetBelt","pUnusuallyDense");\n\t\t\tpara[0] += " This belt is &the remains of a planet==psExPlanetBelt&, which broke up for unknown reasons.";\n\t\t}\n\n\t\tif (context.includes("psNewlyFormed")) {\n\t\t\tcontext.delete("psNewlyFormed","pUnstable");\n\t\t\tpara[0] += " This is a young &planetNoun&, still &unstable==pUnstable& from the heat of its &formation==psNewlyFormed&.";\n\t\t}\n\n\t\tif (context.includes("psRadiationSeparatesOxygen")) {\n\t\t\tcontext.delete("psRadiationSeparatesOxygen");\n\t\t\tpara[0] += " The oxygen in the atmosphere was created by &radiation separating oxygen==psRadiationSeparatesOxygen& from the surface of the water.";\n\t\t}\n\t\t\n\t\t/* Water ocean */\n\t\tif (context.includes("psOceanPrecipitation")) {\n\t\t\tcontext.delete("psOceanPrecipitation","pOceanWater","pOceanPlanetwide","psLiquidDetected");\n\t\t\tpara[0] += " It has a "+(planetTraits.includes("pOceanPlanetwide")?"&planetNoun&-wide":"")+" liquid water ocean created by &precipitation==psOceanPrecipitation& of water vapour out of the atmosphere.";\n\t\t}\n\t\tif (context.includes("psOceanRecentComet")) {\n\t\t\tcontext.delete("psOceanRecentComet","pOceanWater","psLiquidDetected","pOceanPlanetwide");\n\t\t\tif (planetTraits.includes("pOceanPlanetwide")) {\n\t\t\t\tpara[0] += " The &planetNoun&-wide ocean is the remnant of one or more large &comets==psOceanRecentComet& that recently impacted the surface.";\n\t\t\t} else {\n\t\t\t\tpara[0] += " The &planetNoun&'s oceans are the remnants of one or more &comets==psOceanRecentComet& that recently impacted the surface.";\n\t\t\t}\n\t\t}\n\t\tif (context.includes("psOceanMeltedIceSurface")) {\n\t\t\tcontext.delete("psOceanMeltedIceSurface","pOceanWater","psLiquidDetected","pOceanPlanetwide");\n\t\t\tif (planetTraits.includes("pOceanPlanetwide")) {\n\t\t\t\tpara[0] += " It was once an ice &planetNoun&, whose ice &melted==psOceanMeltedIceSurface& as it migrated inwards or as the star's temperature rose.";\n\t\t\t} else {\n\t\t\t\tpara[0] += " It was once a cold &planetNoun& with deposits of ice on its surface, but as its temperature rose these &melted==psOceanMeltedIceSurface& to form its current oceans.";\n\t\t\t}\n\t\t}\n\n\t\t/* Lava ocean */\n\t\tif (context.includesAll("psLavaOceanMoltenSurface")) {\n\t\t\tcontext.delete("psLavaOceanMoltenSurface","pOceanLava","pOceanPlanetwide","psLiquidDetected");\n\t\t\tpara[0] += " It is so hot that its surface is covered by "+(planetTraits.includes("pOceanPlanetwide")?"a &planetNoun&-wide ocean":"oceans")+" of &molten rock==psLavaOceanMoltenSurface&.";\n\t\t}\n\t\tif (context.includesAll("psLavaOceanUpwelling")) {\n\t\t\tcontext.delete("psLavaOceanUpwelling","pOceanLava","pOceanPlanetwide","psLiquidDetected");\n\t\t\tpara[0] += " &Upwellings of magma==psLavaOceanUpwelling& from its hot molten core create "+(planetTraits.includes("pOceanPlanetwide")?"a &planetNoun&-wide ocean":"oceans")+" of lava on the surface.";\n\t\t}\n\t\tif (context.includesAll("psLavaOceanVolcanoes")) {\n\t\t\tcontext.delete("psLavaOceanVolcanoes","pOceanLava","pOceanPlanetwide","psLiquidDetected");\n\t\t\tpara[0] += " &Lava flows==psLavaOceanVolcanoes& from the &planetNoun&'s countless volcanoes create "+(planetTraits.includes("pOceanPlanetwide")?"a &planetNoun&-wide ocean":"oceans")+" of molten rock on its surface.";\n\t\t}\n\t\tif (context.includesAll("psLavaOceanCollision")) {\n\t\t\tcontext.delete("psLavaOceanCollision","pOceanLava","pOceanPlanetwide","psLiquidDetected");\n\t\t\tpara[0] += " A &recent collision==psLavaOceanCollision& with another body has left "+(planetTraits.includes("pOceanPlanetwide")?"its entire":"parts of its")+" surface molten.";\n\t\t}\n\t\t\n\t\t/* Hydrocarbon ocean */\n\t\tif (context.includesAll("psHydrocarbonPrecipitation")) {\n\t\t\tcontext.delete("psHydrocarbonPrecipitation","pOceanHydrocarbons","pOceanPlanetwide","psLiquidDetected");\n\t\t\tpara[0] += " &Precipitation of hydrocarbon compounds==psHydrocarbonPrecipitation& from the atmosphere has created "+(planetTraits.includes("pOceanPlanetwide")?"a &planetNoun&-wide ocean":"oceans")+" of methane and ethane.";\n\t\t}\n\t\t/* Ammonia ocean */\n\t\tif (context.includesAll("psAmmoniaPrecipitation")) {\n\t\t\tcontext.delete("psAmmoniaPrecipitation","pOceanAmmonia","pOceanPlanetwide","psLiquidDetected");\n\t\t\tpara[0] += " &Precipitation==psAmmoniaPrecipitation& from the atmosphere has created "+(planetTraits.includes("pOceanPlanetwide")?"a &planetNoun&-wide ocean":"oceans")+" of ammonia on the surface.";\n\t\t}\n\t\t\n\t\t/* Various physical secrets */\n\t\tif (context.includesAll("psCoolingCaves","psErosionCaves")) {\n\t\t\tcontext.delete("pCaves","psCoolingCaves","psErosionCaves");\n\t\t\tpara[0] += " Aeons of &liquid erosion==psErosionCaves& and &cooling==psCoolingCaves& have left its crust riddled with caves.";\n\t\t} \n\t\tif (context.includes("psErosionCaves")) {\n\t\t\tcontext.delete("pCaves","psErosionCaves");\n\t\t\tpara[0] += " Aeons of &liquid erosion==psErosionCaves& have left its crust riddled with caves.";\n\t\t} \n\t\tif (context.includes("psCoolingCaves")) {\n\t\t\tcontext.delete("pCaves","psCoolingCaves");\n\t\t\tpara[0] += " It was once much hotter, and &cooling==psCoolingCaves& has caused its surface to contract and left it riddled with caves.";\n\t\t}\n\t\tif (context.includes("psMeteoriteImpacts")) {\n\t\t\tcontext.delete("pDust","psMeteoriteImpacts");\n\t\t\tpara[0] += " Aeons of &meteorite bombardments==psMeteoriteImpacts& have ground its surface to &dust==pDust&.";\n\t\t} \n\t\tif (context.includes("psExtrasolarCapture")) {\n\t\t\tcontext.delete("pEccentricOrbit","psExtrasolarCapture");\n\t\t\tpara[0] += " It was an &interstellar rogue planet==psExtrasolarCapture& captured by the star's gravity.";\n\t\t} \n\n\t\tif (context.includesAll("psThinCrust","psGasGiantCore")) {\n\t\t\tcontext.delete("psThinCrust","psGasGiantCore","pUnusuallyDense");\n\t\t\tpara[0] += " It has &almost no rocky crust==psThinCrust& over its enormous metal core, which was originally the heart of a &gas giant==psGasGiantCore&.";\n\t\t} \n\t\tif (context.includesAll("psThinCrust")) {\n\t\t\tcontext.delete("psThinCrust","pUnusuallyDense");\n\t\t\tpara[0] += " It has &almost no rocky crust==psThinCrust& over its enormous metal core.";\n\t\t} \n\t\tif (context.includesAll("psGasGiantCore")) {\n\t\t\tcontext.delete("psGasGiantCore","pUnusuallyDense");\n\t\t\tpara[0] += " It was once a gas giant, but its atmosphere was stripped away until all that was left was a &dense core==psGasGiantCore&.";\n\t\t} \n\t\tif (context.includesAll("psNoCore")) {\n\t\t\tcontext.delete("psNoCore","pUnusuallyLight");\n\t\t\tpara[0] += " It is composed entirely of rock with &no metallic core==psNoCore&.";\n\t\t} \n\n\t\tif (context.includesAll("psPlanetaryCoreFragment")) {\n\t\t\tcontext.delete("psPlanetaryCoreFragment","pUnusuallyDense");\n\t\t\tpara[0] += " It is a &fragment of the core==psPlanetaryCoreFragment& of a terrestrial planet that shattered due to a primordial collision.";\n\t\t} \n\t\tif (context.includesAll("psStrippedPlanetoid")) {\n\t\t\tcontext.delete("psStrippedPlanetoid","pUnusuallyDense");\n\t\t\tpara[0] += " It is all that remains of a larger planetoid that passed close to a star and had all but the densest material &stripped away==psStrippedPlanetoid&.";\n\t\t} \n\t\tif (context.includesAll("psPlanetaryCrustFragment")) {\n\t\t\tcontext.delete("psPlanetaryCrustFragment","pUnusuallyLight");\n\t\t\tpara[0] += " It is a &fragment of the crust==psPlanetaryCrustFragment& of a terrestrial planet that shattered due to a primordial collision.";\n\t\t} \n\t\tif (context.includesAll("psOutgassingHoneycomb")) {\n\t\t\tcontext.delete("psOutgassingHoneycomb","pUnusuallyLight");\n\t\t\tpara[0] += " It was once riddled with bubbles of ice or other volatiles, which gently outgassed, leaving it with a &foamy, pumice-like consistency==psOutgassingHoneycomb&.";\n\t\t} \n\n\t\t// if (context.includesAll("psWaterWorld")) {\n\t\t\t// context.delete("psWaterWorld","pUnusuallyLight","pOceanPlanetwide","pOceanWater");\n\t\t\t// para[0] += " It is composed &entirely of water==psWaterWorld&, with no solid surface beneath its endless ocean.";\n\t\t// } \n\t\tif (context.includesAll("psSubsurfaceOceanWater")) {\n\t\t\tcontext.delete("psSubsurfaceOceanWater","pUnusuallyLight","psLiquidDetected");\n\t\t\tpara[0] += " Beneath its icy crust is a &subsurface ocean==psSubsurfaceOceanWater& of liquid water";\n\t\t\t\n\t\t\tif (context.includes("psMoltenCore")) {\n\t\t\t\tpara[0] += ", kept liquid by the heat from its &molten core==psMoltenCore&";\n\t\t\t\tif (context.includes("pUnstable")) {\n\t\t\t\t\tpara[0] += ", which also makes its surface &unstable==pUnstable&";\n\t\t\t\t}\n\t\t\t\tcontext.delete("psMoltenCore","pUnstable");\n\t\t\t} else if (context.includes("psTidalFlexing")) {\n\t\t\t\tpara[0] += ", kept liquid by &tidal flexing==psTidalFlexing& from the &planetNoun&'s orbit around "+TextUtils.parentName();\n\t\t\t\tif (context.includes("pUnstable")) {\n\t\t\t\t\tpara[0] += ", which also makes its surface &unstable==pUnstable&";\n\t\t\t\t}\n\t\t\t\tcontext.delete("psTidalFlexing","pUnstable");\n\t\t\t}\n\t\t\tpara[0] += ".";\n\t\t\tif (context.includesAll("pCryoVolcanoes")) {\n\t\t\t\tcontext.delete("pCryoVolcanoes");\n\t\t\t\tif (context.includes("psTidalFlexing")) {\n\t\t\t\t\tcontext.delete("psTidalFlexing");\n\t\t\t\t\tpara[0] += " &Tidal flexing==psTidalFlexing& from &parentName& frequently causes the crust to crack, allowing the ocean water to erupt in &cryovolcanoes==pCryoVolcanoes&.";\n\t\t\t\t} else {\n\t\t\t\t\tpara[0] += " The subsurface water frequently erupts from the surface in the form of &cryovolcanoes==pCryoVolcanoes&.";\n\t\t\t\t}\n\t\t\t}\n\t\t}\n\n\t\tif (context.includesAll("psPrimordialCollision")) {\n\t\t\tcontext.delete("pEccentricOrbit","psPrimordialCollision");\n\t\t\tpara[0] += " Its eccentric orbit is the result of a &massive collision==psPrimordialCollision& with another body in the distant past.";\n\t\t}\n\t\tif (context.includes("psCometaryCloudBody")) {\n\t\t\tcontext.delete("pEccentricOrbit","psCometaryCloudBody");\n\t\t\tpara[0] += " It is an icy body that has migrated inward from the system's &outer cometary cloud==psCometaryCloudBody&.";\n\t\t} \n\t\tif (context.includesAll("psAncientMeteorCraters","psRecentMeteorCraters")) {\n\t\t\tcontext.delete("pCraters","psAncientMeteorCraters","psRecentMeteorCraters");\n\t\t\tpara[0] += " Its surface bears the scars of &millions of years of impact craters==psAncientMeteorCraters& dating back to the system's formation, as well as a more recent &heavy bombardment==psRecentMeteorCraters&.";\n\t\t}\n\t\tif (context.includesAll("psAncientMeteorCraters")) {\n\t\t\tcontext.delete("pCraters","psAncientMeteorCraters");\n\t\t\tpara[0] += " Its primordial surface bears the scars of &millions of years of impact craters==psAncientMeteorCraters& dating back to the system's formation.";\n\t\t}\n\t\tif (context.includesAll("psRecentMeteorCraters")) {\n\t\t\tcontext.delete("pCraters","psRecentMeteorCraters");\n\t\t\tpara[0] += " It suffered a &heavy meteor bombardment==psRecentMeteorCraters& geologically recently, which has its surface covered in impact craters.";\n\t\t}\n\t\tif (context.includesAll("psExtinctVolcanoCraters")) {\n\t\t\tcontext.delete("pCraters","psExtinctVolcanoCraters");\n\t\t\tpara[0] += " It was once extremely volcanically active, and &craters of extinct volcanoes==psExtinctVolcanoCraters& still cover its entire surface.";\n\t\t}\n\t\tif (context.includes("psRegularGeology")) {\n\t\t\tcontext.delete("pPossibleStructures","psRegularGeology");\n\t\t\tpara[0] += " Geological processes have formed ®ular features==psRegularGeology& on its surface.";\n\t\t} \n\t\tif (context.includes("psCrystalForests")) {\n\t\t\tcontext.delete("pPossibleVegetation","psCrystalForests");\n\t\t\tpara[0] += " Geological processes have formed immense &crystalline forests==psCrystalForests& on the surface.";\n\t\t} \n\t\tif (context.includes("psCrystalPlanet")) {\n\t\t\tcontext.delete("psCrystalPlanet","pRegularInternalStructure");\n\t\t\tpara[0] += " A delicate balance of temperature and density during its formation meant that it formed as a &single immense crystal==psCrystalPlanet&.";\n\t\t} \n\t\tif (context.includes("psGeologicalColouring")) {\n\t\t\tcontext.delete("pDiscolouredSurfaceAreas","psGeologicalColouring");\n\t\t\tpara[0] += " Geological processes have brought different materials to the surface, resulting in diverse swathes of &colour==psGeologicalColouring& across the &planetNoun&'s "+(ocean?"land masses":"face")+".";\n\t\t} \n\t\tif (context.includes("psRadioactiveMinerals")) {\n\t\t\tcontext.delete("pRadiationZones","psRadioactiveMinerals");\n\t\t\tpara[0] += " &Radioactive minerals==psRadioactiveMinerals& in the crust make parts of its surface highly radioactive.";\n\t\t} \n\t\tif (context.includes("psBrokenMoon")) {\n\t\t\tcontext.delete("pRingSystem","psBrokenMoon");\n\t\t\tpara[0] += " A large moon wandered too close to the "+TextUtils.planetNoun()+" within the last few thousand years, and &broke up==psBrokenMoon& to form a spectacular ring system.";\n\t\t} \n\t\tif (context.includes("psFailedMoon")) {\n\t\t\tcontext.delete("pRingSystem","psFailedMoon");\n\t\t\tpara[0] += " It is surrounded by a ring of &primordial asteroids==psFailedMoon& that never managed to coalesce into a moon.";\n\t\t} \n\t\tif (context.includes("psCapturedAsteroids")) {\n\t\t\tcontext.delete("pRingSystem","psCapturedAsteroids");\n\t\t\tpara[0] += " It is surrounded by a ring of &captured asteroids==psCapturedAsteroids&.";\n\t\t} \n\t\tif (context.includes("psEvaporatedOceans")) {\n\t\t\tcontext.delete("pSaltCoveredSurface","psEvaporatedOceans");\n\t\t\tif (planetTraits.includes("psOceanWater")) {\n\t\t\t\tpara[0] += " The ocean once covered much more of the &planetNoun&'s, but most of it &evaporated==psEvaporatedOceans&, leaving swathes of the surface covered in salt.";\n\t\t\t} else {\n\t\t\t\tpara[0] += " An &evaporated primordial ocean==psEvaporatedOceans& has left the surface covered in salt.";\n\t\t\t}\n\t\t} \n\t\tif (context.includesAll("psMoltenCore","pUnstable")) {\n\t\t\tcontext.delete("pUnstable","psMoltenCore");\n\t\t\tpara[0] += " It has a large &molten core==psMoltenCore& whose heat makes the surface geologically &unstable==pUnstable&.";\n\t\t}\n\t\tif (context.includesAll("psTidalFlexing","pUnstable","pCryoVolcanoes")) {\n\t\t\tcontext.delete("pCryoVolcanoes","pUnstable","psTidalFlexing");\n\t\t\tpara[0] += " &Tidal flexing==psTidalFlexing& makes the ice &unstable==pUnstable& and causes it to erupt into cryovolcanoes.";\n\t\t} \n\t\tif (context.includesAll("psTidalFlexing","pUnstable")) {\n\t\t\tcontext.delete("pUnstable","psTidalFlexing");\n\t\t\tpara[0] += " &Tidal flexing==psTidalFlexing& constantly &stretches and compresses==pUnstable& the planet.";\n\t\t} \n\t\tif (context.includesAll("psTidalFlexing","pCryoVolcanoes")) {\n\t\t\tcontext.delete("pCryoVolcanoes","psTidalFlexing");\n\t\t\tpara[0] += " &Tidal flexing==psTidalFlexing& causes the ice to melt along fault lines and erupt as cryovolcanoes.";\n\t\t} \n\t\tif (context.includesAll("psTidalFlexing")) {\n\t\t\tcontext.delete("psTidalFlexing");\n\t\t\tpara[0] += " &Tidal flexing==psTidalFlexing& constantly stretches and compresses the &planetNoun&.";\n\t\t} \n\t\tif (context.includes("psRadioactiveHeating")) {\n\t\t\tcontext.delete("pUnstable","psRadioactiveHeating");\n\t\t\tpara[0] += " &Radioactive material==psRadioactiveHeating& in the crust generates heat that makes the surface &unstable==pUnstable&.";\n\t\t}\n\t\tif (context.includesAll("psRollingRocks")) {\n\t\t\tcontext.delete("psRollingRocks","pMovingLandObjects");\n\t\t\tpara[0] += " The &planetNoun&'s geological activity sends &boulders==psRollingRocks& constantly rolling across its surface.";\n\t\t}\n\t\tif (context.includesAll("psWaterVapourClouds")) {\n\t\t\tcontext.delete("psWaterVapourClouds","pCloudCover");\n\t\t\tif (context.includes("xExploringSurface")) {\n\t\t\t\tpara[0] += " A &planetNoun&-wide blanket of &water vapour clouds==psWaterVapourClouds& fills the entire sky.";\n\t\t\t} else if (planetTraits.includes("pGasGiant")) {\n\t\t\t\tpara[0] += " A &planetNoun&-wide blanket of &water vapour clouds==psWaterVapourClouds& covers its face.";\n\t\t\t} else {\n\t\t\t\tpara[0] += " A &planetNoun&-wide blanket of &water vapour clouds==psWaterVapourClouds& hides its surface.";\n\t\t\t}\n\t\t}\n\t\tif (context.includesAll("psGemstoneRain","psGlassRain")) {\n\t\t\tcontext.delete("psGemstoneRain","psGlassRain","pCloudCover");\n\t\t\tpara[0] += " The intense heat causes clouds of silicates and corundum to form in the atmosphere, which periodically rain &glass& and &gemstones==psGemstoneRain&.";\n\t\t}\n\t\tif (context.includesAll("psGemstoneRain")) {\n\t\t\tcontext.delete("psGemstoneRain","pCloudCover");\n\t\t\tpara[0] += " The intense heat causes clouds of corundum to form in the atmosphere, which periodically &rain rubies and sapphires==psGemstoneRain&.";\n\t\t}\n\t\tif (context.includesAll("psGlassRain")) {\n\t\t\tcontext.delete("psGlassRain","pCloudCover");\n\t\t\tpara[0] += " The intense heat causes clouds of silicates to form in the atmosphere, which &rain molten glass==psGlassRain&.";\n\t\t}\n\t\t\n\t\tif (context.includesAll("psTectonicVolcanoes")) {\n\t\t\tcontext.delete("psTectonicVolcanoes","pVolcanoes");\n\t\t\tpara[0] += " &Tectonic activity==psTectonicVolcanoes& on the &planetNoun& gives rise to strings of &volcanoes==pVolcanoes& along the boundaries between the plates.";\n\t\t}\n\t\tif (context.includesAll("psConstantResurfacing")) {\n\t\t\tcontext.delete("psConstantResurfacing","pVolcanoes");\n\t\t\tpara[0] += " Countless &volcanoes==pVolcanoes& cover the &planetNoun&, &constantly burying its surface==psConstantResurfacing& under new layers of molten rock.";\n\t\t}\n\t\tif (context.includesAll("psVolcanicDustClouds")) {\n\t\t\tcontext.delete("psVolcanicDustClouds","pCloudCover");\n\t\t\tif (context.includes("xExploringSurface")) {\n\t\t\t\tpara[0] += " &Clouds of volcanic ash==psVolcanicDustClouds& shroud the surface in perpetual night";\n\t\t\t} else {\n\t\t\t\tpara[0] += " &Clouds of volcanic ash==psVolcanicDustClouds& hide the surface from view";\n\t\t\t}\n\t\t\tif (context.includesAll("psVolcanicSurfaceDust")) {\n\t\t\t\tcontext.delete("psVolcanicSurfaceDust","pDust");\n\t\t\t\tpara[0] += ", and &volcanic ash==psVolcanicSurfaceDust& lies thick on the ground.";\n\t\t\t} else if (context.includesAll("psVolcanicSulphurSurface")) {\n\t\t\tcontext.delete("psVolcanicSulphurSurface","pSulphurCoveredSurface");\n\t\t\tpara[0] += ", and a dusting of &volcanic sulphur==psVolcanicSulphurSurface& covers the ground.";\n\t\t}\n\t\t}\n\t\tif (context.includesAll("psVolcanicSurfaceDust")) {\n\t\t\tcontext.delete("psVolcanicSurfaceDust","pDust");\n\t\t\tpara[0] += " The entire "+(ocean?"land ":"")+"surface is covered in a fine &dust==pDust& of &volcanic ash==psVolcanicSurfaceDust&.";\n\t\t}\n\t\tif (context.includesAll("psVolcanicSulphurSurface")) {\n\t\t\tcontext.delete("psVolcanicSulphurSurface","pSulphurCoveredSurface");\n\t\t\tpara[0] += " &Volcanic activity==psVolcanicSulphurSurface& has left the "+(ocean?"land ":"")+"surface covered in a dusting of sulphur.";\n\t\t}\n\t\t\n\t\tif (context.includesAll("psFrozenNitrogenAtmosphere")) {\n\t\t\tcontext.delete("psFrozenNitrogenAtmosphere","pNitrogenCoveredSurface");\n\t\t\tpara[0] += " The &planetNoun& once had a nitrogen atmosphere, but it long ago &froze out==psFrozenNitrogenAtmosphere& to form a crust of solid nitrogen.";\n\t\t}\n\n\t\tif (context.includesAll("psEjectaRings")) {\n\t\t\tcontext.delete("psEjectaRings","pRingSystem");\n\t\t\tpara[0] += " The &planetNoun& is surrounded by rings composed of the &volcanic ejecta==psEjectaRings&.";\n\t\t}\n\t\tif (context.includesAll("psDiamondDust")) {\n\t\t\tcontext.delete("psDiamondDust","pDust");\n\t\t\tpara[0] += " The &planetNoun& is composed largely of carbon, and a glimmering &dust==pDust& of &diamonds==psDiamondDust& covers its "+(ocean?"land masses":"surface")+".";\n\t\t}\n\n\t\tif (context.includesAll("psBoiledOceansGreenhouse")) {\n\t\t\tcontext.delete("psBoiledOceansGreenhouse","pRunawayGreenhouseEffect");\n\t\t\tif (planetTraits.includes("pOceanWater")) {\n\t\t\t\tpara[0] += " Much of its surface water &boiled away==psBoiledOceansGreenhouse& long ago, causing a runaway greenhouse effect. The remaining oceans are kept liquid by the immense atmospheric pressure.";\n\t\t\t} else {\n\t\t\t\tpara[0] += " It was once a temperate planet with liquid water oceans, but long ago they &boiled away==psBoiledOceansGreenhouse& and the atmospheric water vapour caused a runaway greenhouse effect.";\n\t\t\t}\n\t\t}\n\t\tif (context.includesAll("psBrownDwarf")) {\n\t\t\tcontext.delete("psBrownDwarf","pGlowingGasGiant");\n\t\t\tpara[0] += " It is a &brown dwarf==psBrownDwarf&, not massive enough to ignite as a true star but smouldering with limited deuterium fusion.";\n\t\t}\n\n\t\tif (context.includesAll("psRegularAsteroid")) {\n\t\t\tcontext.delete("psRegularAsteroid","pOrbitalStructure");\n\t\t\tpara[0] += " An unusually ®ular asteroid==psRegularAsteroid& orbits the &planetNoun&.";\n\t\t}\n\t\t\n\n\n\t\t\t/* LIFE SUMMARY */\n\t\t/*if (context.includesAny("psLifeSurface","psLifeOcean","psLifeSubsurfaceOcean","psLifeAtmosphere","psLifeUnderground")) {*/\n\t\t/*if (context.includesAny("psLifeAnimals","psLifePlants","psLifeMicrobes")) {*/\n\t\t\n\t\tvar ex = planetTraits.includes("plExtinct");\n\t\t\n\t\tif (context.includes("psLife")) {\n\t\t\tlet lifeAreas = [];\n\t\t\tif (context.includes("psLifeSurface")) { lifeAreas.push("&surface==psLifeSurface&"); }\n\t\t\tif (context.includes("psLifeOcean")) { lifeAreas.push("&ocean==psLifeOcean&"); }\n\t\t\tif (context.includes("psLifeSubsurfaceOcean")) { lifeAreas.push("&subsurface ocean==psLifeSubsurfaceOcean&"); }\n\t\t\tif (context.includes("psLifeAtmosphere")) { lifeAreas.push("&atmosphere==psLifeAtmosphere&"); }\n\t\t\tif (context.includes("psLifeUnderground")) { lifeAreas.push("&deep crust==psLifeUnderground&"); }\n\t\t\tcontext.delete("psLife","psLifeDetected","psExtinctLifeDetected","psLifeSurface","psLifeOcean","psLifeSubsurfaceOcean","psLifeAtmosphere","psLifeUnderground","psChemicalLifeSigns","pPossibleChemicalLifeSigns");\n\t\t\t\n\t\t\tif (context.includesAny("psLifeAnimals","psLifePlants","psLifeMicrobes")) {\n\t\t\t\tif (lifeAreas == 0) {\n\t\t\t\t\tpara[1] +=" The &planetNoun& "+(ex?"once supported":"supports")+"";\n\t\t\t\t} else if (lifeAreas.length == 1) {\n\t\t\t\t\tpara[1] += " The &planetNoun&'s "+lifeAreas[0]+" "+(ex?"once supported":"supports")+"";\n\t\t\t\t} else if (lifeAreas.length == 2) {\n\t\t\t\t\tpara[1] += " The &planetNoun&'s "+lifeAreas[0]+" and "+lifeAreas[1]+" "+(ex?"once supported":"supports")+"";\n\t\t\t\t} else {\n\t\t\t\t\tpara[1] += " The &planetNoun&'s ";\n\t\t\t\t\tfor (let n = 0; n < lifeAreas.length-2; n++) {\n\t\t\t\t\t\tpara[1] += lifeAreas[n] + ", ";\n\t\t\t\t\t}\n\t\t\t\t\tpara[1] += " and "+lifeAreas.last()+" "+(ex?"once supported":"supports")+"";\n\t\t\t\t}\n\t\t\t\t\n\t\t\t\tpara[1] += " an ecosystem of";\n\t\t\t\t\n\t\t\t\tif (context.includes("psLifeChemistryCarbon")) {\n\t\t\t\t\tcontext.delete("psLifeChemistryCarbon");\n\t\t\t\t\tpara[1] += " &carbon-based==psLifeChemistryCarbon&";\n\t\t\t\t}\n\t\t\t\tif (context.includes("psLifeChemistryHydrocarbon")) {\n\t\t\t\t\tcontext.delete("psLifeChemistryHydrocarbon");\n\t\t\t\t\tpara[1] += " &hydrocarbon-based==psLifeChemistryHydrocarbon&";\n\t\t\t\t}\n\t\t\t\tif (context.includes("psLifeChemistrySilicon")) {\n\t\t\t\t\tcontext.delete("psLifeChemistrySilicon");\n\t\t\t\t\tpara[1] += " &silicon-based==psLifeChemistrySilicon&";\n\t\t\t\t}\n\t\t\t\tif (context.includes("psLifeChemistryPlasma")) {\n\t\t\t\t\tcontext.delete("psLifeChemistryPlasma");\n\t\t\t\t\tpara[1] += " &plasma-based==psLifeChemistryPlasma&";\n\t\t\t\t}\n\t\t\t\t\n\t\t\t\tif (context.includesAll("psLifeAnimals")) {\n\t\t\t\t\tcontext.delete("psLifeAnimals","psLifePlants","psLifeMicrobes");\n\t\t\t\t\tpara[1] += " &plant==psLifePlants& and &animal==psLifeAnimals& &life==psLife&.";\n\t\t\t\t} else if (context.includes("psLifePlants")) {\n\t\t\t\t\tcontext.delete("psLifePlants","psLifeMicrobes");\n\t\t\t\t\tpara[1] += " &plant==psLifePlants& &life==psLife&.";\n\t\t\t\t} else if (context.includes("psLifeMicrobes")) {\n\t\t\t\t\tcontext.delete("psLifeMicrobes");\n\t\t\t\t\tpara[1] += " µbial==psLifeMicrobes& &life==psLife&.";\n\t\t\t\t}\n\t\t\t} else {\n\t\t\t\tpara[1] += " The &shipName& has detected &life==psLife&";\n\t\t\t\tif (lifeAreas == 0) {\n\t\t\t\t\tpara[1] +=" on this &planetNoun&.";\n\t\t\t\t} else if (lifeAreas.length == 1) {\n\t\t\t\t\tpara[1] += " in this &planetNoun&'s "+lifeAreas[0]+".";\n\t\t\t\t} else if (lifeAreas.length == 2) {\n\t\t\t\t\tpara[1] += " in the &planetNoun&'s "+lifeAreas[0]+" and "+lifeAreas[1]+".";\n\t\t\t\t} else {\n\t\t\t\t\tpara[1] += " in the &planetNoun&'s ";\n\t\t\t\t\tfor (let n = 0; n < lifeAreas.length-2; n++) {\n\t\t\t\t\t\tpara[1] += lifeAreas[n] + ", ";\n\t\t\t\t\t}\n\t\t\t\t\tpara[1] += " and "+lifeAreas.last()+".";\n\t\t\t\t}\n\t\t\t}\n\t\t}\n\t\t\n\t\t\t/* Specific life form types - moved to function so it can be called from both here and in discovery description when exploring life */\n\t\tpara[1] += PlanetDescription.describeLifeForms(context,planetTraits);\n\t\t\n\t\t\t/* VISIBLE-FROM-ORBIT TRAITS THAT TURNED OUT TO BE LIFE */\n\t\tif (context.includes("psGlowingPlasmaLife")) {\n\t\t\tcontext.delete("pGlowingGasGiant","psGlowingPlasmaLife","psLifeDetected","psExtinctLifeDetected");\n\t\t\tpara[1] += " An ecosystem of &energetic plasma life-forms==psGlowingPlasmaLife& makes the planet's deep atmosphere glow.";\n\t\t}\n\t\tif (context.includes("psMicrobesMakeOxygen")) {\n\t\t\tcontext.delete("psMicrobesMakeOxygen","psLifeMicrobes","psLifeDetected","psExtinctLifeDetected");\n\t\t\tpara[1] += " &Photosynthesising organisms==psMicrobesMakeOxygen& produced the oxygen in the planet's atmosphere.";\n\t\t} \n\t\tif (context.includes("psMicroorganismDust")) {\n\t\t\tcontext.delete("pDust","psMicroorganismDust","psLifeMicrobes","psLifeDetected","psExtinctLifeDetected");\n\t\t\tpara[1] += " &Lithovoric microbes==psMicroorganismDust& have broken the top layer of the crust into a fine &dust==pDust&.";\n\t\t} \n\t\tif (context.includesAll("psInternalMicrobeStructure")) {\n\t\t\tcontext.delete("psInternalMicrobeStructure","pRegularInternalStructure","psLifeDetected","psExtinctLifeDetected");\n\t\t\tpara[1] += " Colonies of microbes in the deep crust "+(ex?"":"have")+" created ®ular structures==psInternalMicrobeStructure& "+(ex?"still":"")+" detectable from the surface.";\n\t\t}\n\t\tif (context.includesAll("psColourfulInternalMicrobes")) {\n\t\t\tcontext.delete("psColourfulInternalMicrobes","pDiscolouredSurfaceAreas","psLifeDetected","psExtinctLifeDetected");\n\t\t\tpara[1] += " A few discoloured areas on the surface betray the presence of extensive µbe colonies==psColourfulInternalMicrobes& in the deep crust.";\n\t\t}\n\t\tif (context.includes("psDustExcretions")) {\n\t\t\tcontext.delete("pDust","psDustExcretions","psLifeAnimals","psLifeDetected","psExtinctLifeDetected");\n\t\t\tpara[1] += " The &excretions==psDustExcretions& of its native animal life "+(ex?"still":"")+" form a layer of &dust==pDust& across the surface.";\n\t\t}\n\t\tif (context.includes("psPlantCraters")) {\n\t\t\tcontext.delete("pCraters","psPlantCraters","psLifePlants","psLifeDetected","psExtinctLifeDetected");\n\t\t\tpara[1] += " The growth of huge plant-like organisms has left &rings of displaced material==psPlantCraters& which at first glance looked like impact craters.";\n\t\t}\n\t\tif (context.includesAll("psSulphurExcretions","psNitrogenExcretions")) {\n\t\t\tcontext.delete("pSulphurCoveredSurface","psSulphurExcretions","pNitrogenCoveredSurface","psNitrogenExcretions","psLifeDetected","psExtinctLifeDetected");\n\t\t\tif (ex) {\n\t\t\t\tpara[1] += " The &planetNoun&'s extinct life forms &excreted sulphur==psSulphurExcretions& and &nitrogen==psNitrogenExcretions& as part of their exotic biochemistry, and a crust of both elements still covers the surface.";\n\t\t\t} else {\n\t\t\t\tpara[1] += " The &planetNoun&'s native life forms &excrete sulphur==psSulphurExcretions& and &nitrogen==psNitrogenExcretions& as part of their exotic biochemistry, leaving deposits of both elements on the surface.";\n\t\t\t}\n\t\t} \n\t\tif (context.includes("psSulphurExcretions")) {\n\t\t\tcontext.delete("pSulphurCoveredSurface","psSulphurExcretions","psLifeDetected","psExtinctLifeDetected");\n\t\t\tif (ex) {\n\t\t\t\tpara[1] += " The &planetNoun&'s extinct life forms &excreted sulphur==psSulphurExcretions& as part of their exotic biochemistry, and a dusting of sulphur still covers the surface.";\n\t\t\t} else {\n\t\t\t\tpara[1] += " The &planetNoun&'s native life forms &excrete sulphur==psSulphurExcretions& as part of their exotic biochemistry, leaving a dusting of sulphur across the surface.";\n\t\t\t}\n\t\t} \n\t\tif (context.includes("psNitrogenExcretions")) {\n\t\t\tcontext.delete("pNitrogenCoveredSurface","psNitrogenExcretions","psLifeDetected","psExtinctLifeDetected");\n\t\t\tif (ex) {\n\t\t\t\tpara[1] += " The &planetNoun&'s extinct life forms &excreted nitrogen==psNitrogenExcretions& as part of their exotic biochemistry, and a crust of frozen nitrogen still covers the surface.";\n\t\t\t} else {\n\t\t\t\tpara[1] += " The &planetNoun&'s native life forms &excrete nitrogen==psNitrogenExcretions& as part of their exotic biochemistry, leaving a crust of frozen nitrogen on the surface.";\n\t\t\t}\n\t\t} \n\t\tif (context.includes("psFossilDust")) {\n\t\t\tcontext.delete("pDust","psFossilDust","psLifeDetected","psLifeDetected","psExtinctLifeDetected");\n\t\t\tif (ex) {\n\t\t\t\tpara[1] += " The &dessicated remains==psFossilDust& of the ecosystem have been reduced to a layer of dust covering the &planetNoun&'s surface.";\n\t\t\t} else {\n\t\t\t\tpara[1] += " The remains of past generations of life form a layer of &dust==psFossilDust&& across the surface.";\n\t\t\t}\n\t\t} \n\t\tif (context.includes("psSaltExcretingMicroorganism")) {\n\t\t\tcontext.delete("pSaltCoveredSurface","psSaltExcretingMicroorganism","psLifeMicrobes","psLifeDetected","psExtinctLifeDetected");\n\t\t\tpara[1] += " &Salt-excreting microbes==psSaltExcretingMicroorganism& have left the surface covered in a layer of salt.";\n\t\t} \n\t\tif (context.includes("psRadioactiveMicrobes")) {\n\t\t\tcontext.delete("pRadiationZones","psRadioactiveMicrobes","psLifeMicrobes","psLifeDetected","psExtinctLifeDetected");\n\t\t\tpara[1] += " &Radioactive microbes==psRadioactiveMicrobes& in the crust have made large swathes of the surface radioactive.";\n\t\t} \n\t\tif (context.includes("psBiologicalHeating")) {\n\t\t\tcontext.delete("pUnstable","psBiologicalHeating","psLifeMicrobes","psLifeDetected","psExtinctLifeDetected");\n\t\t\tif (ex) {\n\t\t\t\tpara[1] += " The actions of &lithovoric microorganisms==psBiologicalHeating& in the crust have left the surface &unstable==pUnstable&.";\n\t\t\t} else {\n\t\t\t\tpara[1] += " &Lithovoric microorganisms==psBiologicalHeating& break down the rock so rapidly that they make the surface &unstable==pUnstable&.";\n\t\t\t}\n\t\t}\n\t\tif (context.includes("psAnimalStructures")) {\n\t\t\tcontext.delete("pPossibleStructures","psAnimalStructures","psLifeAnimals","psLifeDetected","psExtinctLifeDetected");\n\t\t\tpara[1] += " Some of the native animals "+(ex?"":"have")+" built &structures==psAnimalStructures& that are large enough to be visible from orbit.";\n\t\t}\n\t\tif (context.includesAll("psBurrowersMadeCaves","psBurrowedOut")) {\n\t\t\tcontext.delete("pCaves","psBurrowersMadeCaves","psBurrowingWorms","pUnusuallyLight","psBurrowedOut","psLifeAnimals","psLifeDetected","psExtinctLifeDetected");\n\t\t\tpara[1] += " &Subterranean creatures==psBurrowingWorms& "+(ex?"once burrowed":"burrow")+" throughout the planet, leaving the surface &riddled with caves==psBurrowersMadeCaves& and much of the interior &hollow==psBurrowedOut&.";\n\t\t}\n\t\tif (context.includes("psBurrowersMadeCaves")) {\n\t\t\tcontext.delete("pCaves","psBurrowersMadeCaves","psBurrowingWorms","psLifeAnimals","psLifeDetected","psExtinctLifeDetected");\n\t\t\tpara[1] += " &Subterranean creatures==psBurrowingWorms& "+(ex?"once burrowed":"burrow")+" through its crust, leaving &cave systems==psBurrowersMadeCaves& in their wake.";\n\t\t}\n\t\tif (context.includes("psBurrowedOut")) {\n\t\t\tcontext.delete("pUnusuallyLight","psBurrowedOut","psLifeAnimals","psLifeDetected","psExtinctLifeDetected");\n\t\t\tpara[1] += " Deep below the surface, &subterranean creatures==psBurrowedOut& "+(ex?"once dug":"have dug")+" burrows so extensive that much of the planet is hollow.";\n\t\t}\n\t\tif (context.includes("psCryovolcanoBlowholes")) {\n\t\t\tcontext.delete("pCryoVolcanoes","psCryovolcanoBlowholes","psLifeDetected","psExtinctLifeDetected");\n\t\t\tpara[1] += " Alien creatures live inside the ice crust, and periodically exhale &plumes of icy water==psCryovolcanoBlowholes& through the surface as they expel waste.";\n\t\t}\n\t\tif (context.includes("psVolcanoBlowholes")) {\n\t\t\tcontext.delete("pVolcanoes","psVolcanoBlowholes","psLifeDetected","psExtinctLifeDetected");\n\t\t\tpara[1] += " Huge silicon-based creatures living inside the crust periodically expel &plumes of molten rock==pVolcanoes& through the surface.";\n\t\t}\n\t\tif (context.includes("psMicrobeClouds")) {\n\t\t\tcontext.delete("pCloudCover","psMicrobeClouds","psLifeMicrobes","psLifeDetected","psExtinctLifeDetected");\n\t\t\tif (ex) {\n\t\t\t\tpara[1] += " &Clouds of dead microorganisms==psMicrobeClouds& drift in the atmosphere.";\n\t\t\t} else {\n\t\t\t\tpara[1] += " &Microorganism colonies==psMicrobeClouds& drift in the atmosphere, thick enough to be visible as clouds.";\n\t\t\t}\n\t\t} \n\n\n\t\t/* LIFE MYSTERY SOLUTIONS */\n\t\tif (context.includesAll("plsVerySlowLife")) {\n\t\t\tcontext.delete("plLifeStaticLifeForms","plsVerySlowLife");\n\t\t\tpara[1] += " Life here "+(ex?"was":"is")+" &very slow paced==plsVerySlowLife&, moving so slowly that it "+(ex?"would have appeared":"appears")+" to be frozen.";\n\t\t}\n\t\tif (context.includesAll("plsHibernatingLife")) {\n\t\t\tcontext.delete("plLifeStaticLifeForms","plsHibernatingLife");\n\t\t\tif (ex) {\n\t\t\t\tpara[1] += " All the complex life forms entered &periodic hibernations==plsHibernatingLife&.";\n\t\t\t} else {\n\t\t\t\tpara[1] += " The complex life forms are currently in one of their &periodic hibernations==plsHibernatingLife&.";\n\t\t\t}\n\t\t}\n\t\tif (context.includesAll("plsFreezesOnContact")) {\n\t\t\tcontext.delete("plLifeStaticLifeForms","plsFreezesOnContact");\n\t\t\t\t/* Should not be able to spawn for extinct life */\n\t\t\tpara[1] += " The complex life forms &freeze up==plsFreezesOnContact& on contact with humans.";\n\t\t}\n\t\t\n\t\tif (context.includesAll("plsPreSapientSpecies")) {\n\t\t\tcontext.delete("plSpeciesWithComplexBehaviour","plsPreSapientSpecies");\n\t\t\tif (ex) {\n\t\t\t\tpara[1] += " One species was &pre-sapient==plsPreSapientSpecies&, and might have developed true intelligence if life here had survived.";\n\t\t\t} else {\n\t\t\t\tpara[1] += " One species is &pre-sapient==plsPreSapientSpecies&, similar to humans' ancestors a million years ago.";\n\t\t\t}\n\t\t}\n\t\tif (context.includesAll("plsPostSapientSpecies")) {\n\t\t\tcontext.delete("plSpeciesWithComplexBehaviour","plsPostSapientSpecies");\n\t\t\tpara[1] += " One species "+(ex?"was":"is")+" &post-sapient==plsPostSapientSpecies&, descended from intelligent life forms that gradually lost their capacity for thought.";\n\t\t}\n\t\tif (context.includesAll("plsAnimalsActuallySapient")) {\n\t\t\tcontext.delete("plSpeciesWithComplexBehaviour","plsAnimalsActuallySapient");\n\t\t\t/* No text -- actually sapient animal species will be handled by civ description */\n\t\t}\n\n\t\tif (context.includesAll("plsRecentEvolution")) {\n\t\t\tcontext.delete("plNoFossilRemains","plsRecentEvolution");\n\t\t\tif (ex) {\n\t\t\t\tpara[1] += " Life here became extinct &very soon==plsRecentEvolution& after it evolved, and did not have time to leave many permanent remains.";\n\t\t\t} else {\n\t\t\t\tpara[1] += " Life evolved here &very recently==plsRecentEvolution&, and has not had time to leave permanent remains.";\n\t\t\t}\n\t\t}\n\t\tif (context.includesAll("plsLifeLeavesNoRemains")) {\n\t\t\tcontext.delete("plNoFossilRemains","plsLifeLeavesNoRemains");\n\t\t\tpara[1] += " The ecosystem "+(ex?"was":"is")+" very good at &recycling dead material==plsLifeLeavesNoRemains&, to the extent that life here "+(ex?"left almost":"leaves")+" no permanent remains.";\n\t\t}\n\t\t\n\t\tif (context.includesAll("plsColonyCreatures")) {\n\t\t\tcontext.delete("plBafflingDiversity","plsColonyCreatures");\n\t\t\tpara[1] += " The larger life forms "+(ex?"were":"are")+" actually &colonies of smaller ones==plsColonyCreatures&, which "+(ex?"take":"took")+" on different arrangements depending on the situation.";\n\t\t}\n\t\tif (context.includesAll("plsVeryDiverseLife")) {\n\t\t\tcontext.delete("plBafflingDiversity","plsVeryDiverseLife");\n\t\t\tpara[1] += " The ecosystem "+(ex?"was":"is")+" &incredibly diverse==plsVeryDiverseLife& compared with that of Earth.";\n\t\t}\n\t\tif (context.includesAll("plsOneSpeciesManyForms")) {\n\t\t\tcontext.delete("plBafflingDiversity","plsOneSpeciesManyForms");\n\t\t\tpara[1] += " All the complex life forms "+(ex?"were":"are")+" actually &different forms of the same species==plsOneSpeciesManyForms&.";\n\t\t}\n\t\tif (context.includesAll("plsBodyPartGrafting")) {\n\t\t\tcontext.delete("plBafflingDiversity","plsBodyPartGrafting");\n\t\t\tpara[1] += " The complex life forms "+(ex?"had":"have")+" the ability to &graft body parts onto themselves==plsBodyPartGrafting&, leading to bizarre-looking amalgamations of mismatched limbs.";\n\t\t}\n\t\tif (context.includesAll("plsPlantsGrowLimbs")) {\n\t\t\tcontext.delete("plSimilarPlantsAndAnimals","plsPlantsGrowLimbs");\n\t\t\tpara[1] += " Plant-analogues "+(ex?"had":"have")+" evolved the ability to grow &usable limbs==plsPlantsGrowLimbs& that animal-analogues "+(ex?"could":"can")+" graft onto themselves, blurring the line between plant and animal.";\n\t\t}\n\t\tif (context.includesAll("plsMicrobeColonyOrganisms")) {\n\t\t\tcontext.delete("plBafflingDiversity","plsMicrobeColonyOrganisms");\n\t\t\tpara[1] += " The larger life forms "+(ex?"were":"are")+" actually &colonies of semi-independant microorganisms==plsMicrobeColonyOrganisms&.";\n\t\t}\n\n\t\tif (context.includesAll("plsPlantAnimalLifeCycle")) {\n\t\t\tcontext.delete("plSimilarPlantsAndAnimals","plsPlantAnimalLifeCycle");\n\t\t\tpara[1] += " The complex life forms "+(ex?"had":"have")+" &sedentary and mobile life stages==plsPlantAnimalLifeCycle&.";\n\t\t}\n\t\tif (context.includesAll("plsCarnivorousPlants")) {\n\t\t\tcontext.delete("plSimilarPlantsAndAnimals","plsCarnivorousPlants");\n\t\t\tpara[1] += " Many of the larger life forms "+(ex?"were":"are")+" &carnivorous plants==plsCarnivorousPlants&.";\n\t\t}\n\n\t\tif (context.includesAll("plsHealingFactor")) {\n\t\t\tcontext.delete("plViolentLife","plsHealingFactor");\n\t\t\tpara[1] += " Life here &"+(ex?"healed":"heals")+" very quickly==plsHealingFactor&, and "+(ex?"could":"can")+" recover from apparently fatal injuries.";\n\t\t}\n\t\tif (context.includesAll("plsHumansAggravatingAnimals")) {\n\t\t\tcontext.delete("plViolentLife","plsHumansAggravatingAnimals");\n\t\t\tpara[1] += " The life forms &"+(ex?"would have become":"become")+" violent==plsHumansAggravatingAnimals& in the presence of "+(ex?"outsiders":"humans")+".";\n\t\t}\n\t\t\n\t\tif (context.includesAll("plsOnlyHerbivores")) {\n\t\t\tcontext.delete("plNonViolentLife","plsOnlyHerbivores");\n\t\t\tpara[1] += " Despite its complexity, life here "+(ex?"had":"has")+" only evolved &herbivores==plsOnlyHerbivores&, and no carnivores to prey on them.";\n\t\t}\n\t\tif (context.includesAll("plsNonObviousConflict")) {\n\t\t\tcontext.delete("plNonViolentLife","plsNonObviousConflict");\n\t\t\tpara[1] += " The apparently placid life forms "+(ex?"were":"are")+" actually in a constant state of invisible &biochemical conflict==plsNonObviousConflict&.";\n\t\t}\n\t\t\n\t\tif (context.includesAll("plsNaturalEMTransmitters")) {\n\t\t\tcontext.delete("plMysteriousCommunication","plsNaturalEMTransmitters");\n\t\t\tpara[1] += " Some life forms "+(ex?"signalled":"signal")+" to one another using &naturally-occurring EM transmitters and receivers==plsNaturalEMTransmitters&.";\n\t\t}\n\t\tif (context.includesAll("plsBodyLanguageCommunication")) {\n\t\t\tcontext.delete("plMysteriousCommunication","plsBodyLanguageCommunication");\n\t\t\tpara[1] += " Some life forms "+(ex?"signalled":"signal")+" to one another using &physical cues==plsBodyLanguageCommunication& too subtle for &theExplorers& to notice.";\n\t\t}\n\t\tif (context.includesAll("plsChemicalCommunication")) {\n\t\t\tcontext.delete("plMysteriousCommunication","plsChemicalCommunication");\n\t\t\tpara[1] += " Most life forms "+(ex?"used":"use")+" &subtle chemical signals==plsChemicalCommunication& to communicate with one another.";\n\t\t}\n\n\t\t/* Extinction either for the whole ecosystem or part of it */\n\t\tif (context.includesAll("plsExtinctionClimateShift")) {\n\t\t\tcontext.delete("plExtinct","plRecentExtinction","plsExtinctionClimateShift");\n\t\t\tif (ex) {\n\t\t\t\tpara[1] += " A &natural climate shift==plsExtinctionClimateShift& eventually wiped out all life on the &planetNoun&.";\n\t\t\t} else {\n\t\t\t\tpara[1] += " The &planetNoun& recently underwent a &natural climate shift==plsExtinctionClimateShift& which killed most of its life.";\n\t\t\t}\n\t\t}\n\t\tif (context.includesAll("plsExtinctionDisease")) {\n\t\t\tcontext.delete("plExtinct","plRecentExtinction","plsExtinctionDisease");\n\t\t\tif (ex) {\n\t\t\t\tpara[1] += " The ecosystem eventually gave rise to a &disease==plsExtinctionDisease& so virulent that it wiped out all of its hosts, leading to planetary extinction.";\n\t\t\t} else {\n\t\t\t\tpara[1] += " A &virulent disease==plsExtinctionDisease& recently wiped out most of the &planetNoun&'s life.";\n\t\t\t}\n\t\t}\n\t\tif (context.includesAll("plsExtinctionAsteroid")) {\n\t\t\tcontext.delete("plExtinct","plRecentExtinction","plsExtinctionAsteroid");\n\t\t\tif (ex) {\n\t\t\t\tpara[1] += " An &asteroid impact==plsExtinctionAsteroid& eventually disrupted the climate so badly that all life here became extinct.";\n\t\t\t} else {\n\t\t\t\tpara[1] += " A recent &asteroid impact==plsExtinctionAsteroid& wiped out most of the &planetNoun&'s life.";\n\t\t\t}\n\t\t}\n\t\tif (context.includesAll("plsExtinctionGammaBurst")) {\n\t\t\tcontext.delete("plExtinct","plRecentExtinction","plsExtinctionGammaBurst");\n\t\t\tif (ex) {\n\t\t\t\tpara[1] += " A &cosmic gamma ray burst==plsExtinctionGammaBurst& wiped out all life on the &planetNoun&.";\n\t\t\t} else {\n\t\t\t\tpara[1] += " A recent &cosmic gamma ray burst==plsExtinctionGammaBurst& wiped out much of the &planetNoun&'s life, and the ecosystem is still recovering.";\n\t\t\t}\n\t\t}\n\t\t\n\t\t/* Space-dwelling life forms (non-artificial) */\n\t\tif (context.includesAll("plsSpaceWhaleNebulaEvolution","psOrbitingSpaceWhale")) {\n\t\t\tcontext.delete("plsSpaceWhaleNebulaEvolution","psOrbitingSpaceWhale","pOrbitalStructure","psLifeDetected");\n\t\t\tpara[1] += " Orbiting the &planetNoun& is an enormous &space-dwelling life form==psOrbitingSpaceWhale&, descended from &life that arose from in nebular gas==plsSpaceWhaleNebulaEvolution&.";\n\t\t}\n\t\tif (context.includesAll("plsSpaceWhaleNebulaEvolution","psSpaceWhaleSwarm")) {\n\t\t\tcontext.delete("plsSpaceWhaleNebulaEvolution","psSpaceWhaleSwarm","pRingSystem","psLifeDetected");\n\t\t\tpara[1] += " Orbiting the &planetNoun& is a swarm of &space-dwelling life forms==psSpaceWhaleSwarm&, descended from &life that arose from in nebular gas==plsSpaceWhaleNebulaEvolution&.";\n\t\t}\n\t\tif (context.includesAll("plsSpaceWhaleNebulaEvolution") && planetTraits.includes("psActuallyASpaceWhale")) {\n\t\t\tcontext.delete("plsSpaceWhaleNebulaEvolution","psLifeDetected");\n\t\t\tpara[1] += " The immense organism appears to be descended from &life that arose from in nebular gas==plsSpaceWhaleNebulaEvolution&.";\n\t\t}\n\t\tif (context.includesAll("plsSpaceWhaleSurvivedPlanet","psOrbitingSpaceWhale")) {\n\t\t\tcontext.delete("plsSpaceWhaleSurvivedPlanet","psOrbitingSpaceWhale","pOrbitalStructure","psLifeDetected");\n\t\t\tpara[1] += " Orbiting the &planetNoun& is an enormous &space-dwelling life form==psOrbitingSpaceWhale&, descended from simple life forms that &survived the destruction of their planet==plsSpaceWhaleSurvivedPlanet&.";\n\t\t}\n\t\tif (context.includesAll("plsSpaceWhaleSurvivedPlanet","psSpaceWhaleSwarm")) {\n\t\t\tcontext.delete("plsSpaceWhaleSurvivedPlanet","psSpaceWhaleSwarm","pRingSystem","psLifeDetected");\n\t\t\tpara[1] += " Orbiting the &planetNoun& is a swarm of &space-dwelling life forms==psSpaceWhaleSwarm&, descended from simple life forms that &survived the destruction of their planet==plsSpaceWhaleSurvivedPlanet&.";\n\t\t}\n\t\tif (context.includesAll("plsSpaceWhaleSurvivedPlanet") && planetTraits.includes("psActuallyASpaceWhale")) {\n\t\t\tcontext.delete("plsSpaceWhaleSurvivedPlanet","psLifeDetected");\n\t\t\tpara[1] += " The immense organism appears to be descended from simple life forms that somehow &survived the destruction of their planet==plsSpaceWhaleSurvivedPlanet&.";\n\t\t}\n\n\t\t\t/*CIV SUMMARY */\n\t\tif (context.includes("psCiv")) {\n\t\t\tpara[2] += CivDescription.inPlanetDesc(context,planetTraits);\n\t\t\tcontext.delete("psCivDetected","psExtinctCivDetected","psGenericArtificialSigns","pPossibleArtificialTraces");\n\t\t\t/* CivDescription.inPlanetDesc modifies the array to remove traits it mentions */\n\t\t} \n\t\tif (context.includes("psCivDetected")) {\n\t\t\tcontext.delete("psCivDetected");\n\t\t\tpara[2] += " The &shipName&'s scanners have detected &intelligent life==psCivDetected& on this &planetNoun&.";\n\t\t}\n\t\tif (context.includes("psExtinctCivDetected")) {\n\t\t\tcontext.delete("psExtinctCivDetected");\n\t\t\tpara[2] += " The &shipName&'s scanners have detected traces of an &extinct civilisation==psExtinctCivDetected& on this &planetNoun&.";\n\t\t}\n\n\t\tif (context.includes("psPlanetSpanningComputer")) {\n\t\t\tcontext.delete("psPlanetSpanningComputer","pPossibleStructures");\n\t\t\tpara[2] += " The building-sized nodes of an immense, active &computer system==psPlanetSpanningComputer& cover large part of the surface.";\n\t\t} \n\n\n\t\t\t/* MEDDLING CIV EFFECTS */\n\n\t\tif (context.includes("psArtificialBelt")) {\n\t\t\tcontext.delete("psArtificialBelt","psMeddlingCiv","psMeddlingCivDetected");\n\t\t\tpara[3] += " The belt is actually an immense string of &aritificial structures==psArtificialBelt&.";\n\t\t}\n\t\tif (context.includes("psExPlanetWorldbreakers")) {\n\t\t\tcontext.delete("psExPlanetWorldbreakers","psExPlanetBelt","psMeddlingCiv","psMeddlingCivDetected","pIdentifiedMeddlingCiv");\n\t\t\tpara[3] += " The belt is all that remains of a &planet==psExPlanetBelt& that was destroyed by &theMeddlingCiv&.";\n\t\t}\n\t\tif (context.includes("psBattleDebrisRing")) {\n\t\t\tcontext.delete("pRingSystem","psBattleDebrisRing","psMeddlingCiv","psMeddlingCivDetected","pIdentifiedMeddlingCiv");\n\t\t\tpara[3] += " &meddlingCivName& space battles have left the &planetNoun&'s orbit crowded with &debris==psBattleDebrisRing&.";\n\t\t} \n\t\tif (context.includes("psOrbitalArtworks")) {\n\t\t\tcontext.delete("pRingSystem","psOrbitalArtworks","psMeddlingCiv","psMeddlingCivDetected","pIdentifiedMeddlingCiv");\n\t\t\tif (planetTraits.includes("pBelt")) {\n\t\t\t\tpara[3] += " Many of the belt bodies are actually &orbital artworks==psOrbitalArtworks& created by the &meddlingCivName&.";\n\t\t\t} else {\n\t\t\t\tpara[3] += " The &planetNoun& is surrounded by their &orbital art installations==psOrbitalArtworks& created by the &meddlingCivName&.";\n\t\t\t}\n\t\t}\n\t\t\n\t\tif (context.includesAll("psMinedOut")) {\n\t\t\tcontext.delete("psMinedOut","pCaves","psMeddlingCiv","psMeddlingCivDetected","pIdentifiedMeddlingCiv");\n\t\t\tpara[3] += " The &meddlingCivName& &mined==psMinedOut& the &planetNoun& so extensively that the crust is riddled with caves.";\n\t\t} \n\t\tif (context.includesAll("psAlienMeteorBombardment")) {\n\t\t\tcontext.delete("psAlienMeteorBombardment","pDust","psMeddlingCiv","psMeddlingCivDetected","pIdentifiedMeddlingCiv");\n\t\t\tpara[3] += " The &meddlingCivName& &bombarded==psAlienMeteorBombardment& the &planetNoun& with meteors until the top layer of its crust was reduced to &dust==pDust&.";\n\t\t} \n\t\tif (context.includesAll("psNanomachineDust","psSaltExcretingNanites")) {\n\t\t\tcontext.delete("psNanomachineDust","psSaltExcretingNanites","pDust","pSaltCoveredSurface","psMeddlingCiv","psMeddlingCivDetected","pIdentifiedMeddlingCiv");\n\t\t\tpara[3] += " &meddlingCivName& &nanomachines==psNanomachineDust& covered the surface with &dust==pDust& and &salt==pSaltCoveredSurface&.";\n\t\t} \n\t\tif (context.includes("psNanomachineDust")) {\n\t\t\tcontext.delete("psNanomachineDust","pDust","psMeddlingCiv","psMeddlingCivDetected","pIdentifiedMeddlingCiv");\n\t\t\tpara[3] += " &meddlingCivName& &nanomachines==psNanomachineDust& covered the surface with &dust==pDust&.";\n\t\t} \n\t\tif (context.includes("psOceanSurfaceNanites")) {\n\t\t\tcontext.delete("psOceanSurfaceNanites","pOceanSurfaceScum","psMeddlingCiv","psMeddlingCivDetected","pIdentifiedMeddlingCiv");\n\t\t\tpara[3] += " &meddlingCivName& &nanomachines==psOceanSurfaceNanites& swarm and multiply in the ocean surface microlayer.";\n\t\t} \n\t\tif (context.includes("psAlienBombardmentCraters")) {\n\t\t\tcontext.delete("psAlienBombardmentCraters","pCraters","psMeddlingCiv","psMeddlingCivDetected","pIdentifiedMeddlingCiv");\n\t\t\tpara[3] += " The &meddlingCivName& &bombarded==psAlienBombardmentCraters& the &planetNoun& with meteors, leaving its surface covered in &impact craters==pCraters&.";\n\t\t} \n\t\tif (context.includes("psSaltExcretingNanites")) {\n\t\t\tcontext.delete("psSaltExcretingNanites","pSaltCoveredSurface","psMeddlingCiv","psMeddlingCivDetected","pIdentifiedMeddlingCiv");\n\t\t\tpara[3] += " &meddlingCivName& &nanomachines==psNanomachineDust& converted the top layer of the crust into &salt==pSaltCoveredSurface&.";\n\t\t} \n\t\tif (context.includes("psAlienIndustrySulphur")) {\n\t\t\tcontext.delete("psAlienIndustrySulphur","pSulphurCoveredSurface","psMeddlingCiv","psMeddlingCivDetected","pIdentifiedMeddlingCiv");\n\t\t\tpara[3] += " &meddlingCivName& &industrial activity==psAlienIndustrySulphur& has left a dusting of &sulphur==pSulphurCoveredSurface& across the &planetNoun&.";\n\t\t} \n\t\tif (context.includes("psAlienIndustryNitrogen")) {\n\t\t\tcontext.delete("psAlienIndustryNitrogen","pNitrogenCoveredSurface","psMeddlingCiv","psMeddlingCivDetected","pIdentifiedMeddlingCiv");\n\t\t\tpara[3] += " &meddlingCivName& &industrial activity==psAlienIndustryNitrogen& has left the surface encrusted with &frozen nitrogen==pNitrogenCoveredSurface&.";\n\t\t} \n\t\tif (context.includes("psAliensStoleWater")) {\n\t\t\tcontext.delete("psAliensStoleWater","pSaltCoveredSurface","psMeddlingCiv","psMeddlingCivDetected","pIdentifiedMeddlingCiv");\n\t\t\tpara[3] += " The &meddlingCivName& &extracted the &planetNoun&'s water==psAliensStoleWater&, leaving its surface covered in &salt==pSaltCoveredSurface&.";\n\t\t} \n\t\tif (context.includes("psTechnologicalHeating")) {\n\t\t\tcontext.delete("psTechnologicalHeating","pUnstable","psMeddlingCiv","psMeddlingCivDetected","pIdentifiedMeddlingCiv");\n\t\t\tpara[3] += " The &meddlingCivName& buried &machines==psTechnologicalHeating& in the crust that have made the surface &unstable==pUnstable&.";\n\t\t} \n\t\tif (context.includes("psAliensChangedOrbit")) {\n\t\t\tcontext.delete("psAliensChangedOrbit","pEccentricOrbit","psMeddlingCiv","psMeddlingCivDetected","pIdentifiedMeddlingCiv");\n\t\t\tpara[3] += " The &meddlingCivName& &changed the "+TextUtils.planetNoun()+"'s orbit==psAliensChangedOrbit& to suit their purposes.";\n\t\t}\n\t\tif (context.includes("psGroundRobots")) {\n\t\t\tcontext.delete("psGroundRobots","pMovingLandObjects","psMeddlingCiv","psMeddlingCivDetected","pIdentifiedMeddlingCiv");\n\t\t\tpara[3] += " &meddlingCivName& &robots==psGroundRobots& roam the &planetNoun&'s surface.";\n\t\t}\n\t\tif (context.includes("psSurfaceSolarPanels")) {\n\t\t\tcontext.delete("psSurfaceSolarPanels","pPossibleStructures","psMeddlingCiv","psMeddlingCivDetected","pIdentifiedMeddlingCiv");\n\t\t\tpara[3] += " Huge &meddlingCivName& &solar panels==psSurfaceSolarPanels& stretch across the &planetNoun&'s surface.";\n\t\t} \n\t\tif (context.includes("psAliensMadeOcean")) {\n\t\t\tcontext.delete("psAliensMadeOcean","pOceanWater","psMeddlingCiv","psMeddlingCivDetected","pIdentifiedMeddlingCiv");\n\t\t\tpara[3] += " The &meddlingCivName& &created==psAliensMadeOcean& the &planetNoun&'s liquid water ocean.";\n\t\t}\n\t\tif (context.includes("psPaintedSurface")) {\n\t\t\tcontext.delete("psPaintedSurface","pDiscolouredSurfaceAreas","psMeddlingCiv","psMeddlingCivDetected","pIdentifiedMeddlingCiv");\n\t\t\tpara[3] += " The &meddlingCivName& &coloured==psPaintedSurface& large parts of the &planetNoun&'s surface as a planetary-scale artwork or message.";\n\t\t}\n\t\tif (context.includes("psMeddlingCivGreenhouse")) {\n\t\t\tcontext.delete("psMeddlingCivGreenhouse","pRunawayGreenhouseEffect","psMeddlingCiv","psMeddlingCivDetected","pIdentifiedMeddlingCiv");\n\t\t\tpara[3] += " The &meddlingCivName& used this &planetNoun& as an industrial base, &destroying its climate==psMeddlingCivGreenhouse& with a runaway greenhouse effect.";\n\t\t}\n\t\tif (context.includes("psGasGiantIndustryHeat")) {\n\t\t\tcontext.delete("psGasGiantIndustryHeat","pGlowingGasGiant","psMeddlingCiv","psMeddlingCivDetected","pIdentifiedMeddlingCiv");\n\t\t\tpara[3] += " &meddlingCivName& industries deep in the atmosphere emit &intense radiation==psGasGiantIndustryHeat&.";\n\t\t}\n\t\tif (context.includes("psInternalMeddlingCivStructure")) {\n\t\t\tcontext.delete("psInternalMeddlingCivStructure","pRegularInternalStructure","psMeddlingCiv","psMeddlingCivDetected","pIdentifiedMeddlingCiv");\n\t\t\tpara[3] += " &meddlingCivName& interference has left the &planetNoun& with an unusually ®ular internal structure==psInternalMeddlingCivStructure&.";\n\t\t}\n\n\t\t/* Meddling civ life mystery solutions */\n\t\tif (context.includesAll("plsLifeSeededByAliens")) {\n\t\t\tcontext.delete("plNoFossilRemains","plsLifeSeededByAliens","psMeddlingCiv","psMeddlingCivDetected","pIdentifiedMeddlingCiv");\n\t\t\tpara[3] += " The ecosystem is not native to this &planetNoun&, but was &seeded==plsLifeSeededByAliens& by the &meddlingCivName&.";\n\t\t}\n\t\tif (context.includesAll("plsBloodSportWorld")) {\n\t\t\tcontext.delete("plViolentLife","plsBloodSportWorld","psMeddlingCiv","psMeddlingCivDetected","pIdentifiedMeddlingCiv");\n\t\t\tpara[3] += " The &meddlingCivName& engineered the life forms to be &extremely aggressive==plsBloodSportWorld&.";\n\t\t}\n\t\tif (context.includesAll("plsEngineeredSafeEcosystem")) {\n\t\t\tcontext.delete("plNonViolentLife","plsEngineeredSafeEcosystem","psMeddlingCiv","psMeddlingCivDetected","pIdentifiedMeddlingCiv");\n\t\t\tpara[3] += " The &meddlingCivName& engineered the ecosystem to be &safe==plsEngineeredSafeEcosystem&.";\n\t\t}\n\t\tif (context.includesAll("plsExtinctionMeddlingCiv")) {\n\t\t\tcontext.delete("plExtinct","plRecentExtinction","plsExtinctionMeddlingCiv","psMeddlingCiv","psMeddlingCivDetected","pIdentifiedMeddlingCiv");\n\t\t\tif (ex) {\n\t\t\t\tpara[3] += " The &meddlingCivName& &wiped out==plsExtinctionMeddlingCiv& all life on the &planetNoun&.";\n\t\t\t} else {\n\t\t\t\tpara[3] += " The &meddlingCivName& recently &interfered==plsExtinctionMeddlingCiv& with the &planetNoun&'s ecosystem, killing most of the native life.";\n\t\t\t}\n\t\t}\n\n\t\tif (context.includesAll("plsUpliftingInProgress")) {\n\t\t\tcontext.delete("plSpeciesWithComplexBehaviour","plsUpliftingInProgress","psMeddlingCiv","psMeddlingCivDetected","pIdentifiedMeddlingCiv");\n\t\t\tpara[3] += " The &meddlingCivName& are in the process of &uplifting==plsUpliftingInProgress& one of the native species to sapience.";\n\t\t}\n\t\tif (context.includesAll("plsHeldBackFromSapience")) {\n\t\t\tcontext.delete("plSpeciesWithComplexBehaviour","plsHeldBackFromSapience","psMeddlingCiv","psMeddlingCivDetected","pIdentifiedMeddlingCiv");\n\t\t\tpara[3] += " One species shows the potential for sapient thought, but is being &held back==plsHeldBackFromSapience& from full sapience by the &meddlingCivName&.";\n\t\t}\n\t\t\n\t\t/* Space-dwelling life forms (artificial) */\n\t\tif (context.includesAll("plsArtificialSpaceWhale","psOrbitingSpaceWhale")) {\n\t\t\tcontext.delete("plsArtificialSpaceWhale","psOrbitingSpaceWhale","psMeddlingCiv","psMeddlingCivDetected","pIdentifiedMeddlingCiv","psLifeDetected");\n\t\t\tpara[3] += " Orbiting the &planetNoun& is an enormous &space-dwelling life form==psOrbitingSpaceWhale&, belonging to a species &artificially created==plsArtificialSpaceWhale& by the &meddlingCivName&.";\n\t\t}\n\t\tif (context.includesAll("plsArtificialSpaceWhale","psSpaceWhaleSwarm")) {\n\t\t\tcontext.delete("plsArtificialSpaceWhale","psSpaceWhaleSwarm","psMeddlingCiv","psMeddlingCivDetected","pIdentifiedMeddlingCiv","psLifeDetected");\n\t\t\tpara[3] += " Orbiting the &planetNoun& is a swarm of &space-dwelling life forms==psSpaceWhaleSwarm&, belonging to a species &artificially created==plsArtificialSpaceWhale& by the &meddlingCivName&.";\n\t\t}\n\t\tif (context.includesAll("plsArtificialSpaceWhale") && planetTraits.includes("psActuallyASpaceWhale")) {\n\t\t\tcontext.delete("plsSpaceWhaleNebulaEvolution","psMeddlingCiv","psMeddlingCivDetected","pIdentifiedMeddlingCiv","psLifeDetected");\n\t\t\tpara[3] += " This type of space-dwelling life form was &artificially created==plsArtificialSpaceWhale& by the &meddlingCivName&.";\n\t\t}\n\t\tif (context.includesAll("plsUpliftedSpaceWhale","psOrbitingSpaceWhale")) {\n\t\t\tcontext.delete("plsUpliftedSpaceWhale","psOrbitingSpaceWhale","psMeddlingCiv","psMeddlingCivDetected","pIdentifiedMeddlingCiv","psLifeDetected");\n\t\t\tpara[3] += " Orbiting the &planetNoun& is an enormous &space-dwelling life form==psOrbitingSpaceWhale&, belonging to a species that the &meddlingCivName& modified from an &original planet-bound form==plsUpliftedSpaceWhale&.";\n\t\t}\n\t\tif (context.includesAll("plsUpliftedSpaceWhale","psSpaceWhaleSwarm")) {\n\t\t\tcontext.delete("plsUpliftedSpaceWhale","psSpaceWhaleSwarm","psMeddlingCiv","psMeddlingCivDetected","pIdentifiedMeddlingCiv","psLifeDetected");\n\t\t\tpara[3] += " Orbiting the &planetNoun& is a swarm of &space-dwelling life forms==psSpaceWhaleSwarm&, belonging to a species that the &meddlingCivName& modified from an &original planet-bound form==plsUpliftedSpaceWhale&.";\n\t\t}\n\t\tif (context.includesAll("plsUpliftedSpaceWhale") && planetTraits.includes("psActuallyASpaceWhale")) {\n\t\t\tcontext.delete("plsUpliftedSpaceWhale","psMeddlingCiv","psMeddlingCivDetected","pIdentifiedMeddlingCiv","psLifeDetected");\n\t\t\tpara[3] += " This type of space-dwelling life form was &artificially modified==plsUpliftedSpaceWhale& by the &meddlingCivName& from &an original planet-bound form==plsUpliftedSpaceWhale&.";\n\t\t}\n\n\t\t\n\t\t/* Starships */\n\t\tif (context.includesAny("psOrbitingStarship","psLandedStarship")) {\n\t\t\tif (context.includesAll("psOrbitingStarship","psOrbitalDerelict") || context.includesAll("psLandedStarship","psSurfaceDerelict")) {\n\t\t\t\tpara[3] += " A derelict &meddlingCivName&";\n\t\t\t} else {\n\t\t\t\tpara[3] += " An active &meddlingCivName&";\n\t\t\t}\n\t\t\t\n\t\t\tif (context.includesAll("psRobotShip","psSelfReplicatingStarship")) {\n\t\t\t\tcontext.delete("psRobotShip","psSelfReplicatingStarship");\n\t\t\t\tpara[3] += " &self-replicating robot==psSelfReplicatingStarship&";\n\t\t\t}\n\t\t\telse if (context.includes("psRobotShip")) {\n\t\t\t\tcontext.delete("psRobotShip");\n\t\t\t\tpara[3] += " &robot==psRobotShip&";\n\t\t\t}\n\n\t\t\tif (context.includes("psColonyShip")) {\n\t\t\t\tcontext.delete("psColonyShip");\n\t\t\t\tpara[3] += " &colony ship==psColonyShip&";\n\t\t\t} else if (context.includes("psExperimentationShip")) {\n\t\t\t\tcontext.delete("psExperimentationShip");\n\t\t\t\tpara[3] += " &experimentation ship==psExperimentationShip&";\n\t\t\t} else if (context.includes("psExplorationShip")) {\n\t\t\t\tcontext.delete("psExplorationShip");\n\t\t\t\tpara[3] += " &exploration ship==psExplorationShip&";\n\t\t\t} else if (context.includes("psMiningShip")) {\n\t\t\t\tcontext.delete("psMiningShip");\n\t\t\t\tpara[3] += " &mining ship==psMiningShip&";\n\t\t\t} else if (context.includes("psGenerationShip")) {\n\t\t\t\tcontext.delete("psGenerationShip");\n\t\t\t\tpara[3] += " &generation ship==psGenerationShip&";\n\t\t\t} else if (context.includes("psWarShip")) {\n\t\t\t\tcontext.delete("psWarShip");\n\t\t\t\tpara[3] += " &warship==psWarShip&";\n\t\t\t} else if (context.includes("psSleeperShip")) {\n\t\t\t\tcontext.delete("psSleeperShip");\n\t\t\t\tpara[3] += " &sleeper ship==psSleeperShip&";\n\t\t\t} else if (context.includes("psTerraformingShip")) {\n\t\t\t\tcontext.delete("psTerraformingShip");\n\t\t\t\tpara[3] += " &terraforming ship==psTerraformingShip&";\n\t\t\t} else if (context.includes("psOrbitingStarship")) {\n\t\t\t\tpara[3] += " &spaceship==psOrbitingStarship&";\n\t\t\t} else if (context.includes("psLandedStarship")) {\n\t\t\t\tpara[3] += " &spaceship==psLandedStarship&";\n\t\t\t}\n\t\t\t\n\t\t\tif (context.includes("psOrbitingStarship")) {\n\t\t\t\tif (planetTraits.includes("pBelt")) {\n\t\t\t\t\tpara[3] += " orbits within the belt.";\n\t\t\t\t} else {\n\t\t\t\t\tpara[3] += " orbits the &planetNoun&.";\n\t\t\t\t}\n\t\t\t} else if (context.includes("psLandedStarship")) {\n\t\t\t\tif (planetTraits.includes("pGasGiant")) {\n\t\t\t\t\tpara[3] += " floats in the atmosphere.";\n\t\t\t\t} else if (planetTraits.includes("pOceanPlanetwide")) {\n\t\t\t\t\tpara[3] += " floats on the planet-wide ocean.";\n\t\t\t\t} else {\n\t\t\t\t\tpara[3] += " rests on the surface.";\n\t\t\t\t}\n\t\t\t}\n\t\t\tcontext.delete("pSurfaceAnomaly","pOrbitalStructure","psOrbitalDerelict","psSurfaceDerelict","psMeddlingCiv","psMeddlingCivDetected","psCrewedShip","psOrbitingStarship","psLandedStarship","pIdentifiedMeddlingCiv");\n\t\t}\n\t\t\n\t\t/* Bases */\n\t\tif (context.includesAny("psOrbitalStation","psSurfaceStation")) {\n\t\t\tif (context.includesAll("psOrbitalStation","psOrbitalDerelict") || context.includesAll("psSurfaceStation","psSurfaceDerelict")) {\n\t\t\t\tpara[3] += " A derelict &meddlingCivName&";\n\t\t\t} else {\n\t\t\t\tpara[3] += " An active &meddlingCivName&";\n\t\t\t}\n\t\t\t\n\t\t\tif (context.includes("psRobotShip")) {\n\t\t\t\tcontext.delete("psRobotShip");\n\t\t\t\tpara[3] += " &automated==psRobotShip&";\n\t\t\t}\n\t\t\t\n\t\t\tif (context.includes("psColonyOutpost")) {\n\t\t\t\tcontext.delete("psColonyOutpost");\n\t\t\t\tpara[3] += " &colony outpost==psColonyOutpost&";\n\t\t\t} else if (context.includes("psExperimentationBase")) {\n\t\t\t\tcontext.delete("psExperimentationBase");\n\t\t\t\tpara[3] += " &experimental base==psExperimentationBase&";\n\t\t\t} else if (context.includes("psObservationPost")) {\n\t\t\t\tcontext.delete("psObservationPost");\n\t\t\t\tpara[3] += " &observation post==psObservationPost&";\n\t\t\t} else if (context.includes("psMiningBase")) {\n\t\t\t\tcontext.delete("psMiningBase");\n\t\t\t\tpara[3] += " &mining facility==psMiningBase&";\n\t\t\t} else if (context.includes("psSpaceHabitat")) {\n\t\t\t\tcontext.delete("psSpaceHabitat");\n\t\t\t\tpara[3] += " &habitat==psSpaceHabitat&";\n\t\t\t} else if (context.includes("psMilitaryBase")) {\n\t\t\t\tcontext.delete("psMilitaryBase");\n\t\t\t\tpara[3] += " &military base==psMilitaryBase&";\n\t\t\t} else if (context.includes("psSleeperStation")) {\n\t\t\t\tcontext.delete("psSleeperStation");\n\t\t\t\tpara[3] += " &cryo-storage facility==psSleeperStation&";\n\t\t\t} else if (context.includes("psTerraformingStation")) {\n\t\t\t\tcontext.delete("psTerraformingStation");\n\t\t\t\tpara[3] += " &terraforming station==psTerraformingStation&";\n\t\t\t} else if (context.includes("psOrbitalStation")) {\n\t\t\t\tpara[3] += " &space station==psOrbitalStation&";\n\t\t\t} else if (context.includes("psSurfaceStation")) {\n\t\t\t\tpara[3] += " &base==psSurfaceStation&";\n\t\t\t}\n\t\t\t\n\t\t\tif (context.includes("psOrbitalStation")) {\n\t\t\t\tif (planetTraits.includes("pBelt")) {\n\t\t\t\t\tpara[3] += " orbits within the belt.";\n\t\t\t\t} else {\n\t\t\t\t\tpara[3] += " orbits the "+TextUtils.planetNoun()+".";\n\t\t\t\t}\n\t\t\t} else if (context.includes("psSurfaceStation")) {\n\t\t\t\tif (planetTraits.includes("pGasGiant")) {\n\t\t\t\t\tpara[3] += " hangs in the atmosphere.";\n\t\t\t\t} else if (planetTraits.includes("pOceanPlanetwide")) {\n\t\t\t\t\tpara[3] += " floats on the planet-wide ocean.";\n\t\t\t\t} else {\n\t\t\t\t\tpara[3] += " stands on the surface.";\n\t\t\t\t}\n\t\t\t}\n\t\t\tcontext.delete("pSurfaceAnomaly","pOrbitalStructure","psOrbitalDerelict","psSurfaceDerelict","psMeddlingCiv","psMeddlingCivDetected","psCrewedShip","psOrbitalStation","psSurfaceStation","pIdentifiedMeddlingCiv");\n\t\t}\n\t\t\n\t\t\n\t\tif (context.includesAll("psAliensMadeOxygen")) {\n\t\t\tcontext.delete("psAliensMadeOxygen","psMeddlingCiv","psMeddlingCivDetected","pIdentifiedMeddlingCiv");\n\t\t\tpara[3] += " The &oxygen==psAliensMadeOxygen& in the atmosphere is the result of &meddlingCivName& planetary engineering.";\n\t\t}\n\n\t\t\n\t\tif (context.includes("psMonument")) {\n\t\t\tpara[3] += " A solitary &monument==psMonument& built by the &meddlingCivName&";\n\t\t\tif (context.includes("pBelt")) {\n\t\t\t\tpara[3] += " orbits within the belt.";\n\t\t\t} else if (context.includes("pOrbitalStructure")) {\n\t\t\t\tpara[3] += " orbits the "+TextUtils.planetNoun()+".";\n\t\t\t} else {\n\t\t\t\tpara[3] += " stands on the surface.";\n\t\t\t}\n\t\t\tcontext.delete("psMonument","pSurfaceAnomaly","psMeddlingCiv","psMeddlingCivDetected","pIdentifiedMeddlingCiv");\t\n\t\t}\n\t\t\n\t\t\n\t\tif (context.includes("psMeddlingCivDetected")) {\n\t\t\tcontext.delete("psMeddlingCivDetected");\n\t\t\tpara[3] += " The &shipName&'s scanners have detected the actions of an &advanced civilisation==psMeddlingCivDetected& on this "+TextUtils.planetNoun()+".";\n\t\t}\n\n\n\t\tif (context.includes("psEndgameTrigger")) {\n\t\t\tcontext.delete("psEndgameTrigger");\n\t\t\tpara[3] += " The faint shadow that the &Gate Nexus==psEndgameTrigger& casts into normal space orbits this &planetNoun&.";\n\t\t}\n\t\t\n\t\t/* Space whales (unexplored) */\n\t\tif (context.includesAll("psOrbitingSpaceWhale")) {\n\t\t\tcontext.delete("psOrbitingSpaceWhale","pOrbitalStructure");\n\t\t\tpara[1] += " An enormous &space-dwelling life form==psOrbitingSpaceWhale& orbits the &planetNoun&.";\n\t\t}\n\t\tif (context.includesAll("psSpaceWhaleSwarm")) {\n\t\t\tcontext.delete("psSpaceWhaleSwarm","pRingSystem");\n\t\t\tpara[1] += " A swarm of &space-dwelling life forms==psSpaceWhaleSwarm& orbits the &planetNoun&.";\n\t\t}\n\n\t\t\t/* UNEXPLORED OR UNEXPLORABLE NON-SECRET TRAITS */\n\t\t\t/* Orbit and ring system traits */\n\t\tif (context.includesAny("pCloseOrbit","pEccentricOrbit")) {\n\t\t\tif (context.includesAll("pCloseOrbit","pEccentricOrbit")) {\n\t\t\t\tcontext.delete("pCloseOrbit","pEccentricOrbit");\n\t\t\t\tpara[0] += " It is in an &eccentric orbit==pEccentricOrbit& that takes it &very close==pCloseOrbit& to "+TextUtils.parentName();\n\t\t\t} else if (context.includes("pCloseOrbit")) {\n\t\t\t\tcontext.delete("pCloseOrbit");\n\t\t\t\tpara[0] += " It orbits &very close==pCloseOrbit& to "+TextUtils.parentName();\n\t\t\t} else if (context.includes("pEccentricOrbit")) {\n\t\t\t\tcontext.delete("pEccentricOrbit");\n\t\t\t\tpara[0] += " It has a somewhat &eccentric==pEccentricOrbit& orbit";\n\t\t\t}\n\t\t\tif (context.includes("pTidallyLocked")) {\n\t\t\t\tcontext.delete("pTidallyLocked");\n\t\t\t\tpara[0] += ", and is &tidally locked==pTidallyLocked&, always keeping the same face to its parent.";\n\t\t\t} else if (context.includes("pRingSystem")) {\n\t\t\t\tcontext.delete("pRingSystem");\n\t\t\t\tpara[0] += ", and is surrounded by a &ring==pRingSystem& of small bodies.";\n\t\t\t} else {\n\t\t\t\tpara[0] += ".";\n\t\t\t}\n\t\t}\n\t\tif (context.includes("pTidallyLocked")) {\n\t\t\tcontext.delete("pTidallyLocked");\n\t\t\tpara[0] += " It is &tidally locked==pTidallyLocked& to "+TextUtils.parentName()+", always keeping the same side facing its parent.";\n\t\t}\n\t\tif (context.includes("pRingSystem")) {\n\t\t\tcontext.delete("pRingSystem");\n\t\t\tpara[0] += " It is surrounded by a &ring==pRingSystem& of small bodies.";\n\t\t}\n\t\tif (context.includes("pGlowingGasGiant")) {\n\t\t\tcontext.delete("pGlowingGasGiant");\n\t\t\tpara[0] += " It glows faintly with &infrared radiation==pGlowingGasGiant&.";\n\t\t}\n\t\tif (context.includes("pCometaryTail")) {\n\t\t\tcontext.delete("pCometaryTail");\n\t\t\tpara[0] += " Stellar radiation is vaporising the ice from its surface, which streams outwards as a &cometary tail==pCometaryTail&.";\n\t\t}\n\n\t\t\t/* Oceans */\n\t\tif (context.includesAny("pOceanWater","pOceanHydrocarbons","pOceanAmmonia","pOceanLava")) {\n\t\t\tcontext.delete("psLiquidDetected");\n\t\t\tvar oceanDesc = "";\n\t\t\tif (context.includes("pOceanWater")) {\n\t\t\t\tcontext.delete("pOceanWater");\n\t\t\t\toceanDesc = "&liquid water==pOceanWater&";\n\t\t\t} else if (context.includes("pOceanHydrocarbons")) {\n\t\t\t\tcontext.delete("pOceanHydrocarbons");\n\t\t\t\toceanDesc = "&methane and ethane==pOceanHydrocarbons&";\n\t\t\t} else if (context.includes("pOceanAmmonia")) {\n\t\t\t\tcontext.delete("pOceanAmmonia");\n\t\t\t\toceanDesc = "&ammonia==pOceanAmmonia&";\n\t\t\t} else if (context.includes("pOceanLava")) {\n\t\t\t\tcontext.delete("pOceanLava");\n\t\t\t\toceanDesc = "&molten rock==pOceanLava&";\n\t\t\t}\n\t\t\tif (context.includesAll("pWind","pOceanPlanetwide")) {\n\t\t\t\tcontext.delete("pWind","pOceanPlanetwide");\n\t\t\t\tpara[0] += " Powerful &winds==pWind& raise huge waves on the &planet-wide==pOceanPlanetwide& ocean of "+oceanDesc+".";\n\t\t\t} else if (context.includes("pFloatingStructures","pOceanPlanetwide")) {\n\t\t\t\tcontext.delete("pFloatingStructures","pOceanPlanetwide");\n\t\t\t\tpara[0] += " Mysterious &objects==pFloatingStructures& float on the surface of a &planet-wide==pOceanPlanetwide& ocean of "+oceanDesc+".";\n\t\t\t} else if (context.includesAll("pOceanPlanetwide")) {\n\t\t\t\tcontext.delete("pOceanPlanetwide");\n\t\t\t\tpara[0] += " An ocean of "+oceanDesc+" covers its &entire surface==pOceanPlanetwide&.";\n\t\t\t} else if (context.includes("pFloatingStructures")) {\n\t\t\t\tcontext.delete("pFloatingStructures");\n\t\t\t\tpara[0] += " Mysterious &objects==pFloatingStructures& float on the surface of oceans of "+oceanDesc+".";\n\t\t\t} else if (context.includesAll("pWind","pCraggy")) {\n\t\t\t\tcontext.delete("pWind","pCraggy");\n\t\t\t\tpara[0] += " Powerful &winds==pWind& whistle between &towering crags==pCraggy& and whip oceans of "+oceanDesc+" into huge waves.";\n\t\t\t} else if (context.includes("pCraggy")) {\n\t\t\t\tcontext.delete("pCraggy");\n\t\t\t\tpara[0] += " &Towering crags==pCraggy& rise high out of oceans of "+oceanDesc+".";\n\t\t\t} else if (context.includes("pWind")) {\n\t\t\t\tcontext.delete("pWind");\n\t\t\t\tpara[0] += " Powerful &winds==pWind& whip oceans of "+oceanDesc+" into huge waves.";\n\t\t\t} else {\n\t\t\t\tpara[0] += " Oceans of "+oceanDesc+" cover parts of its surface.";\n\t\t\t}\n\t\t}\n\t\t\n\t\t\t/* Inorganic ocean surface material */\n\t\tif (context.includesAll("psOceanSurfaceSediment","pOceanSurfaceDust")) {\n\t\t\tcontext.delete("psOceanSurfaceSediment","psOceanSurfaceDust","psOceanSurfaceScum");\n\t\t\tpara[0] += " A layer of &sediment==psOceanSurfaceSediment& and &dust==psOceanSurfaceDust& on the ocean surface.";\n\t\t}\n\t\tif (context.includes("psOceanSurfaceSediment")) {\n\t\t\tcontext.delete("psOceanSurfaceSediment","pOceanSurfaceScum");\n\t\t\tpara[0] += " A layer of &sediment==psOceanSurfaceSediment& rests on the surface of the ocean.";\n\t\t}\n\t\tif (context.includes("psOceanSurfaceDust")) {\n\t\t\tcontext.delete("psOceanSurfaceDust","pOceanSurfaceScum");\n\t\t\tpara[0] += " A layer of &dust==psOceanSurfaceDust& settles from the atmosphere onto the top layer of the ocean.";\n\t\t}\n\t\t\n\t\t\n\t\t\t/* Landing hazards (wind and uneven surface) */\n\t\tif (context.includesAll("pCraggy","pWind") && !context.includes("xExploringSurface")) {\n\t\t\tcontext.delete("pCraggy","pWind");\n\t\t\tif (context.includes("xExploringSurface")) {\n\t\t\t\tpara[0] += " Its &powerful winds==pWind& whistle past the &jagged crags==pCraggy& that rise up around the &shipName&.";\n\t\t\t} else if (context.includes("sUpgradeShipWings")) {\n\t\t\t\tpara[0] += " &Powerful winds==pWind& whistle past the &crags==pCraggy& on its uneven surface.";\n\t\t\t} else {\n\t\t\t\tpara[0] += " Its &uneven surface==pCraggy& and &powerful winds==pWind& could make landing hazardous.";\n\t\t\t}\n\t\t}\n\t\tif (context.includes("pCraggy")) {\n\t\t\tcontext.delete("pCraggy");\n\t\t\tif (context.includes("xExploringSurface")) {\n\t\t\t\tpara[0] += " Its &uneven surface==pCraggy& rises up around the &shipName&.";\n\t\t\t} else if (context.includes("sUpgradeShipLandingGear")) {\n\t\t\t\tpara[0] += " Jagged &crags==pCraggy& cover its surface.";\n\t\t\t} else {\n\t\t\t\tpara[0] += " Its &uneven surface==pCraggy& could make it difficult to find a landing site.";\n\t\t\t}\n\t\t}\n\t\tif (context.includes("pWind")) {\n\t\t\tcontext.delete("pWind");\n\t\t\tif (context.includes("xExploringSurface")) {\n\t\t\t\tpara[0] += " &Powerful winds==pWind& whistle past the &shipName&.";\n\t\t\t} else if (context.includes("sUpgradeShipWings")) {\n\t\t\t\tpara[0] += " &Powerful winds==pWind& tear through its atmosphere.";\n\t\t\t} else {\n\t\t\t\tpara[0] += " &Powerful winds==pWind& tear through its atmosphere, making landing potentially hazardous.";\n\t\t\t}\n\t\t}\n\t\t\t/* Volcanoes */\n\t\tif (context.includesAll("pUnstable","pVolcanoes")) {\n\t\t\tcontext.delete("pUnstable","pVolcanoes");\n\t\t\tpara[0] += " Its surface is &unstable==pUnstable&, and frequently erupts with powerful &volcanoes==pVolcanoes&.";\n\t\t}\n\t\tif (context.includesAll("pUnstable","pCryoVolcanoes")) {\n\t\t\tcontext.delete("pUnstable","pCryoVolcanoes");\n\t\t\tpara[0] += " Its surface is &unstable==pUnstable&, and frequently erupts with icy &cryovolcanoes==pCryoVolcanoes&.";\n\t\t}\n\t\tif (context.includes("pVolcanoes")) {\n\t\t\tcontext.delete("pVolcanoes");\n\t\t\tpara[0] += " Large numbers of &volcanoes==pVolcanoes& continually erupt across its surface.";\n\t\t}\n\t\tif (context.includes("pCryoVolcanoes")) {\n\t\t\tcontext.delete("pCryoVolcanoes");\n\t\t\tpara[0] += " &Cryovolcanoes==pCryoVolcanoes& erupt from its surface, spewing water and other volatiles into its sky.";\n\t\t}\n\t\tif (context.includesAll("pUnusuallyDense") && planetTraits.includes("pBelt")) {\n\t\t\tcontext.delete("pBelt","pUnusuallyDense");\n\t\t\tpara[0] += " The asteroids are &unusually dense==pUnusuallyDense& for bodies of their size.";\n\t\t}\n\t\tif (context.includesAll("pUnusuallyLight") && planetTraits.includes("pBelt")) {\n\t\t\tcontext.delete("pBelt","pUnusuallyLight");\n\t\t\tpara[0] += " The asteroids are &unusually light==pUnusuallyLight& for bodies of their size.";\n\t\t}\n\t\t\n\t\tif (context.includesAny("pUnusuallyDense","pUnusuallyLight")) {\n\t\t\tif (context.includes("pUnusuallyDense")) {\n\t\t\t\tcontext.delete("pUnusuallyDense");\n\t\t\t\tpara[0] += " It is &unusually dense==pUnusuallyDense& for a body of its size";\n\t\t\t} \n\t\t\tif (context.includes("pUnusuallyLight")) {\n\t\t\t\tcontext.delete("pUnusuallyLight");\n\t\t\t\tpara[0] += " It is &unusually light==pUnusuallyLight& for a body of its size";\n\t\t\t}\n\t\t\tif (context.includes("pUnstable")) {\n\t\t\t\tcontext.delete("pUnstable");\n\t\t\t\tpara[0] += ", and its surface is &unstable==pUnstable&.";\n\t\t\t} else if (context.includes("pCaves")) {\n\t\t\t\tcontext.delete("pCaves");\n\t\t\t\tpara[0] += ", and a &cave system==pCaves& honeycombs its crust.";\n\t\t\t} else if (context.includes("pCraters")) {\n\t\t\t\tcontext.delete("pCraters");\n\t\t\t\tpara[0] += ", and its surface is covered in what look like &impact craters==pCraters&.";\n\t\t\t} else {\n\t\t\t\tpara[0] += ".";\n\t\t\t}\n\t\t}\n\t\t\t/* Dust etc. on the surface */\n\t\tif (context.includesAny("pDust","pSaltCoveredSurface","pSulphurCoveredSurface")) {\n\t\t\tif (context.includesAll("pDust","pSaltCoveredSurface","pSulphurCoveredSurface")) {\n\t\t\t\tpara[0] += " A later of &dust==pDust&, &salt==pSaltCoveredSurface& and &sulphur==pSulphurCoveredSurface& compounds covers its "+(ocean?"land surface":"surface");\n\t\t\t} else if (context.includesAll("pDust","pSaltCoveredSurface")) {\n\t\t\t\tpara[0] += " A later of &dust==pDust& and &salt==pSaltCoveredSurface& covers its "+(ocean?"land surface":"surface");\n\t\t\t} else if (context.includesAll("pDust","pSulphurCoveredSurface")) {\n\t\t\t\tpara[0] += " A later of &sulphuric==pSulphurCoveredSurface& &dust==pDust& and covers its "+(ocean?"land surface":"surface");\n\t\t\t} else if (context.includesAll("pSaltCoveredSurface","pSulphurCoveredSurface")) {\n\t\t\t\tpara[0] += " A later of &salt==pSaltCoveredSurface& and &sulphur==pSulphurCoveredSurface& compounds covers its "+(ocean?"land surface":"surface");\n\t\t\t} else if (context.includesAll("pDust")) {\n\t\t\t\tpara[0] += " A layer of &dust==pDust& covers its "+(ocean?"land surface":"surface");\n\t\t\t} else if (context.includesAll("pSaltCoveredSurface")) {\n\t\t\t\tpara[0] += " A layer of &salt==pSaltCoveredSurface& covers its "+(ocean?"land surface":"surface");\n\t\t\t} else if (context.includesAll("pSulphurCoveredSurface")) {\n\t\t\t\tpara[0] += " A dusting of &sulphur==pSulphurCoveredSurface& compounds covers its "+(ocean?"land surface":"surface");\n\t\t\t}\n\t\t\tcontext.delete("pDust","pSaltCoveredSurface","pSulphurCoveredSurface");\n\t\t\tif (context.includes("pCraters")) {\n\t\t\t\tcontext.delete("pCraters");\n\t\t\t\tpara[0] += ", pooling at the bottoms of countless &craters==pCraters&.";\n\t\t\t} else if (context.includes("pUnstable")) {\n\t\t\t\tcontext.delete("pUnstable");\n\t\t\t\tpara[0] += ", constantly shifting due to the &planetNoun&'s geological &instability==pUnstable&.";\n\t\t\t} else if (context.includes("pDiscolouredSurfaceAreas")) {\n\t\t\t\tcontext.delete("pDiscolouredSurfaceAreas");\n\t\t\t\tpara[0] += ", sometimes shifting to reveal &discoloured==pDiscolouredSurfaceAreas& areas of the surface.";\n\t\t\t} else {\n\t\t\t\tpara[0] += ".";\n\t\t\t}\n\t\t}\n\t\tif (context.includes("pNitrogenCoveredSurface")) {\n\t\t\tcontext.delete("pNitrogenCoveredSurface");\n\t\t\tpara[0] += " A layer of &frozen nitrogen==pNitrogenCoveredSurface& covers its "+(ocean?"land surface":"surface");\n\t\t\tif (context.includes("pCraters")) {\n\t\t\t\tcontext.delete("pCraters");\n\t\t\t\tpara[0] += ", pockmarked by countless &craters==pCraters&.";\n\t\t\t} else if (context.includes("pCryoVolcanoes")) {\n\t\t\t\tcontext.delete("pCryoVolcanoes");\n\t\t\t\tpara[0] += ", periodically broken by the eruptions of icy &cryovolcanoes==pCryoVolcanoes&.";\n\t\t\t} else {\n\t\t\t\tpara[0] += "."\n\t\t\t}\n\t\t}\n\t\t\t/* Unstable and cratered surface, if not already mentioned */\n\t\tif (context.includesAll("pUnstable","pCaves")) {\n\t\t\tcontext.delete("pUnstable","pCaves");\n\t\t\tpara[0] += " Its surface is &unstable==pUnstable&, frequently shifting to hide or reveal the entrances to an extensive &cave system==pCaves&.";\n\t\t} \n\t\tif (context.includesAll("pUnstable","pCraters")) {\n\t\t\tcontext.delete("pUnstable","pCraters");\n\t\t\tpara[0] += " Its surface is &unstable==pUnstable& and heavily &cratered==pCraters&.";\n\t\t} \n\t\tif (context.includes("pUnstable")) {\n\t\t\tcontext.delete("pUnstable");\n\t\t\tpara[0] += " Its surface is &unstable==pUnstable&.";\n\t\t} \n\t\tif (context.includes("pCraters")) {\n\t\t\tcontext.delete("pCraters");\n\t\t\tpara[0] += " Its surface is covered in what look like &impact craters==pCraters&.";\n\t\t}\n\t\tif (context.includes("pNitrogenCoveredSurface")) {\n\t\t\tcontext.delete("pNitrogenCoveredSurface");\n\t\t\tpara[0] += " A layer of &frozen nitrogen==pNitrogenCoveredSurface& covers its "+(ocean?"land surface":"surface");\n\t\t} \n\t\tif (context.includes("pCaves")) {\n\t\t\tcontext.delete("pCaves");\n\t\t\tpara[0] += " A &cave system==pCaves& honeycombs its crust.";\n\t\t} \n\t\tif (context.includes("pPossibleStructures")) {\n\t\t\tcontext.delete("pPossibleStructures");\n\t\t\tpara[0] += " Parts of its surface are covered in what appear to be &structures==pPossibleStructures&.";\n\t\t}\n\t\tif (context.includes("pPossibleVegetation")) {\n\t\t\tcontext.delete("pPossibleVegetation");\n\t\t\tpara[0] += " Parts of its surface are covered in what appears to be &vegetation==pPossibleVegetation&.";\n\t\t} \n\t\tif (context.includes("pDiscolouredSurfaceAreas")) {\n\t\t\tcontext.delete("pDiscolouredSurfaceAreas");\n\t\t\tpara[0] += " Large swathes of its surface are &discoloured==pDiscolouredSurfaceAreas&.";\n\t\t} \n\t\tif (context.includes("pMovingLandObjects")) {\n\t\t\tcontext.delete("pMovingLandObjects");\n\t\t\tif (planetTraits.includes("pGasGiant")) {\n\t\t\t\tpara[0] += " Small &moving objects==pMovingLandObjects& are visible in its atmosphere.";\n\t\t\t} else {\n\t\t\t\tpara[0] += " Small &moving objects==pMovingLandObjects& are visible on its surface.";\n\t\t\t}\n\t\t} \n\t\tif (context.includes("pFloatingStructures")) {\n\t\t\tcontext.delete("pFloatingStructures");\n\t\t\tpara[0] += " Some kind of &large objects==pFloatingStructures& float in its &planetNoun&-wide ocean.";\n\t\t} \n\t\tif (context.includes("pFlyingObjects")) {\n\t\t\tcontext.delete("pFlyingObjects");\n\t\t\tpara[0] += " Small &objects==pFlyingObjects& move erratically through the &planetNoun&'s skies.";\n\t\t} \n\t\tif (context.includes("pRadiationZones")) {\n\t\t\tcontext.delete("pRadiationZones");\n\t\t\tpara[0] += " Parts of its surface are &highly radioactive==pRadiationZones&.";\n\t\t} \n\t\tif (context.includes("pRunawayGreenhouseEffect")) {\n\t\t\tcontext.delete("pRunawayGreenhouseEffect");\n\t\t\tpara[0] += " Its crushing atmosphere and high surface temperature suggests that it has undergone a &runaway greenhouse effect==pRunawayGreenhouseEffect&.";\n\t\t}\n\t\tif (context.includes("pCloudCover")) {\n\t\t\tcontext.delete("pCloudCover");\n\t\t\tif (context.includes("xExploringSurface")) {\n\t\t\t\tpara[0] += " A planet wide blanket of &clouds==pCloudCover& fills the entire sky.";\n\t\t\t} else if (planetTraits.includes("pGasGiant")) {\n\t\t\t\tpara[0] += " A planet wide blanket of &clouds==pCloudCover& hides its face.";\n\t\t\t} else {\n\t\t\t\tpara[0] += " A planet wide blanket of &clouds==pCloudCover& hides its surface.";\n\t\t\t}\n\t\t}\n\t\tif (context.includes("pOceanSurfaceScum")) {\n\t\t\tcontext.delete("pOceanSurfaceScum");\n\t\t\tpara[0] += " A layer of colourful material &floats==pOceanSurfaceScum& on the top of the ocean.";\n\t\t}\n\n\t\t/* Invisible things scanners can detect */\n\t\tif (context.includesAll("pRegularInternalStructure","pSurfaceAnomaly")) {\n\t\t\tcontext.delete("pRegularInternalStructure","pSurfaceAnomaly");\n\t\t\tpara[0] += " Scans indicate unusually ®ular structures==pRegularInternalStructure& deep within the &planetNoun&, and a &localised anomaly==pSurfaceAnomaly&";\n\t\t\tif (planetTraits.includes("pGasGiant")) {\n\t\t\t\tpara[0] += " in its atmosphere.";\n\t\t\t} else {\n\t\t\t\tpara[0] += " on its surface.";\n\t\t\t}\n\t\t}\n\t\tif (context.includes("pRegularInternalStructure")) {\n\t\t\tcontext.delete("pRegularInternalStructure");\n\t\t\tpara[0] += " Scans indicate unusually ®ular structures==pRegularInternalStructure& deep beneath the surface.";\n\t\t}\n\t\tif (context.includes("pSurfaceAnomaly")) {\n\t\t\tcontext.delete("pSurfaceAnomaly");\n\t\t\tpara[0] += " The &shipName&'s scanners are picking up a &localised anomaly==pSurfaceAnomaly&";\n\t\t\tif (planetTraits.includes("pGasGiant")) {\n\t\t\t\tpara[0] += " in its atmosphere.";\n\t\t\t} else {\n\t\t\t\tpara[0] += " on its surface.";\n\t\t\t}\n\t\t}\n\n\t\t/* LIFE MYSTERIES */\n\t\tif (context.includes("psLifeDetected")) {\n\t\t\tcontext.delete("psLifeDetected");\n\t\t\tpara[1] += " The &shipName&'s scanners have detected signs of &life==psLifeDetected& on this &planetNoun&.";\n\t\t}\n\t\tif (context.includes("psExtinctLifeDetected")) {\n\t\t\tcontext.delete("psExtinctLifeDetected");\n\t\t\tpara[1] += " The &shipName&'s scanners have detected signs of an &extinct ecosystem==psExtinctLifeDetected& on this &planetNoun&.";\n\t\t}\n\n\t\tif (context.includes("plLifeStaticLifeForms")) {\n\t\t\tcontext.delete("plLifeStaticLifeForms");\n\t\t\tpara[1] += " Life appears strangely &unmoving==plLifeStaticLifeForms&.";\n\t\t}\n\t\tif (context.includes("plSpeciesWithComplexBehaviour")) {\n\t\t\tcontext.delete("plSpeciesWithComplexBehaviour");\n\t\t\tif (ex) {\n\t\t\t\tpara[1] += " There is evidence that one species had remarkably &complex behaviour==plSpeciesWithComplexBehaviour&.";\n\t\t\t} else {\n\t\t\t\tpara[1] += " One species has remarkably &complex behaviour==plSpeciesWithComplexBehaviour&.";\n\t\t\t}\n\t\t}\n\t\tif (context.includes("plNoFossilRemains")) {\n\t\t\tcontext.delete("plNoFossilRemains");\n\t\t\tpara[1] += " There appear to be &no remains==plNoFossilRemains& of older life forms or evidence of how life arose here.";\n\t\t}\n\t\tif (context.includes("plBafflingDiversity")) {\n\t\t\tcontext.delete("plBafflingDiversity");\n\t\t\tpara[1] += " The ecosystem is &bafflingly diverse==plBafflingDiversity&.";\n\t\t}\n\t\tif (context.includes("plSimilarPlantsAndAnimals")) {\n\t\t\tcontext.delete("plSimilarPlantsAndAnimals");\n\t\t\tpara[1] += " Life at first looks divided into plant- and animal-analogues, but on closer investigation they are &remarkably similar==plSimilarPlantsAndAnimals&.";\n\t\t}\n\t\tif (context.includes("plViolentLife")) {\n\t\t\tcontext.delete("plViolentLife");\n\t\t\tpara[1] += " Most life forms are &remarkably aggressive==plViolentLife&.";\n\t\t}\n\t\tif (context.includes("plNonViolentLife")) {\n\t\t\tcontext.delete("plNonViolentLife");\n\t\t\tpara[1] += " Life here is &remarkably non-violent==plNonViolentLife&.";\n\t\t}\n\t\tif (context.includes("plMysteriousCommunication")) {\n\t\t\tcontext.delete("plMysteriousCommunication");\n\t\t\tpara[1] += " Some animal-analogues appear to &signal to one another==plMysteriousCommunication& without any discernable method.";\n\t\t}\n\t\tif (context.includes("plExtinct")) {\n\t\t\tcontext.delete("plExtinct","plRecentExtinction");\n\t\t\tpara[1] += " The once vibrant ecosystem is now &extinct==plExtinct&.";\n\t\t}\n\t\tif (context.includes("plRecentExtinction")) {\n\t\t\tcontext.delete("plRecentExtinction");\n\t\t\tpara[1] += " The ecosystem appears to have been &more complex==plRecentExtinction& in the recent past.";\n\t\t}\n\n\t\t\n\t\tif (context.includes("pOrbitalStructure")) {\n\t\t\tcontext.delete("pOrbitalStructure");\n\t\t\tif (planetTraits.includes("pBelt")) {\n\t\t\t\tpara[0] += " One of the larger belt bodies shows signs of being &artificial==pOrbitalStructure&.";\n\t\t\t} else {\n\t\t\t\tpara[0] += " What could be an &artificial structure==pOrbitalStructure& orbits the "+TextUtils.planetNoun()+".";\n\t\t\t}\n\t\t} \n\n\t\t\n\t\tif (context.includes("psLiquidDetected")) {\n\t\t\tcontext.delete("psLiquidDetected");\n\t\t\tpara[1] += " The &shipName&'s scanners have detected &liquid==psLiquidDetected& on this &planetNoun&.";\n\t\t}\n\t\tif (context.includes("pPossibleChemicalLifeSigns")) {\n\t\t\tcontext.delete("pPossibleChemicalLifeSigns");\n\t\t\tpara[1] += " The &shipName&'s scanners can detect chemical traces that may be &biological==pPossibleChemicalLifeSigns& in origin.";\n\t\t}\n\t\tif (context.includes("pPossibleArtificialTraces")) {\n\t\t\tcontext.delete("pPossibleArtificialTraces");\n\t\t\tpara[1] += " The &shipName&'s scanners can detect traces of &artefacts==pPossibleArtificialTraces& that may be the product of intelligence.";\n\t\t}\n\t\t\n\t\tcontext.delete("plNotExtinct");\n\n\t\t\n\n\n\t\t/* PUT TOGETHER FINAL TEXT */\n\t\tvar returnString = para[0];\n\t\t\t/* Sadly if I try to use <p> instead it doesn't work */\n\t\tif (para[1] != "") {\n\t\t\treturnString += "<br><br>" + para[1];\n\t\t}\n\t\tif (para[2] != "") {\n\t\t\treturnString += "<br><br>" + para[2];\n\t\t}\n\t\tif (para[3] != "") {\n\t\t\treturnString += "<br><br>" + para[3];\n\t\t}\n\t\t\n\t\t\t/* Delete all non-planet context traits */\n\t\tcontext.deleteWith(function(val) { return val != null && !val.startsWith("p") } );\n\t\t\t/* Delete pLandingPrevented as planet view will mention it on the next line */\n\t\tcontext.delete("pLandingPrevented");\n\t\tif (context.length > 0) {\n\t\t\tconsole.error("Planet description failed to handle traits: "+context);\n\t\t\t/*returnString += "<br><br>UNDESCRIBED TRAITS: " + JSON.stringify(context);*/\n\t\t\t\n\t\t\treturnString += "<br><br>UNDESCRIBED TRAITS: ";\n\t\t\tfor (var n = 0; n < context.length; n++) {\n\t\t\t\treturnString += "&"+context[n]+"=="+context[n]+"& ";\n\t\t\t}\n\t\t\t\n\t\t}\n\t\t\n\t\treturn returnString;\n\t},\n\t\n\tdescribeLifeForms: function(context,planetTraits) {\n\t\t\t/* Not a complete life descrption - just description of the specific life forms found, which is called from both planet desc and descovery desc when exploring life */\n\t\tvar rv = "";\n\t\t\n\t\tvar ex = planetTraits.includes("plExtinct");\n\t\tvar exCiv = planetTraits.includes("cExtinct");\n\t\t/* "+(ex?"":"")+" */\n\n\t\t\t/* Surface */\n\t\tif (context.includesAll("psColourfulSurfaceMicrobes")) {\n\t\t\tcontext.delete("psColourfulSurfaceMicrobes");\n\t\t\trv += " Brightly-coloured µbe colonies==psColourfulSurfaceMicrobes& "+(ex?"once covered":"covers")+" much of its surface.";\n\t\t}\n\t\tif (context.includesAll("psGrasslands")) {\n\t\t\tcontext.delete("psGrasslands");\n\t\t\trv += " &Low vegetation==psGrasslands& "+(ex?"once covered":"covers")+" most of its surface";\n\t\t\t\n\t\t\tif (context.includes("psLandAnimalsLegs")) {\n\t\t\t\tcontext.delete("psLandAnimalsLegs");\n\t\t\t\trv += ", grazed on by &multi-legged animals==psLandAnimalsLegs&";\n\t\t\t} else if (context.includes("psLandAnimalsWorms")) {\n\t\t\t\tcontext.delete("psLandAnimalsWorms");\n\t\t\t\trv += ", grazed on by &worm-like animals==psLandAnimalsWorms&";\n\t\t\t} else if (context.includes("psLandAnimalsWheeled")) {\n\t\t\t\tcontext.delete("psLandAnimalsWheeled");\n\t\t\t\trv += ", scored by the tracks of &wheeled animals==psLandAnimalsWheeled&";\n\t\t\t} else if (context.includes("psLandAnimalsBlobs")) {\n\t\t\t\tcontext.delete("psLandAnimalsBlobs");\n\t\t\t\trv += ", grazed on by &amorphous animals==psLandAnimalsBlobs&";\n\t\t\t}\n\t\t\trv += ".";\n\t\t}\n\t\tif (context.includes("psForests")) {\n\t\t\tcontext.delete("pPossibleVegetation","psForests");\n\t\t\tif (context.includes("psForestAnimals")) {\n\t\t\t\tcontext.delete("psForestAnimals");\n\t\t\t\trv += " &Forests==psForests& teeming with alien &animals==psForestAnimals& "+(ex?"once covered":"cover")+" large parts of its surface";\n\t\t\t} else {\n\t\t\t\trv += " &Forests==psForests& of alien plants "+(ex?"once covered":"cover")+" large parts of its surface";\n\t\t\t}\n\n\t\t\trv += ".";\n\t\t\t\n\t\t}\n\t\tif (context.includes("psForestOrganisms")) {\n\t\t\tcontext.delete("pPossibleVegetation","psForestOrganisms");\n\t\t\tif (context.includes("psForestAnimals")) {\n\t\t\t\tcontext.delete("psForestAnimals");\n\t\t\t\trv += " &Immense organisms==psForestOrganisms& the size of terrestrial forests "+(ex?"sprawled":"sprawl")+" across its surface, each supporting an entire ecosystem of smaller &creatures==psForestAnimals&.";\n\t\t\t} else {\n\t\t\t\trv += " &Immense organisms==psForestOrganisms& "+(ex?"sprawled":"sprawl")+" across its surface, each the size of a terrestrial forest.";\n\t\t\t}\n\t\t}\n\t\tif (context.includesAll("psMobileLandPlants")) {\n\t\t\tcontext.delete("psMobileLandPlants","pMovingLandObjects");\n\t\t\trv += " &Mobile plants==psMobileLandPlants& "+(ex?"rolled":"roll")+" across the surface, looking for places to take root.";\n\t\t}\n\t\tif (context.includesAll("psLandAnimalsLegs")) {\n\t\t\tcontext.delete("psLandAnimalsLegs","pMovingLandObjects");\n\t\t\trv += " &Multi-legged animals==psLandAnimalsLegs& "+(ex?"roamed":"roam")+" the &planetNoun&'s surface.";\n\t\t}\n\t\tif (context.includesAll("psLandAnimalsWorms")) {\n\t\t\tcontext.delete("psLandAnimalsWorms","pMovingLandObjects");\n\t\t\trv += " &Worm-like animals==psLandAnimalsWorms& "+(ex?"slithered":"slither")+" across the &planetNoun&'s surface.";\n\t\t}\n\t\tif (context.includesAll("psLandAnimalsWheeled")) {\n\t\t\tcontext.delete("psLandAnimalsWheeled","pMovingLandObjects");\n\t\t\trv += " The &planetNoun&'s native animals "+(ex?"rolled":"roll")+" across the surface on naturally-evolved &wheels==psLandAnimalsWheeled&.";\n\t\t}\n\t\tif (context.includesAll("psLandAnimalsBlobs")) {\n\t\t\tcontext.delete("psLandAnimalsBlobs","pMovingLandObjects");\n\t\t\trv += " The &planetNoun&'s &amorphous native animals==psLandAnimalsBlobs& "+(ex?"slithered and rolled":"slither and roll")+" across the surface.";\n\t\t}\n\t\t\n\t\t\t/* Atmosphere */\n\t\tif (context.includesAny("psAirbornePlants","psGasbagPlants")) {\n\t\t\tif (context.includesAll("psAirbornePlants","psGasbagPlants")) {\n\t\t\t\trv += " Plants "+(ex?"floated":"float")+" in the air beneath &gasbags==psGasbagPlants& or &sail-like leaves==psAirbornePlants&";\n\t\t\t} else if (context.includes("psAirbornePlants")) {\n\t\t\t\trv += " &Lighter-than-air plants==psAirbornePlants& "+(ex?"wafted":"waft")+" through the sky on sail-like leaves";\n\t\t\t} else if (context.includes("psGasbagPlants")) {\n\t\t\t\trv += " Bulbous &plants==psGasbagPlants& supported by bags of buoyant gas "+(ex?"swept":"sweep")+" along the wind currents";\n\t\t\t}\n\t\t\t\n\t\t\tif (context.includesAll("psWingedAnimals","psGasbagAnimals")) {\n\t\t\t\trv += ", home to a variaty of &winged==psWingedAnimals& and &gasbag animals==psGasbagAnimals&";\n\t\t\t} else if (context.includes("psWingedAnimals")) {\n\t\t\t\trv += ", home to colonies of &winged creatures==psWingedAnimals&.";\n\t\t\t} else if (context.includes("psGasbagAnimals")) {\n\t\t\t\trv += ", grazed on by floating &gasbag animals==psGasbagAnimals&";\n\t\t\t}\n\t\t\tcontext.delete("psAirbornePlants","psGasbagPlants","psWingedAnimals","psGasbagAnimals");\n\t\t\trv += ".";\n\t\t}\n\t\tif (context.includesAll("psWingedAnimals","psGasbagAnimals")) {\n\t\t\tcontext.delete("psWingedAnimals","psGasbagAnimals");\n\t\t\trv += " The atmosphere "+(ex?"teemed":"teems")+" with life, swift &winged creatures==psWingedAnimals& flitting around sedate &living balloons==psGasbagAnimals&.";\n\t\t}\n\t\tif (context.includesAll("psWingedAnimals")) {\n\t\t\tcontext.delete("psWingedAnimals");\n\t\t\trv += " &Winged creatures==psWingedAnimals& "+(ex?"soared":"soar")+" through the sky.";\n\t\t}\n\t\tif (context.includesAll("psGasbagAnimals")) {\n\t\t\tcontext.delete("psGasbagAnimals");\n\t\t\trv += " Lighter-than-air &gasbag creatures==psGasbagAnimals& "+(ex?"floated":"float")+" through the sky.";\n\t\t}\n\t\t\n\t\t\t/* Ocean */\n\t\tif (context.includesAll("psMicrobesMadeOcean")) {\n\t\t\tcontext.delete("psMicrobesMadeOcean","pOceanWater","psLifeDetected");\n\t\t\trv += " The &planetNoun&'s water oceans are actually the excretions of an "+(ex?"extinct":"")+" &alien microorganism==psMicrobesMadeOcean& that "+(ex?"fused":"fuses")+" hydrogen and oxygen.";\n\t\t}\n\n\t\tif (context.includes("psFloatingVegetation")) {\n\t\t\tcontext.delete("pFloatingStructures","psFloatingVegetation","psLifePlants","psLifeDetected");\n\t\t\tif (context.includes("psFloatingVegAnimals")) {\n\t\t\t\tcontext.delete("psFloatingVegAnimals","psLifeAnimals");\n\t\t\t\trv += " Immense &mats of vegetation==psFloatingVegetation& "+(ex?"floated":"float")+" on the surface of the ocean, each of them host to an ecosystem of &animals==psFloatingVegAnimals&.";\n\t\t\t} else {\n\t\t\t\trv += " Immense &mats of vegetation==psFloatingVegetation& "+(ex?"floated":"float")+" on the surface of the ocean.";\n\t\t\t}\n\t\t}\n\t\tif (context.includesAny("psMicrobialOceanScum","psComplexOceanScum")) {\n\t\t\tif (planetTraits.includes("psFloatingVegetation")) {\n\t\t\t\trv += " Between the vegetation mats, the";\n\t\t\t} else {\n\t\t\t\trv += " The";\n\t\t\t}\n\t\t\trv += " ocean surface microlayer "+(ex?"supported":"supports")+" an ecosystem of ";\n\t\t\tif (context.includesAll("psMicrobialOceanScum","psComplexOceanScum")) {\n\t\t\t\tcontext.delete("psMicrobialOceanScum","psComplexOceanScum","pOceanSurfaceScum","psLifeDetected");\n\t\t\t\trv += " suspended &plant==psComplexOceanScum& and µbial==psMicrobialOceanScum& life.";\n\t\t\t} else if (context.includesAll("psMicrobialOceanScum")) {\n\t\t\t\tcontext.delete("psMicrobialOceanScum","pOceanSurfaceScum","psLifeDetected");\n\t\t\t\trv += " suspended µbial==psMicrobialOceanScum& life.";\n\t\t\t} else if (context.includesAll("psComplexOceanScum")) {\n\t\t\t\tcontext.delete("psComplexOceanScum","pOceanSurfaceScum","psLifeDetected");\n\t\t\t\trv += " suspended &plant==psComplexOceanScum& life.";\n\t\t\t}\n\t\t}\n\n\t\tif (context.includesAny("psIceSheetBottomVegetation","psUnderwaterVegetation","psOceanBedVegetation")) {\n\t\t\t\n\t\t\tif (context.includesAll("psIceSheetBottomVegetation","psUnderwaterVegetation","psOceanBedVegetation")) {\n\t\t\t\trv += " Alien plants "+(ex?"filled":"fill")+" every level of the subsurface ocean, &clinging to the ice sheet==psIceSheetBottomVegetation& and the &ocean bed==psOceanBedVegetation&, and &drifting in the open water==psUnderwaterVegetation& between them.";\n\t\t\t} else if (context.includesAll("psIceSheetBottomVegetation","psOceanBedVegetation")) {\n\t\t\t\trv += " Some alien plants &"+(ex?"clung":"cling")+" to the bottom of the ice sheet==psIceSheetBottomVegetation&, while others "+(ex?"grew":"grow")+" on the &ocean bed==psOceanBedVegetation&.";\n\t\t\t} else if (context.includesAll("psIceSheetBottomVegetation","psUnderwaterVegetation")) {\n\t\t\t\trv += " Alien plants &"+(ex?"clung":"cling")+" to the bottom of the ice sheet==psIceSheetBottomVegetation& and &"+(ex?"drifted":"drift")+" free==psUnderwaterVegetation& in the ocean.";\n\t\t\t} else if (context.includesAll("psOceanBedVegetation","psUnderwaterVegetation")) {\n\t\t\t\trv += " Alien plants "+(ex?"filled":"fill")+" the ocean, some &anchored to the sea bed==psOceanBedVegetation& and others &drifting free==psUnderwaterVegetation&.";\n\t\t\t} else if (context.includesAll("psIceSheetBottomVegetation")) {\n\t\t\t\trv += " &Alien plants==psIceSheetBottomVegetation& "+(ex?"clung":"cling")+" to the bottom of the ice sheet, their fronds trailing in the ocean currents.";\n\t\t\t} else if (context.includesAll("psUnderwaterVegetation")) {\n\t\t\t\trv += " &Free-floating vegetation==psUnderwaterVegetation& "+(ex?"drifted":"drifts")+" on the ocean currents.";\n\t\t\t} else if (context.includesAll("psOceanBedVegetation")) {\n\t\t\t\trv += " &Deep-ocean vegetation==psOceanBedVegetation& "+(ex?"grew":"grows")+" on the ocean floor.";\n\t\t\t}\n\t\t\tcontext.delete("psOceanBedVegetation","psUnderwaterVegetation","psIceSheetBottomVegetation");\n\t\t}\n\t\t\n\t\tif (context.includes("psIceSheetGrapplers")) {\n\t\t\tcontext.delete("psIceSheetGrapplers");\n\t\t\trv += " Alien animals &"+(ex?"gripped":"grip")+" the bottom of the ice sheet==psIceSheetGrapplers&, clambering in the dark across their inverted landscape.";\n\t\t}\n\t\tif (context.includes("psJellyfish")) {\n\t\t\tcontext.delete("psJellyfish");\n\t\t\trv += " &Jellyfish-like creatures==psJellyfish& "+(ex?"drifted":"drift")+" on the ocean currents.";\n\t\t}\n\t\tif (context.includes("psFish")) {\n\t\t\tcontext.delete("psFish");\n\t\t\trv += " &Fish-like creatures==psFish& "+(ex?"swam":"swim")+" through the ocean.";\n\t\t}\n\t\tif (context.includes("psSquid")) {\n\t\t\tcontext.delete("psSquid");\n\t\t\trv += " &Squid-like creatures==psSquid& "+(ex?"swam":"swim")+" through the ocean.";\n\t\t}\n\t\tif (context.includes("psJetFish")) {\n\t\t\tcontext.delete("psJetFish");\n\t\t\trv += " Alien animals "+(ex?"propelled":"propel")+" themselves rapidly through the ocean using natural &water jets==psJetFish&.";\n\t\t}\n\t\t\n\t\t\t/* Underground */\n\t\tvar crustWord = "crust";\n\t\tif (planetTraits.includes("pSurfaceIce")) {\n\t\t\tcrustWord = "ice";\n\t\t} else if (planetTraits.includes("pSurfaceRocky")) {\n\t\t\tcrustWord = "rock";\n\t\t}\n\n\t\tif (context.includesAll("psUndergroundPlants")) {\n\t\t\tcontext.delete("psUndergroundPlants");\n\t\t\trv += " &Subterranean plant-like creatures==psUndergroundPlants& "+(ex?"threaded":"thread")+" themselves through the solid "+crustWord+".";\n\t\t}\n\n\t\tif (context.includesAll("psBurrowingWorms")) {\n\t\t\tcontext.delete("psBurrowingWorms","psLifeAnimals","psLifeDetected");\n\t\t\trv += " &Burrowing creatures==psBurrowingWorms& "+(ex?"dug":"dig")+" their way through the "+crustWord;\n\t\t\t\n\t\t\tif (context.includesAll("psBurrowersMadeCaves","psBurrowedOut")) {\n\t\t\t\tcontext.delete("psBurrowersMadeCaves","pCaves","psBurrowedOut","pUnusuallyLight");\n\t\t\t\trv += ", creating such an extensive &cave system==psBurrowersMadeCaves& that the &planetNoun& is "+(ex?"still":"")+" effectively &hollow==psBurrowedOut&";\n\t\t\t} else if (context.includes("psBurrowersMadeCaves")) {\n\t\t\t\tcontext.delete("psBurrowersMadeCaves","pCaves");\n\t\t\t\trv += ", leaving &cave systems==psBurrowersMadeCaves& in their wake";\n\t\t\t} else if (context.includes("psBurrowedOut")) {\n\t\t\t\tcontext.delete("psBurrowedOut","pUnusuallyLight");\n\t\t\t\trv += ", displacing so much material that much of the &planetNoun& is "+(ex?"still":"")+" &hollow==psBurrowedOut&";\n\t\t\t}\n\t\t\trv += ".";\n\t\t}\n\n\n\t\tif (context.includesAll("psCavePlants","psCaveDwellingAnimals")) {\n\t\t\tcontext.delete("psCavePlants","psCaveDwellingAnimals");\n\t\t\trv += " The deep caves "+(ex?"contained":"contain")+" a lightless ecosystem of &plant==psCavePlants& and &animal life==psCaveDwellingAnimals&.";\n\t\t}\n\t\tif (context.includes("psCavePlants")) {\n\t\t\tcontext.delete("psCavePlants");\n\t\t\trv += " &Alien plants==psCavePlants& "+(ex?"grew":"grow")+" in the darkness of the cave system.";\n\t\t}\n\t\tif (context.includes("psCaveDwellingAnimals")) {\n\t\t\tcontext.delete("psCaveDwellingAnimals");\n\t\t\trv += " &Alien animals==psCaveDwellingAnimals& "+(ex?"survived":"survive")+" in the lightless depths of the cave system.";\n\t\t}\n\n\t\tif (context.includesAll("psLifeAnimals")) {\n\t\t\tcontext.delete("psLifeAnimals");\n\t\t\trv += " The &planetNoun& "+(ex?"was once":"is")+" home to &animal life==psLifeAnimals&.";\n\t\t}\n\t\t\n\t\treturn rv;\n\t}\n}\n\n
window.StarDescription = {\n\t\n\t// primary star description\n\t// secondary star description\n\t// system description\n\t\n\t\n\tprimary: function(starTraits) {\n\t\tvar context = clone(starTraits);\n\t\t\n\t\tvar rv = "";\n\t\t\n\t\trv += StarDescription.aColourAndType(context);\n\t\t\n\t\t/* Mass */\n\t\tif (context.includes("tMassTiny")) {\n\t\t\trv += ", &much less massive==tMassTiny& than the sun";\n\t\t} else if (context.includes("tMassSmall")) {\n\t\t\trv += ", &somewhat less massive==tMassSmall& than the sun";\n\t\t} else if (context.includes("tMassMedium")) {\n\t\t\trv += ", &about the same mass==tMassMedium& as the sun";\n\t\t} else if (context.includes("tMassLarge")) {\n\t\t\trv += ", &somewhat more massive==tMassLarge& than the sun";\n\t\t} else if (context.includes("tMassHuge")) {\n\t\t\trv += ", &much more massive==tMassHuge& than the sun";\n\t\t} else {\n\t\t\tconsole.error("Star did not have mass trait");\n\t\t}\n\t\t\n\t\tif (!starTraits.includes("tBlackHole")) {\n\t\t\t/* Luminosity */\n\t\t\tif (context.includes("tLuminosityVeryDim")) {\n\t\t\t\trv += context.includesAny("tMassTiny","tMassSmall")?" and":" but";\n\t\t\t\trv += " &much dimmer==tLuminosityVeryDim&";\n\t\t\t} else if (context.includes("tLuminosityDim")) {\n\t\t\t\trv += context.includesAny("tMassTiny","tMassSmall")?" and":" but";\n\t\t\t\trv += " &somewhat dimmer==tLuminosityDim&";\n\t\t\t} else if (context.includes("tLuminosityMedium")) {\n\t\t\t\trv += context.includesAny("tMassMedium")?" and":" but";\n\t\t\t\trv += " &about as bright==tLuminosityMedium&";\n\t\t\t} else if (context.includes("tLuminosityBright")) {\n\t\t\t\trv += context.includesAny("tMassLarge","tMassHuge")?" and":" but";\n\t\t\t\trv += " &somewhat brighter==tLuminosityBright&";\n\t\t\t} else if (context.includes("tLuminosityVeryBright")) {\n\t\t\t\trv += context.includesAny("tMassLarge","tMassHuge")?" and":" but";\n\t\t\t\trv += " &much brighter==tLuminosityVeryBright&";\n\t\t\t} else {\n\t\t\t\tconsole.error("Star did not have luminosity trait");\n\t\t\t}\n\t\t}\n\t\t\n\t\tcontext.delete("tColourBlue","tColourBlueWhite","tColourWhite","tColourYellowWhite","tColourYellow","tColourOrange","tColourRed","tBlackHole","tSizeHypergiant","tSizeSupergiant","tSizeGiant","tSizeSubgiant","tSizeMainSequence","tSizeDwarf","tMassTiny","tMassSmall","tMassMedium","tMassLarge","tMassHuge","tLuminosityVeryDim","tLuminosityDim","tLuminosityMedium","tLuminosityBright","tLuminosityVeryBright");\n\t\t\n\t\t/* Solar flares */\n\t\tif (context.includes("tSolarFlares")) {\n\t\t\tcontext.delete("tSolarFlares");\n\t\t\trv += ", whose surface frequently erupts into &stellar flares==tSolarFlares&";\n\t\t}\n\n\t\t/* Return */\n\t\treturn rv;\n\t},\n\n\tsecondary: function(starTraits) {\n\t\tvar context = clone(starTraits);\n\t\t\n\t\tvar rv = "";\n\t\t\n\t\trv += StarDescription.aColourAndType(context);\n\t\t/* Solar flares */\n\t\tif (context.includes("tSolarFlares")) {\n\t\t\tcontext.delete("tSolarFlares");\n\t\t\trv += ", whose surface frequently erupts into &stellar flares==tSolarFlares&";\n\t\t}\n\t\treturn rv;\n\t},\n\t\n\tsystemTraits: function(systemTraits) {\n\t\tvar context = clone(systemTraits);\n\t\tvar rv = "";\n\t\tif (context.includesAll("tAsteroids","tNebula")) {\n\t\t\tcontext.delete("tAsteroids","tNebula");\n\t\t\trv += " The system is crowded with minor &asteroids==tAsteroids& and is inside a thick &nebula==tNebula&.";\n\t\t}\n\t\t\n\t\tif (context.includes("tAsteroids")) {\n\t\t\tcontext.delete("tAsteroids");\n\t\t\trv += " The system is crowded with minor &asteroids==tAsteroids&.";\n\t\t}\n\t\tif (context.includes("tNebula")) {\n\t\t\tcontext.delete("tNebula");\n\t\t\trv += " The system is inside a thick &nebula==tNebula&.";\n\t\t}\n\t\t\n\t\t/* Civ + Extinct Civ + any combination of life/extinct life*/\n\t\tif (context.includesAll("tCivDetected","sUpgradeScannerGatewayCiv","tExtinctCivDetected","sUpgradeScannerGatewayExtinctCiv")) {\n\t\t\tcontext.delete("tCivDetected","sUpgradeScannerGatewayCiv","tExtinctCivDetected","sUpgradeScannerGatewayExtinctCiv");\n\t\t\trv += " The Chiron Project detected both &living==tCivDetected& and an &extinct civilisations==tExtinctCivDetected& in this system";\n\t\t\tif (context.includesAll("tLifeDetected","sUpgradeScannerGatewayLife","tExtinctLifeDetected","sUpgradeScannerGatewayExtinctLife")) {\n\t\t\t\tcontext.delete("tLifeDetected","sUpgradeScannerGatewayLife","tExtinctLifeDetected","sUpgradeScannerGatewayExtinctLife");\n\t\t\t\trv += ", as well as both ¤t==tLifeDetected& and &extinct life==tExtinctLifeDetected&.";\n\t\t\t} else if (context.includesAll("tLifeDetected","sUpgradeScannerGatewayLife")) {\n\t\t\t\tcontext.delete("tLifeDetected","sUpgradeScannerGatewayLife");\n\t\t\t\trv += ", as well as active &life signs==tLifeDetected&.";\n\t\t\t} else if (context.includesAll("tExtinctLifeDetected","sUpgradeScannerGatewayExtinctLife")) {\n\t\t\t\tcontext.delete("tExtinctLifeDetected","sUpgradeScannerGatewayExtinctLife");\n\t\t\t\trv += ", as well as at least one active &extinct ecosystem==tExtinctLifeDetected&.";\n\t\t\t} else {\n\t\t\t\trv += ".";\n\t\t\t}\n\t\t\tif (context.includesAll("tGatewayUsed","sUpgradeScannerGatewayUsed")) {\n\t\t\t\tcontext.delete("tGatewayUsed");\n\t\t\t\trv += " There are also signs that a &spacefaring civilisation==tGatewayUsed& has used the system's Gate.";\n\t\t\t}\n\n\t\t/* Civ + Life + Extinct Life */\n\t\t} else if (context.includesAll("tCivDetected","sUpgradeScannerGatewayCiv","tLifeDetected","sUpgradeScannerGatewayLife","tExtinctLifeDetected","sUpgradeScannerGatewayExtinctLife")) {\n\t\t\tcontext.delete("tCivDetected","tLifeDetected","tExtinctLifeDetected");\n\t\t\trv += " The Chiron Project detected at least one &living civilisation==tCivDetected& in this system, as well both ¤t==tLifeDetected& and &extinct life==tExtinctLifeDetected&.";\n\t\t\tif (context.includesAll("tGatewayUsed","sUpgradeScannerGatewayUsed")) {\n\t\t\t\tcontext.delete("tGatewayUsed");\n\t\t\t\trv += " There are also signs that a &spacefaring civilisation==tGatewayUsed& has used the system's Gate.";\n\t\t\t}\n\n\t\t/* Civ + Life */\n\t\t} else if (context.includesAll("tCivDetected","sUpgradeScannerGatewayCiv","tLifeDetected","sUpgradeScannerGatewayLife")) {\n\t\t\tcontext.delete("tCivDetected","tLifeDetected");\n\t\t\trv += " The Chiron Project detected &life==tLifeDetected& and at least one &civilisation==tCivDetected& in this system";\n\t\t\tif (context.includesAll("tGatewayUsed","sUpgradeScannerGatewayUsed")) {\n\t\t\t\tcontext.delete("tGatewayUsed");\n\t\t\t\trv += ", as well as signs that a &spacefaring civilisation==tGatewayUsed& has used the system's Gate.";\n\t\t\t} else {\n\t\t\t\trv += ".";\n\t\t\t}\n\n\t\t/* Extinct Civ + Life + Extinct Life */\n\t\t} else if (context.includesAll("tExtinctCivDetected","sUpgradeScannerGatewayExtinctCiv","tLifeDetected","sUpgradeScannerGatewayLife","tExtinctLifeDetected","sUpgradeScannerGatewayExtinctLife")) {\n\t\t\tcontext.delete("tExtinctCivDetected","tLifeDetected","tExtinctLifeDetected");\n\t\t\trv += " The Chiron Project detected at least one &dead civilisation==tCivDetected& in this system, as well both ¤t==tLifeDetected& and &extinct life==tExtinctLifeDetected&.";\n\t\t\tif (context.includesAll("tGatewayUsed","sUpgradeScannerGatewayUsed")) {\n\t\t\t\tcontext.delete("tGatewayUsed");\n\t\t\t\trv += " There are also signs that a &spacefaring civilisation==tGatewayUsed& has used the system's Gate.";\n\t\t\t}\n\n\t\t/* Extinct Civ + Extinct Life */\n\t\t} else if (context.includesAll("tExtinctCivDetected","sUpgradeScannerGatewayExtinctCiv","tExtinctLifeDetected","sUpgradeScannerGatewayExtinctLife")) {\n\t\t\tcontext.delete("tExtinctCivDetected","tExtinctLifeDetected");\n\t\t\trv += " The Chiron Project detected the remains of at least one &dead civilisation==tExtinctCivDetected& and &extinct ecosystem==tExtinctLifeDetected& in this system";\n\t\t\tif (context.includesAll("tGatewayUsed","sUpgradeScannerGatewayUsed")) {\n\t\t\t\tcontext.delete("tGatewayUsed");\n\t\t\t\trv += ", as well as signs that a &spacefaring civilisation==tGatewayUsed& has used the system's Gate.";\n\t\t\t} else {\n\t\t\t\trv += ".";\n\t\t\t}\n\n\t\t/* Civ + no life */\n\t\t} else if (context.includesAll("tCivDetected","sUpgradeScannerGatewayCiv")) {\n\t\t\tcontext.delete("tCivDetected");\n\t\t\trv += " The Chiron Project detected &intelligent life==tCivDetected& in this system";\n\t\t\tif (context.includesAll("tGatewayUsed","sUpgradeScannerGatewayUsed")) {\n\t\t\t\tcontext.delete("tGatewayUsed");\n\t\t\t\trv += ", as well as signs that a &spacefaring civilisation==tGatewayUsed& has used the system's Gate.";\n\t\t\t} else {\n\t\t\t\trv += ".";\n\t\t\t}\n\n\t\t/* Extinct Civ + no life */\n\t\t} else if (context.includesAll("tExtinctCivDetected","sUpgradeScannerGatewayExtinctCiv")) {\n\t\t\tcontext.delete("tExtinctCivDetected");\n\t\t\trv += " The Chiron Project detected at least one &dead civilisation==tExtinctCivDetected& in this system";\n\t\t\tif (context.includesAll("tGatewayUsed","sUpgradeScannerGatewayUsed")) {\n\t\t\t\tcontext.delete("tGatewayUsed");\n\t\t\t\trv += ", as well as signs that a &spacefaring civilisation==tGatewayUsed& has used the system's Gate.";\n\t\t\t} else {\n\t\t\t\trv += ".";\n\t\t\t}\n\t\t\n\t\t/* Life + Extinct Life + no civ */\n\t\t} else if (context.includesAll("tLifeDetected","sUpgradeScannerGatewayLife","tExtinctLifeDetected","sUpgradeScannerGatewayExtinctLife")) {\n\t\t\tcontext.delete("tLifeDetected","tExtinctLifeDetected");\n\t\t\trv += " The Chiron Project detected both ¤t==tLifeDetected& and &extinct life==tExtinctLifeDetected& in this system";\n\t\t\tif (context.includesAll("tGatewayUsed","sUpgradeScannerGatewayUsed")) {\n\t\t\t\tcontext.delete("tGatewayUsed");\n\t\t\t\trv += ", as well as signs that a &spacefaring civilisation==tGatewayUsed& has used the system's Gate.";\n\t\t\t} else {\n\t\t\t\trv += ".";\n\t\t\t}\n\t\t\n\t\t/* Life + no civ */\n\t\t} else if (context.includesAll("tLifeDetected","sUpgradeScannerGatewayLife")) {\n\t\t\tcontext.delete("tLifeDetected");\n\t\t\trv += " The Chiron Project detected &life==tLifeDetected& in this system";\n\t\t\tif (context.includesAll("tGatewayUsed","sUpgradeScannerGatewayUsed")) {\n\t\t\t\tcontext.delete("tGatewayUsed");\n\t\t\t\trv += ", as well as signs that a &spacefaring civilisation==tGatewayUsed& has used the system's Gate.";\n\t\t\t} else {\n\t\t\t\trv += ".";\n\t\t\t}\n\n\t\t} else if (context.includesAll("tExtinctLifeDetected","sUpgradeScannerGatewayExtinctLife")) {\n\t\t\trv += " The Chiron Project detected an &extinct ecosystem==tExtinctLifeDetected& in this system";\n\t\t\tif (context.includesAll("tGatewayUsed")) {\n\t\t\t\tcontext.delete("tGatewayUsed");\n\t\t\t\trv += ", as well as signs that a &spacefaring civilisation==tGatewayUsed& has used the system's Gate.";\n\t\t\t} else {\n\t\t\t\trv += ".";\n\t\t\t}\n\n\t\t} else if (context.includesAll("tGatewayUsed","sUpgradeScannerGatewayUsed")) {\n\t\t\tcontext.delete("tGatewayUsed");\n\t\t\trv += " The Chiron Project detected signs that a &spacefaring civilisation==tGatewayUsed& has used the system's Gate.";\n\t\t}\n\t\t\n\t\treturn rv;\n\t},\n\t\n\taColourAndType: function(context) {\n\t\tvar rv = "";\n\t\tif (context.includes("tBlackHole")) {\n\t\t\trv += "a &black hole==tBlackHole&";\n\t\t} else if (context.includes("tNeutronStar")) {\n\t\t\trv += "a &neutron star==tNeutronStar&";\n\t\t} else if (context.includes("tPulsar")) {\n\t\t\trv += "a &pulsar==tPulsar&";\n\t\t} else if (context.includes("tWhiteDwarf")) {\n\t\t\trv += "a &white dwarf==tWhiteDwarf&";\n\t\t} else {\n\t\t\t/* Generic stars */\n\t\t\t\n\t\t\t/* Colour */\n\t\t\tif (context.includes("tColourBlue")) {\n\t\t\t\trv += "a &blue==tColourBlue&";\n\t\t\t} else if (context.includes("tColourBlueWhite")) {\n\t\t\t\trv += "a &blue-white==tColourBlueWhite&";\n\t\t\t} else if (context.includes("tColourWhite")) {\n\t\t\t\trv += "a &white==tColourWhite&";\n\t\t\t} else if (context.includes("tColourYellowWhite")) {\n\t\t\t\trv += "a &yellow-white==tColourYellowWhite&";\n\t\t\t} else if (context.includes("tColourYellow")) {\n\t\t\t\trv += "a &yellow==tColourYellow&";\n\t\t\t} else if (context.includes("tColourOrange")) {\n\t\t\t\trv += "an &orange==tColourOrange&";\n\t\t\t} else if (context.includes("tColourRed")) {\n\t\t\t\trv += "a &red==tColourRed&";\n\t\t\t} else {\n\t\t\t\tconsole.error("Star did not have colour trait");\n\t\t\t}\n\t\t\t\n\t\t\t/* Size */\n\t\t\tif (context.includes("tSizeHypergiant")) {\n\t\t\t\trv += " &hypergiant==tSizeHypergiant&";\n\t\t\t} else if (context.includes("tSizeSupergiant")) {\n\t\t\t\trv += " &supergiant==tSizeSupergiant&";\n\t\t\t} else if (context.includes("tSizeGiant")) {\n\t\t\t\trv += " &giant==tSizeGiant&";\n\t\t\t} else if (context.includes("tSizeSubgiant")) {\n\t\t\t\trv += " &subgiant==tSizeSubgiant&";\n\t\t\t} else if (context.includes("tSizeMainSequence")) {\n\t\t\t\trv += " &main sequence==tSizeMainSequence& star";\n\t\t\t} else if (context.includes("tSizeDwarf")) {\n\t\t\t\trv += " &dwarf==tSizeDwarf&";\n\t\t\t} else {\n\t\t\t\tconsole.error("Star did not have size trait");\n\t\t\t}\n\t\t}\n\t\treturn rv;\n\t},\n}\n\n\n
window.getPossibleCivTempNames = function(traits) {\n\t\n\tvar possibleNames = [];\n\n\tif (traits.includes("plsExtinctionMeddlingCiv"))\t{ possibleNames.pushUnique("Life Destroyers","Exterminators","Reavers"); }\n\tif (traits.includes("plsUpliftingInProgress"))\t\t{ possibleNames.pushUnique("Uplifters","Enlighteners"); }\n\tif (traits.includes("plsHeldBackFromSapience"))\t\t{ possibleNames.pushUnique("Inhibitors","Sapience Inhibitors"); }\n\tif (traits.includes("plsLifeSeededByAliens"))\t\t{ possibleNames.pushUnique("Life Seeders","Genesis Aliens"); }\n\tif (traits.includes("plsBloodSportWorld"))\t\t\t{ possibleNames.pushUnique("Gamekeepers","Blood Sport Civilisation"); }\n\tif (traits.includes("plsEngineeredSafeEcosystem"))\t{ possibleNames.pushUnique("Zookeepers","Safety Engineers"); }\n\n\tif (traits.includes("cCivIncludesAliens"))\t\t\t{ possibleNames.pushUnique("Minglers","Arrivals"); }\n\tif (traits.includes("cMeddlingStasis"))\t\t\t\t{ possibleNames.pushUnique("Technology Inhibitors"); }\n\tif (traits.includes("cRealAncientAliensMyth"))\t\t{ possibleNames.pushUnique("Ancients","Visitors","Forerunners","Precursors"); }\n\tif (traits.includes("cxKilledByAliens"))\t\t\t{ possibleNames.pushUnique("Berserkers","Civilisation Destroyers"); }\n\n\tif (traits.includes("psBattleDebrisRing"))\t\t\t{ possibleNames.pushUnique("Orbital Warriors"); }\n\tif (traits.includes("psOrbitalArtworks"))\t\t\t{ possibleNames.pushUnique("Orbital Artists"); }\n\tif (traits.includes("psMonument"))\t\t\t\t\t{ possibleNames.pushUnique("Monument Builders","Sculptors"); }\n\tif (traits.includes("psPaintedSurface"))\t\t\t{ possibleNames.pushUnique("Painters"); }\n\tif (traits.includes("psAliensMadeOcean"))\t\t\t{ possibleNames.pushUnique("Ocean Engineers","Water Engineers","Ocean Buiders"); }\n\tif (traits.includes("psAliensMadeOxygen"))\t\t\t{ possibleNames.pushUnique("Atmosphere Engineers","Atmosphere Builders"); }\n\tif (traits.includes("psMinedOut"))\t\t\t\t\t{ possibleNames.pushUnique("Miners","Hollowers","Extractors"); }\n\tif (traits.includes("psAlienMeteorBombardment"))\t{ possibleNames.pushUnique("Pulverisers","Meteor Throwers","Bombardiers"); }\n\tif (traits.includes("psNanomachineDust"))\t\t\t{ possibleNames.pushUnique("Nanotechnicians","Nanobot Builders"); }\n\tif (traits.includes("psAlienIndustrySulphur"))\t\t{ possibleNames.pushUnique("Sulphur Engineers"); }\n\tif (traits.includes("psAlienIndustryNitrogen"))\t\t{ possibleNames.pushUnique("Nitrogen Engineers"); }\n\tif (traits.includes("psAliensChangedOrbit"))\t\t{ possibleNames.pushUnique("Orbital Engineers","World Movers","Planet Movers"); }\n\tif (traits.includes("psAliensStoleWater"))\t\t\t{ possibleNames.pushUnique("Water Thieves","Water Extractors","Hydrophiles"); }\n\tif (traits.includes("psSaltExcretingNanites"))\t\t{ possibleNames.pushUnique("Salt Extractors"); }\n\tif (traits.includes("psTechnologicalHeating"))\t\t{ possibleNames.pushUnique("Subsurface Engineers"); }\n\tif (traits.includes("psMeddlingCivGreenhouse"))\t\t{ possibleNames.pushUnique("Industrialists","Polluters","Global Warmers","Greenhouse Civilisation"); }\n\tif (traits.includes("psGasGiantIndustryHeat"))\t\t{ possibleNames.pushUnique("Gas Engineers","Gas Giant Engineers","Gas Giant Industrialists"); }\n\tif (traits.includes("psInternalMeddlingCivStructure"))\t{ possibleNames.pushUnique("Machine Builders","Machinists"); }\n\tif (traits.includes("psAlienBombardmentCraters"))\t{ possibleNames.pushUnique("Craterers","Meteor Throwers","Bombardiers"); }\n\tif (traits.includes("psGroundRobots"))\t\t\t\t{ possibleNames.pushUnique("Roboticists","Robot Builders"); }\n\tif (traits.includes("psSurfaceSolarPanels"))\t\t{ possibleNames.pushUnique("Panel Builders","Solar Power Aliens"); }\n\n\tif (traits.includes("psDysonSwarm"))\t\t\t\t{ possibleNames.pushUnique("Star Cagers","Swarm Builders"); }\n\tif (traits.includes("psHabitatBelt"))\t\t\t\t{ possibleNames.pushUnique("Ring Dwellers","Belt Dwellers"); }\n\tif (traits.includes("psReplicatorBelt"))\t\t\t{ possibleNames.pushUnique("Replicators","Replicator Builders"); }\n\tif (traits.includes("psExPlanetWorldbreakers"))\t\t{ possibleNames.pushUnique("Worldbreakers","World Destroyers","Planet Smashers"); }\n\tif (traits.includes("psActuallyASpaceStation"))\t\t{ possibleNames.pushUnique("World Builders","Artificial Planet Dwellers"); }\n\n\tif (traits.includes("plsArtificialSpaceWhale"))\t\t{ possibleNames.pushUnique("Organism Builders"); }\n\tif (traits.includes("plsUpliftedSpaceWhale"))\t\t{ possibleNames.pushUnique("Organism Uplifters"); }\n\n\tif (traits.includes("psColonyShip"))\t\t\t\t{ possibleNames.pushUnique("Colony Ship Builders","Colonists"); }\n\tif (traits.includes("psExperimentationShip"))\t\t{ possibleNames.pushUnique("Experimenters","Scientists"); }\n\tif (traits.includes("psExplorationShip"))\t\t\t{ possibleNames.pushUnique("Starfarers","Searchers","Wayfarers","Voyagers"); }\n\tif (traits.includes("psMiningShip"))\t\t\t\t{ possibleNames.pushUnique("Miners","Extractors"); }\n\tif (traits.includes("psGenerationShip"))\t\t\t{ possibleNames.pushUnique("Voyagers","Generation Ship Builders"); }\n\tif (traits.includes("psWarShip"))\t\t\t\t\t{ possibleNames.pushUnique("Warriors","Warship Builders"); }\n\tif (traits.includes("psSleeperShip"))\t\t\t\t{ possibleNames.pushUnique("Cryo-Voyagers","Silent Voyagers"); }\n\tif (traits.includes("psTerraformingShip"))\t\t\t{ possibleNames.pushUnique("Terraformers","World Shapers"); }\n\n\tif (traits.includes("psColonyOutpost"))\t\t\t\t{ possibleNames.pushUnique("Colonists","Settlers"); }\n\tif (traits.includes("psExperimentationBase"))\t\t{ possibleNames.pushUnique("Experimenters","Scientists"); }\n\tif (traits.includes("psObservationPost"))\t\t\t{ possibleNames.pushUnique("Observers","Watchers"); }\n\tif (traits.includes("psMiningBase"))\t\t\t\t{ possibleNames.pushUnique("Miners","Extractors"); }\n\tif (traits.includes("psSpaceHabitat"))\t\t\t\t{ possibleNames.pushUnique("Void Dwellers","Habitat Dwellers","Space Dwellers"); }\n\tif (traits.includes("psMilitaryBase"))\t\t\t\t{ possibleNames.pushUnique("Defenders","Fortress Builders","Warriors"); }\n\tif (traits.includes("psSleeperStation"))\t\t\t{ possibleNames.pushUnique("Sleepers","Silent","Cryo-Sleepers"); }\n\tif (traits.includes("psTerraformingStation"))\t\t{ possibleNames.pushUnique("Terraformers","World Shapers","Planet Shapers"); }\n\n\tif (traits.includes("icEcoEngineering"))\t\t\t{ possibleNames.pushUnique("Eco-Engineers","Life Engineers"); }\n\tif (traits.includes("icNanotech"))\t\t\t\t\t{ possibleNames.pushUnique("Nanotechnicians","Nanobot Builders"); }\n\tif (traits.includes("icPlanetMoving"))\t\t\t\t{ possibleNames.pushUnique("System Engineers","World Movers","Planet Movers"); }\n\tif (traits.includes("icPlanetEngineering"))\t\t\t{ possibleNames.pushUnique("Planet Engineers","World Engineers"); }\n\tif (traits.includes("icSelfReplicatingMachines"))\t{ possibleNames.pushUnique("Replicators","Swarm Builders","Replicator Builders"); }\n\tif (traits.includes("icColonisers"))\t\t\t\t{ possibleNames.pushUnique("Colonists","Settlers"); }\n\tif (traits.includes("icExperimenters"))\t\t\t\t{ possibleNames.pushUnique("Experimenters","Scientists"); }\n\tif (traits.includes("icExploiters"))\t\t\t\t{ possibleNames.pushUnique("Exploiters","Extractors"); }\n\tif (traits.includes("icObservers"))\t\t\t\t\t{ possibleNames.pushUnique("Observers","Watchers"); }\n\tif (traits.includes("icSpaceHabitation"))\t\t\t{ possibleNames.pushUnique("Void Dwellers","Space Dwellers"); }\n\tif (traits.includes("icSpaceWarfare"))\t\t\t\t{ possibleNames.pushUnique("Warriors","Star Warriors"); }\n\tif (traits.includes("icSuspendedAnimation"))\t\t{ possibleNames.pushUnique("Sleepers","Cryo-Sleepers"); }\n\tif (traits.includes("icTerraformers"))\t\t\t\t{ possibleNames.pushUnique("Terraformers","World Shapers"); }\n\tif (traits.includes("icExterminators"))\t\t\t\t{ possibleNames.pushUnique("Exterminators","Life Destroyers"); }\n\tif (traits.includes("icInterferers"))\t\t\t\t{ possibleNames.pushUnique("Meddlers","Civilisation Meddlers"); }\n\tif (traits.includes("icArtists"))\t\t\t\t\t{ possibleNames.pushUnique("Artists","Inspired"); }\n\n\tif (possibleNames.length == 0){\n\t\tpossibleNames.pushUnique("Aliens","Gate Travelers","Others","Space Dwellers","Spacefarers","Starfarers","Travelers","Voyagers","Wanderers","Xenos"\t);\n\t}\n\t\n\treturn possibleNames;\n}
DEBUG: Blank Event\n\n<<nextEventLink>>
window.EventLists = {\n\tgatewayJourney: [\n\t\t{\tpassage: "Gateway Sickness",\n\t\t\t\tgetWeight: function(context) { return 10;} },\n\t\t{\tpassage: "Gateway Vortex Being",\n\t\t\t\tgetWeight: function(context) { return 10;} },\n\t\t{\tpassage: "Gateway Storm",\n\t\t\t\tgetWeight: function(context) { return 10;} },\n\t\t{\tpassage: "Gateway Overload",\n\t\t\t\tgetWeight: function(context) { return 10;} },\n\t\t{\tpassage: "Gateway Inspiration",\n\t\t\t\tgetWeight: function(context) { return 10;} },\n\t\t{\tpassage: "Gateway Rock",\n\t\t\t\tgetWeight: function(context) { return 10;} },\n\t\t{\tpassage: "Gateway Lattice",\n\t\t\t\tgetWeight: function(context) { return 10;} },\n\t\t{\tpassage: "Gateway Biolab",\n\t\t\t\tgetWeight: function(context) { return 10;} },\n\t\t// {\tpassage: "Gateway Change",\n\t\t\t\t// getWeight: function(context) {\n\t\t\t\t\t// if (!variables().someoneBecameChanged && variables().gameStats.systemsVisited >= 3) { return 5;}\n\t\t\t\t\t// else {return 0;}} },\n\t],\n\tinterplanetary: [\n\t\t\t/* Stuff happens */\n\t\t{\tpassage: "Interplanetary Illness",\n\t\t\t\tgetWeight: function(context) { return 10;} },\n\t\t{\tpassage: "Interplanetary Obstacle",\n\t\t\t\tgetWeight: function(context) {\n\t\t\t\t\tif (context.includes("sUpgradeShipAsteroids")) { return 0; }\n\t\t\t\t\telse if (context.includesAll("tAsteroids")) { return 20;}\n\t\t\t\t\telse {return 5;}} },\n\t\t{\tpassage: "Interplanetary Solar Flare",\n\t\t\t\tgetWeight: function(context) {\n\t\t\t\t\tif (context.includes("sUpgradeShipRadiationShielding")) { return 0; }\n\t\t\t\t\telse if (context.includesAll("tSolarFlares")) { return 20;}\n\t\t\t\t\telse {return 0;}} },\n\t\t{\tpassage: "Interplanetary Nebula Problem",\n\t\t\t\tgetWeight: function(context) {\n\t\t\t\t\tif (context.includes("sUpgradeShipNebula")) { return 0; }\n\t\t\t\t\telse if (context.includesAll("tNebula")) { return 50;}\n\t\t\t\t\telse {return 0;}} },\n\t\t{\tpassage: "Interplanetary Mourning",\n\t\t\t\tgetWeight: function(context) {\n\t\t\t\t\tif (variables().deadCrew.length >= variables().crew.length) { return 50; }\n\t\t\t\t\telse if (variables().deadCrew.length > 0) { return 20; }\n\t\t\t\t\telse { return 0; }}},\n\t\t{\tpassage: "Interplanetary Romance",\n\t\t\t\tgetWeight: function(context) {\n\t\t\t\t\tif (variables().crew.length >= 2) { return 1; }\n\t\t\t\t\telse { return 0; }}},\n\t\t\t/* Consequences of damage */\n\t\t{\tpassage: "Interplanetary Damaged Medbay Sickness",\n\t\t\t\tgetWeight: function(context) {\n\t\t\t\t\tif (context.includesAll("sDamageMedbay")) { return 100;}\n\t\t\t\t\telse {return 0;}} },\n\t\t{\tpassage: "Interplanetary Damaged Fabricator Sickness",\n\t\t\t\tgetWeight: function(context) {\n\t\t\t\t\tif (context.includesAll("sDamageFabricator")) { return 100;}\n\t\t\t\t\telse {return 0;}} },\n\t\t{\tpassage: "Interplanetary Damaged Biolab Sickness",\n\t\t\t\tgetWeight: function(context) {\n\t\t\t\t\tif (context.includesAll("sDamageBiolab") && variables().discoveredTraits["plNotExtinct"]) { return 100;}\n\t\t\t\t\telse {return 0;}} },\n\t\t{\tpassage: "Interplanetary Damaged Engine Sickness",\n\t\t\t\tgetWeight: function(context) {\n\t\t\t\t\tif (context.includesAll("sDamageInterplanetaryEngine")) { return 100;}\n\t\t\t\t\telse {return 0;}} },\n\t\t{\tpassage: "Interplanetary Damaged Life Support Sickness",\n\t\t\t\tgetWeight: function(context) {\n\t\t\t\t\tif (context.includesAll("sDamageLifeSupport")) { return 100;}\n\t\t\t\t\telse {return 0;}} },\n\t\t\t/* Conditions worsen */\n\t\t{\tpassage: "Interplanetary Radiation Sickness Worsens",\n\t\t\t\tgetWeight: function(context) {\n\t\t\t\t\tif (context.includesAll("eRadiationSickness")) { return 10;}\n\t\t\t\t\telse {return 0;}} },\n\t\t{\tpassage: "Interplanetary Illness Worsens",\n\t\t\t\tgetWeight: function(context) {\n\t\t\t\t\tif (context.includesAll("eTerrestrialInfection")) { return 10;}\n\t\t\t\t\telse {return 0;}} },\n\t\t{\tpassage: "Interplanetary Depression Problem",\n\t\t\t\tgetWeight: function(context) {\n\t\t\t\t\tif (context.includesAll("eDepressed") && variables().crew.length >= 2) { return 10;}\n\t\t\t\t\telse {return 0;}} },\n\t\t\t/* Conditions wear off */\n\t\t{\tpassage: "Interplanetary Wormhole Sickness Wears Off",\n\t\t\t\tgetWeight: function(context) {\n\t\t\t\t\tif (context.includesAll("eWormholeSickness")) { return 20;}\n\t\t\t\t\telse {return 0;}} },\n\t\t{\tpassage: "Interplanetary Terrestrial Illness Wears Off",\n\t\t\t\tgetWeight: function(context) {\n\t\t\t\t\tif (context.includesAll("eTerrestrialInfection")) { return 10;}\n\t\t\t\t\telse {return 0;}} },\n\t\t\t/* Stuff to do with the planet we're approaching */\n\t\t{\tpassage: "Orbit Radio Contact",\n\t\t\t\tgetWeight: function(context) {\n\t\t\t\t\tif (context.includes("cNotExtinct") && context.includesAny("ctIndustrial","ctDigital","ctSpacefaring") && !context.includes("cKnowName")) { return 500; }\n\t\t\t\t\telse { return 0;}} },\n\t\t{\tpassage: "Starship Initiate Attack",\n\t\t\t\tgetWeight: function(context,focusTraits) {\n\t\t\t\t\tif (context.includesAll("psOrbitingStarship","psWarShip") && !context.includes("psOrbitalDerelict")) { return 500;}\n\t\t\t\t\telse {return 0;}} },\n\t\t{\tpassage: "Orbit Black Hole Caught",\n\t\t\t\tgetWeight: function(context) {\n\t\t\t\t\tif (context.includesAll("tBlackHole","pCloseOrbit") && !context.includesAny("pIsMoon")) { return 5000; }\n\t\t\t\t\telse { return 0;}} },\n\t\t{\tpassage: "Orbit Black Hole Risk",\n\t\t\t\tgetWeight: function(context) {\n\t\t\t\t\tif (context.includesAll("tBlackHole","pCloseOrbit") && !context.includesAny("pIsMoon")) { return 5000; }\n\t\t\t\t\telse { return 0;}} },\n\t\t/* NEW FOR 1.1.0 */\n\t\t{\tpassage: "Interplanetary Sunshine",\n\t\t\t\tgetWeight: function(context) {\n\t\t\t\t\tif (context.includesAny("tLuminosityVeryBright","tLuminosityBright") && context.includesAll("pCloseOrbit") && !context.includesAny("pIsMoon")) { return 100; }\n\t\t\t\t\telse { return 0;}} },\n\t\t{\tpassage: "",\n\t\t\t\tgetWeight: function(context) { return 100;}\t}\n\t],\n\t\t\t/* Landing and takeoff flavour passages are included above the planet desc, not treated as "proper" events */\n\tlandingFlavour: [\n\t\t{\tpassage: "Landing Flavour Text Default",\n\t\t\t\tgetWeight: function(context) {\n\t\t\t\t\tif (context.includesAny("pTerrestrialPlanet","pMinorPlanet")) { return 1;}\n\t\t\t\t\telse {return 0;}} },\n\t\t{\tpassage: "Landing Flavour Text Gas Giant",\n\t\t\t\tgetWeight: function(context) {\n\t\t\t\t\tif (context.includesAll("pGasGiant")) { return 1;}\n\t\t\t\t\telse {return 0;}} },\n\t\t{\tpassage: "Landing Flavour Text Belt",\n\t\t\t\tgetWeight: function(context) {\n\t\t\t\t\tif (context.includesAll("pBelt")) { return 1;}\n\t\t\t\t\telse {return 0;}} },\n\t\t{\tpassage: "Landing Flavour Text Dust",\n\t\t\t\tgetWeight: function(context) {\n\t\t\t\t\tif (context.includesAll("pDust","pTerrestrialPlanet")) { return 10;}\n\t\t\t\t\telse {return 0;}} },\n\t\t{\tpassage: "Landing Flavour Text Planetwide Ocean",\n\t\t\t\tgetWeight: function(context) {\n\t\t\t\t\tif (context.includesAll("pOceanPlanetwide","pTerrestrialPlanet")) { return 10;}\n\t\t\t\t\telse {return 0;}} },\n\t\t{\tpassage: "Landing Flavour Text Wind",\n\t\t\t\tgetWeight: function(context) {\n\t\t\t\t\tif (context.includesAll("pWind","pTerrestrialPlanet")) { return 10;}\n\t\t\t\t\telse {return 0;}} },\n\t\t{\tpassage: "Landing Flavour Text High Gravity",\n\t\t\t\tgetWeight: function(context) {\n\t\t\t\t\tif (context.includesAll("pGravHigh","pTerrestrialPlanet")) { return 10;}\n\t\t\t\t\telse {return 0;}} },\n\t\t{\tpassage: "Landing Flavour Text Lava Ocean",\n\t\t\t\tgetWeight: function(context) {\n\t\t\t\t\tif (context.includes("pOceanLava") && !context.includes("pOceanPlanetwide")) { return 10;}\n\t\t\t\t\telse {return 0;}} }\n\t],\n\t\t\t/* Landing and takeoff flavour passages are included above the planet desc, not treated as "proper" events */\n\ttakeoffFlavour: [\n\t\t{\tpassage: "Takeoff Flavour Text Default",\n\t\t\t\tgetWeight: function(context) {\n\t\t\t\t\tif (context.includesAny("pTerrestrialPlanet","pMinorPlanet")) { return 10;}\n\t\t\t\t\telse {return 0;}} },\n\t\t{\tpassage: "Takeoff Flavour Text Gas Giant",\n\t\t\t\tgetWeight: function(context) {\n\t\t\t\t\tif (context.includesAll("pGasGiant")) { return 10;}\n\t\t\t\t\telse {return 0;}} },\n\t\t{\tpassage: "Takeoff Flavour Text Belt",\n\t\t\t\tgetWeight: function(context) {\n\t\t\t\t\tif (context.includesAll("pBelt")) { return 10;}\n\t\t\t\t\telse {return 0;}} },\n\t\t{\tpassage: "Takeoff Flavour Text Dust",\n\t\t\t\tgetWeight: function(context) {\n\t\t\t\t\tif (context.includesAll("pDust","pTerrestrialPlanet")) { return 10;}\n\t\t\t\t\telse {return 0;}} },\n\t\t{\tpassage: "Takeoff Flavour Text Wind",\n\t\t\t\tgetWeight: function(context) {\n\t\t\t\t\tif (context.includesAll("pWind","pTerrestrialPlanet")) { return 10;}\n\t\t\t\t\telse {return 0;}} },\n\t\t{\tpassage: "Takeoff Flavour Text High Gravity",\n\t\t\t\tgetWeight: function(context) {\n\t\t\t\t\tif (context.includesAll("pGravHigh","pTerrestrialPlanet")) { return 10;}\n\t\t\t\t\telse {return 0;}} }\n\t],\n\tlanding: [\n\t\t{\tpassage: "Wind Vortex",\n\t\t\t\tgetWeight: function(context) {\n\t\t\t\t\tif (context.includesAll("pOceanLava","pOceanPlanetwide")) { return 0;}\n\t\t\t\t\telse if (context.includes("pWind") && !context.includes("sUpgradeShipWings")) { return 10;}\n\t\t\t\t\telse {return 0;}}\t},\n\t\t{\tpassage: "No Landing Site",\n\t\t\t\tgetWeight: function(context) {\n\t\t\t\t\tif (context.includesAll("pOceanLava","pOceanPlanetwide")) { return 0;}\n\t\t\t\t\telse if (context.includes("pCraggy") && !context.includes("sUpgradeShipLandingGear")) { return 10;}\n\t\t\t\t\telse {return 0;}} },\n\t\t{\tpassage: "Landing Radio Contact",\n\t\t\t\tgetWeight: function(context) {\n\t\t\t\t\tif (context.includesAll("pOceanLava","pOceanPlanetwide")) { return 0;}\n\t\t\t\t\telse if (context.includes("cNotExtinct") && context.includesAny("ctIndustrial","ctDigital","ctSpacefaring") && !context.includes("cKnowName")) { return 50; }\n\t\t\t\t\telse { return 0;}} },\n\t\t{\tpassage: "Landing Missile Attack",\n\t\t\t\tgetWeight: function(context) {\n\t\t\t\t\tif (context.includesAll("pOceanLava","pOceanPlanetwide")) { return 0;}\n\t\t\t\t\telse if (context.includes("cNotExtinct") && context.includesAny("ctIndustrial","ctDigital","ctSpacefaring") && !context.includes("cKnowName")) { return 50; }\n\t\t\t\t\telse { return 0;}} },\n\t\t{\tpassage: "Landing Damaged Landing Engine Crash",\n\t\t\t\tgetWeight: function(context) {\n\t\t\t\t\tif (context.includesAll("pOceanLava","pOceanPlanetwide")) { return 0;}\n\t\t\t\t\telse if (context.includesAll("sDamageLandingEngine")) { return 100;}\n\t\t\t\t\telse {return 0;}} },\n\t\t{\tpassage: "Landing Lava Ocean",\n\t\t\t\tgetWeight: function(context) {\n\t\t\t\t\tif (context.includesAll("pOceanLava","pOceanPlanetwide")) { return 1000;}\n\t\t\t\t\telse {return 0;}} },\n\t],\n\torbit: [\n\t\t{\tpassage: "Orbit Curious Space Whale",\n\t\t\t\tgetWeight: function(context,focusTraits) {\n\t\t\t\t\tif (context.includesAny("psOrbitingSpaceWhale","psSpaceWhaleSwarm")) { return 50;}\n\t\t\t\t\telse {return 0;}} },\n\t\t{\tpassage: "Starship Initiate Attack",\n\t\t\t\tgetWeight: function(context,focusTraits) {\n\t\t\t\t\tif (context.includesAll("psOrbitingStarship","psWarShip") && !context.includes("psOrbitalDerelict")) { return 50;}\n\t\t\t\t\telse {return 0;}} },\n\t\t{\tpassage: "Orbit Space Whale Armour Unlock",\n\t\t\t\tgetWeight: function(context,focusTraits) {\n\t\t\t\t\tif (focusTraits.includesAny("psOrbitingSpaceWhale","psSpaceWhaleSwarm","psActuallyASpaceWhale")\n\t\t\t\t\t\t&& !variables().researchableUpgrades.includes("sUpgradeArmourBio")) { return 500;}\n\t\t\t\t\telse {return 0;}} },\n\t\t{\tpassage: "Orbit Meteors",\n\t\t\t\tgetWeight: function(context,focusTraits) {\n\t\t\t\t\tif (context.includes("sUpgradeShipAsteroids")) { return 0; }\n\t\t\t\t\telse if (context.includesAll("tAsteroids")) { return 10;}\n\t\t\t\t\telse {return 1;}} },\n\t\t{\tpassage: "Orbit Observe Impact",\n\t\t\t\tgetWeight: function(context,focusTraits) {\n\t\t\t\t\tif (!context.includesAny("pTerrestrialPlanet","pGasGiant")) { return 0; }\n\t\t\t\t\telse if (context.includesAll("tAsteroids")) { return 10;}\n\t\t\t\t\telse {return 1;}} },\n\t\t{\tpassage: "Interplanetary Solar Flare",\n\t\t\t\tgetWeight: function(context) {\n\t\t\t\t\tif (context.includes("sUpgradeShipRadiationShielding")) { return 0; }\n\t\t\t\t\telse if (context.includesAll("tSolarFlares")) { return 50;}\n\t\t\t\t\telse {return 0;}} },\n\t\t{\tpassage: "Orbit Storm Risk",\n\t\t\t\tgetWeight: function(context) {\n\t\t\t\t\tif (context.includes("pAtmosNone")) { return 0; }\n\t\t\t\t\telse {\n\t\t\t\t\t\tvar rv = 0;\n\t\t\t\t\t\tif (context.includes("pAtmosThick")) { rv += 10; }\n\t\t\t\t\t\telse if (context.includes("pAtmosCrushing")) { rv += 20; }\n\t\t\t\t\t\tif (context.includes("pTempGoldilocks")) { rv += 10; }\n\t\t\t\t\t\telse if (context.includes("pTempHot")) { rv += 20; }\n\t\t\t\t\t\telse if (context.includes("pTempVeryHot")) { rv += 30; }\n\t\t\t\t\t\treturn rv;\n\t\t\t\t\t}}},\n\t\t{\tpassage: "Orbit Radiation Belt",\n\t\t\t\tgetWeight: function(context) {\n\t\t\t\t\tif (!context.includesAny("pTerrestrialPlanet","pGasGiant")) { return 0; }\n\t\t\t\t\telse {\n\t\t\t\t\t\tvar rv = 0;\n\t\t\t\t\t\tif (context.includes("pGravLow")) { rv += 10; }\n\t\t\t\t\t\telse if (context.includes("pGravMedium")) { rv += 20; }\n\t\t\t\t\t\telse if (context.includes("pGravHigh")) { rv += 30; }\n\t\t\t\t\t\tif (context.includes("tSolarFlares")) { rv += 20; }\n\t\t\t\t\t\tif (context.includes("psThinCrust")) { rv += 20; }\n\t\t\t\t\t\tif (context.includes("psGasGiantCore")) { rv += 20; }\n\t\t\t\t\t\treturn rv;\n\t\t\t\t\t}}},\n\t\t{\tpassage: "Orbit Volcano Ejecta",\n\t\t\t\tgetWeight: function(context,focusTraits) {\n\t\t\t\t\tif (context.includesAny("pCryoVolcanoes","Volcanoes")\n\t\t\t\t\t\t&& context.includes("pGravLow")) { return 50;}\n\t\t\t\t\telse {return 0;}} },\n\t\t{\tpassage: "Orbit Radio Contact",\n\t\t\t\tgetWeight: function(context) {\n\t\t\t\t\tif (context.includes("cNotExtinct") && context.includesAny("ctIndustrial","ctDigital","ctSpacefaring") && !context.includes("cKnowName")) { return 50; }\n\t\t\t\t\telse { return 0;}} },\n\t\t{\tpassage: "Orbit Black Hole Risk",\n\t\t\t\tgetWeight: function(context) {\n\t\t\t\t\tif (context.includesAll("tBlackHole","pCloseOrbit") && !context.includesAny("pIsMoon")) { return 500; }\n\t\t\t\t\telse { return 0;}} },\n\t\t{\tpassage: "Orbit Black Hole Caught",\n\t\t\t\tgetWeight: function(context) {\n\t\t\t\t\tif (context.includesAll("tBlackHole","pCloseOrbit") && !context.includesAny("pIsMoon")) { return 500; }\n\t\t\t\t\telse { return 0;}} },\n\t\t\t/* Chance of nothing happening */\n\t\t{\tpassage: "",\n\t\t\t\tgetWeight: function(context,focusTraits) { return 20;}\t}\n\t],\n\tsurface:\t[\n\t\t\t/* Events that can trigger when exploring specific things */\n\t\t{\tpassage: "ExMeddlingCiv Dormant Nanites",\n\t\t\t\tgetWeight: function(context,focusTraits) {\n\t\t\t\t\tif (focusTraits.includesAny("psSaltExcretingNanites","psNanomachineDust")) { return 50;}\n\t\t\t\t\telse { return 0;}} },\n\t\t{\tpassage: "ExMeddlingCiv Mining Machine",\n\t\t\t\tgetWeight: function(context,focusTraits) {\n\t\t\t\t\tif (focusTraits.includesAny("psMinedOut")) { return 50;}\n\t\t\t\t\telse { return 0;}} },\n\t\t{\tpassage: "Surface Caves Risk",\n\t\t\t\tgetWeight: function(context,focusTraits) {\n\t\t\t\t\tif (focusTraits.includes("pCaves")) { return 50;}\n\t\t\t\t\telse { return 0; }}},\n\n\t\t\t/* Events that can unlock new ship upgrades! */\n\t\t{\tpassage: "Surface Crystal Structure",\n\t\t\t\tgetWeight: function(context,focusTraits) {\n\t\t\t\t\tif (focusTraits.includesAny("psCrystalForests","psRegularGeology","psDiamondDust")\n\t\t\t\t\t\t&& !context.includes("pOceanPlanetwide")\n\t\t\t\t\t\t&& !variables().researchableUpgrades.includes("sUpgradeCrewCapacityPS")) {\n\t\t\t\t\t\t\treturn 1000;}\n\t\t\t\t\telse { return 0; }}},\n\t\t{\tpassage: "Surface Unlock Metal Armour",\n\t\t\t\tgetWeight: function(context,focusTraits) {\n\t\t\t\t\tif (focusTraits.includesAny("psThinCrust","psGasGiantCore","psExPlanetBelt")\n\t\t\t\t\t\t&& !context.includes("pOceanPlanetwide")\n\t\t\t\t\t\t&& !variables().researchableUpgrades.includes("sUpgradeArmourPS")) {\n\t\t\t\t\t\t\treturn 1000;}\n\t\t\t\t\telse { return 0; }}},\n\t\t{\tpassage: "Surface Oxygen Microbes Life Support",\n\t\t\t\tgetWeight: function(context,focusTraits) {\n\t\t\t\t\tif (focusTraits.includes("psMicrobesMakeOxygen") && context.includes("plNotExtinct")\n\t\t\t\t\t\t&& !variables().researchableUpgrades.includes("sUpgradeCrewCapacityBio")) {\n\t\t\t\t\t\t\treturn 1000;}\n\t\t\t\t\telse { return 0; }}},\n\t\t{\tpassage: "Surface Hibernating Animals",\n\t\t\t\tgetWeight: function(context,focusTraits) {\n\t\t\t\t\tif (focusTraits.includes("plsHibernatingLife") && context.includes("plNotExtinct")\n\t\t\t\t\t\t&& context.includesAny("pEccentricOrbit","pTempCold","pTempVeryCold")\n\t\t\t\t\t\t&& !variables().researchableUpgrades.includes("sUpgradeLifeSupport")) {\n\t\t\t\t\t\t\treturn 1000;}\n\t\t\t\t\telse { return 0; }}},\n\t\t{\tpassage: "Surface Life Cooling Unlock",\n\t\t\t\tgetWeight: function(context,focusTraits) {\n\t\t\t\t\tif (focusTraits.includes("psLifeAnimals") && context.includes("plNotExtinct")\n\t\t\t\t\t\t&& context.includesAny("pVeryHot","pHot")\n\t\t\t\t\t\t&& !variables().researchableUpgrades.includes("sUpgradeSuitsHot")) {\n\t\t\t\t\t\t\treturn 1000;}\n\t\t\t\t\telse { return 0; }}},\n\t\t{\tpassage: "Surface Life Insulation Unlock",\n\t\t\t\tgetWeight: function(context,focusTraits) {\n\t\t\t\t\tif (focusTraits.includes("psLifeAnimals") && context.includes("plNotExtinct")\n\t\t\t\t\t\t&& context.includesAll("pVeryCold","pCold")\n\t\t\t\t\t\t&& !variables().researchableUpgrades.includes("sUpgradeSuitsCold")) {\n\t\t\t\t\t\t\treturn 1000;}\n\t\t\t\t\telse { return 0; }}},\n\t\t{\tpassage: "Surface Life AntiRadiation Unlock",\n\t\t\t\tgetWeight: function(context,focusTraits) {\n\t\t\t\t\tif (focusTraits.includesAny("xInOrbit","psLifeAnimals") && context.includes("plNotExtinct")\n\t\t\t\t\t\t&& context.includesAny("pRadiationZones","tSolarFlares")\n\t\t\t\t\t\t&& !variables().researchableUpgrades.includes("sUpgradeAntiRadiation")) {\n\t\t\t\t\t\t\treturn 1000;}\n\t\t\t\t\telse { return 0; }}},\n\t\t{\tpassage: "Surface Life HighGrav Unlock",\n\t\t\t\tgetWeight: function(context,focusTraits) {\n\t\t\t\t\tif (focusTraits.includesAny("psLifeAnimals")\n\t\t\t\t\t\t&& context.includesAll("pGravHigh","psLifeSurface","plNotExtinct","pTerrestrialPlanet")\n\t\t\t\t\t\t&& !variables().researchableUpgrades.includes("sUpgradeSuitsHighGrav")) {\n\t\t\t\t\t\t\treturn 1000;}\n\t\t\t\t\telse { return 0; }}},\n\t\t{\tpassage: "Surface Life First Aid Unlock",\n\t\t\t\tgetWeight: function(context,focusTraits) {\n\t\t\t\t\tif (focusTraits.includesAny("xInOrbit","plsHealingFactor") && context.includes("plNotExtinct")\n\t\t\t\t\t\t&& !variables().researchableUpgrades.includes("sUpgradeFirstAid")) {\n\t\t\t\t\t\t\treturn 1000;}\n\t\t\t\t\telse { return 0; }}},\n\t\t{\tpassage: "Surface Life Suit Armour Unlock",\n\t\t\t\tgetWeight: function(context,focusTraits) {\n\t\t\t\t\tif (focusTraits.includesAny("xInOrbit","psLifeAnimals") && context.includes("plNotExtinct")\n\t\t\t\t\t\t&& !variables().researchableUpgrades.includes("sUpgradeSuitsArmour")) {\n\t\t\t\t\t\t\treturn 1000;}\n\t\t\t\t\telse { return 0; }}},\n\n\t\t\t\t/* Natural hazards */\n\t\t{\tpassage: "High Gravity Exhaustion",\n\t\t\t\tgetWeight: function(context,focusTraits) {\n\t\t\t\t\tif (context.includesAny("xInOrbit","pGasGiant","sUpgradeSuitsHighGrav")) { return 0; }\n\t\t\t\t\telse if (context.includesAll("pGravHigh","xExploringSurface")) { return 50;}\n\t\t\t\t\telse {return 0;}} },\n\t\t{\tpassage: "Cooling System Failure",\n\t\t\t\tgetWeight: function(context,focusTraits) {\n\t\t\t\t\tif (context.includesAny("xInOrbit","pGasGiant","sUpgradeSuitsHot")) { return 0; }\n\t\t\t\t\telse if (context.includesAll("pTempVeryHot","xExploringSurface")) { return 50;}\n\t\t\t\t\telse {return 0;}} },\n\t\t{\tpassage: "Heating System Failure",\n\t\t\t\tgetWeight: function(context,focusTraits) {\n\t\t\t\t\tif (context.includesAny("xInOrbit","pGasGiant","sUpgradeSuitsCold")) { return 0; }\n\t\t\t\t\telse if (context.includesAll("pTempVeryCold","xExploringSurface")) { return 50;}\n\t\t\t\t\telse {return 0;}} },\n\t\t{\tpassage: "High Pressure Suit Damage",\n\t\t\t\tgetWeight: function(context,focusTraits) {\n\t\t\t\t\tif (context.includesAny("xInOrbit","pGasGiant","sUpgradeSuitsArmour")) { return 0; }\n\t\t\t\t\telse if (context.includesAll("pAtmosCrushing","xExploringSurface")) { return 50;}\n\t\t\t\t\telse {return 0;}} },\n\t\t{\tpassage: "Suit Dust",\n\t\t\t\tgetWeight: function(context,focusTraits) {\n\t\t\t\t\tif (context.includesAny("xInOrbit","pGasGiant","sUpgradeSuitsArmour")) { return 0; }\n\t\t\t\t\telse if (context.includesAll("pDust","xExploringSurface")) { return 50;}\n\t\t\t\t\telse {return 0;}} },\n\t\t{\tpassage: "Suit Pierced By Shard",\n\t\t\t\tgetWeight: function(context,focusTraits) {\n\t\t\t\t\tif (context.includesAny("xInOrbit","pGasGiant","sUpgradeSuitsArmour")) { return 0; }\n\t\t\t\t\telse if (context.includesAll("pCraggy","xExploringSurface")) { return 50;}\n\t\t\t\t\telse {return 0;}} },\n\t\t{\tpassage: "Dust Storm",\n\t\t\t\tgetWeight: function(context,focusTraits) {\n\t\t\t\t\tif (context.includesAny("xInOrbit","pGasGiant")) { return 0; }\n\t\t\t\t\telse if (context.includesAll("pDust","pWind","xExploringSurface")) { return 10;}\n\t\t\t\t\telse {return 0;}} },\n\t\t{\tpassage: "Ice Eruptions",\n\t\t\t\tgetWeight: function(context,focusTraits) {\n\t\t\t\t\tif (context.includesAny("xInOrbit","pGasGiant","pOceanPlanetwide")) { return 0; }\n\t\t\t\t\telse if (context.includesAll("pUnstable","pSurfaceIce","xExploringSurface")) { return 10;}\n\t\t\t\t\telse {return 0;}} },\n\t\t{\tpassage: "Surface Meteors",\n\t\t\t\tgetWeight: function(context,focusTraits) {\n\t\t\t\t\tif (context.includesAny("xInOrbit","pGasGiant")) { return 0; }\n\t\t\t\t\telse if (context.includesAll("tAsteroids","xExploringSurface")) { return 10;}\n\t\t\t\t\telse {return 0;}} },\n\t\t{\tpassage: "Surface Solar Flare",\n\t\t\t\tgetWeight: function(context,focusTraits) {\n\t\t\t\t\tif (context.includesAny("pGasGiant","xInOrbit")) { return 0; }\n\t\t\t\t\telse if (!context.includes("tSolarFlares")) { return 0; }\n\t\t\t\t\telse if (context.includesAny("pAtmosNone")) { return 50;}\n\t\t\t\t\telse if (context.includesAny("pAtmosThin")) { return 30;}\n\t\t\t\t\telse if (context.includesAny("pAtmosThick")) { return 10;}\n\t\t\t\t\telse {return 0;}} },\n\t\t{\tpassage: "Surface Crevasse",\n\t\t\t\tgetWeight: function(context,focusTraits) {\n\t\t\t\t\tif (context.includesAny("xInOrbit","pGasGiant","pOceanPlanetwide")) { return 0; }\n\t\t\t\t\telse if (context.includesAll("pUnstable","xExploringSurface")) { return 10;}\n\t\t\t\t\telse {return 0;}} },\n\t\t{\tpassage: "Surface Volcano Risk",\n\t\t\t\tgetWeight: function(context,focusTraits) {\n\t\t\t\t\tif (context.includesAny("xInOrbit")) { return 0; }\n\t\t\t\t\telse if (focusTraits.includes("pVolcanoes")) { return 50;}\n\t\t\t\t\telse if (context.includes("pVolcanoes")) { return 10;}\n\t\t\t\t\telse {return 0;}} },\n\n\t\t\t/* Opportunities with risk */\n\t\t{\tpassage: "Surface Avalanche Risk",\n\t\t\t\tgetWeight: function(context,focusTraits) {\n\t\t\t\t\tif (context.includesAny("xInOrbit","pGasGiant")) { return 0; }\n\t\t\t\t\telse if (context.includesAll("pSurfaceRocky","pCraggy","pUnstable","xExploringSurface")) { return 20;}\n\t\t\t\t\telse if (context.includesAll("pSurfaceRocky","pUnstable")) { return 10;}\n\t\t\t\t\telse {return 0;}} },\n\t\t\n\n\t\t\t/* Bad stuff happening */\n\t\t\t\t\t\n\t\t\t/* Life encounters */\n\t\t{\tpassage: "EVA Alien Plague Fast",\n\t\t\t\tgetWeight: function(context) {\n\t\t\t\t\tif (context.includesAny("xInOrbit","plExtinct")) { return 0; }\n\t\t\t\t\telse if (context.includesAll("psLifeChemistryCarbon","plsNonObviousConflict")) { return 50;}\n\t\t\t\t\telse if (context.includesAll("psLifeChemistryCarbon")) { return 10;}\n\t\t\t\t\telse {return 0;}} },\n\t\t{\tpassage: "Dangerous Animals",\n\t\t\t\tgetWeight: function(context,focusTraits) {\n\t\t\t\t\tif (context.includesAny("xInOrbit","pGasGiant","plNonViolentLife","plExtinct")) { return 0; }\n\t\t\t\t\telse if (focusTraits.includes("psLifeAnimals") && context.includesAny("psLifeSurface")) { return 50;}\n\t\t\t\t\telse if (context.includesAll("psLifeAnimals") && context.includesAny("psLifeSurface")) { return 10;}\n\t\t\t\t\telse {return 0;}} },\n\t\t{\tpassage: "Surface Animals Risk",\n\t\t\t\tgetWeight: function(context,focusTraits) {\n\t\t\t\t\tif (context.includesAny("xInOrbit","pGasGiant","plNonViolentLife","plExtinct")) { return 0; }\n\t\t\t\t\telse if (focusTraits.includesAny("psLifeAnimals")) { return 50;}\n\t\t\t\t\telse if (context.includes("psLifeAnimals")) { return 10;}\n\t\t\t\t\telse { return 0; }}},\n\t\t{\tpassage: "Cave Ambush Predator",\n\t\t\t\tgetWeight: function(context,focusTraits) {\n\t\t\t\t\tif (context.includesAny("xInOrbit","pGasGiant","plViolentLife","plExtinct")) { return 0; }\n\t\t\t\t\telse if (context.includesAll("pCaves","psLifeAnimals") && context.includesAny("psLifeSurface","psLifeUnderground") && focusTraits.includes("psLifeAnimals")) { return 50;}\n\t\t\t\t\telse if (context.includesAll("pCaves","psLifeAnimals") && context.includesAny("psLifeSurface","psLifeUnderground")) { return 10;}\n\t\t\t\t\telse {return 0;}} },\n\t\t{\tpassage: "Flying Predator Grab",\n\t\t\t\tgetWeight: function(context,focusTraits) {\n\t\t\t\t\tif (context.includesAny("xInOrbit","pGasGiant","plNonViolentLife","plExtinct")) { return 0; }\n\t\t\t\t\telse if (context.includesAll("psLifeAtmosphere","psLifeAnimals") && focusTraits.includes("psLifeAnimals")) { return 50;}\n\t\t\t\t\telse if (context.includesAll("psLifeAtmosphere","psLifeAnimals")) { return 10;}\n\t\t\t\t\telse {return 0;}} },\n\t\t{\tpassage: "Aquatic Predator Grab",\n\t\t\t\tgetWeight: function(context,focusTraits) {\n\t\t\t\t\tif (context.includesAny("xInOrbit","pGasGiant","plNonViolentLife","plExtinct","pOceanLava")) { return 0; }\n\t\t\t\t\telse if (context.includesAny("psLifeOcean","psLifeSubsurfaceOcean") && context.includes("psLifeAnimals") && focusTraits.includes("psLifeAnimals")) { return 50;}\n\t\t\t\t\telse if (context.includesAny("psLifeOcean","psLifeSubsurfaceOcean") && context.includes("psLifeAnimals")) { return 10;}\n\t\t\t\t\telse {return 0;}} },\n\t\t{\tpassage: "Carnivorous Plant Grab",\n\t\t\t\tgetWeight: function(context,focusTraits) {\n\t\t\t\t\tif (context.includesAny("xInOrbit","plExtinct")) { return 0; }\n\t\t\t\t\telse if (context.includesAll("plsCarnivorousPlants") && focusTraits.includes("psLifePlants")) { return 50;}\n\t\t\t\t\telse if (context.includesAll("plsCarnivorousPlants")) { return 10;}\n\t\t\t\t\telse {return 0;}} },\n\n\t\t\t/* Civ (some possibly also animal) encounters */\n\t\t{\tpassage: "Planet Being Watched",\n\t\t\t\tgetWeight: function(context,focusTraits) {\n\t\t\t\t\tif (context.includesAny("xInOrbit","pGasGiant","plExtinct")) { return 0; }\n\t\t\t\t\telse if (context.includesAny("cNotExtinct","psLifeAnimals") && !context.includes("cKnowName")) { return 10;}\n\t\t\t\t\telse {return 0;}} },\n\t\t{\tpassage: "Planet Civ Confrontation",\n\t\t\t\tgetWeight: function(context,focusTraits) {\n\t\t\t\t\tif (context.includesAny("xInOrbit","pGasGiant")) { return 0; }\n\t\t\t\t\telse if (context.includes("cNotExtinct") && !context.includes("cKnowName")) { return 10; }\n\t\t\t\t\telse {return 0;}} },\n\t\t{\tpassage: "Planet Civ Greeting",\n\t\t\t\tgetWeight: function(context,focusTraits) {\n\t\t\t\t\tif (context.includesAny("xInOrbit","pGasGiant")) { return 0; }\n\t\t\t\t\telse if (context.includes("cNotExtinct") && !context.includes("cKnowName")) { return 10;}\n\t\t\t\t\telse {return 0;}} },\n\n\n\t\t\t/* Chance of nothing happening */\n\t\t{\tpassage: "",\n\t\t\t\tgetWeight: function(context,focusTraits) { return 20;}\t}\n\t],\n\tcivContactSuccess: [\n\t\t{\tpassage: "Civ Tech Request Weapons",\n\t\t\t\tgetWeight: function(context) {\n\t\t\t\t\tif (context.includesAny("ctSpacefaring","ctDigital")) { return 0; }\n\t\t\t\t\telse { return 10; }}},\n\t\t{\tpassage: "Civ Conference Speech",\n\t\t\t\tgetWeight: function(context) {\n\t\t\t\t\tif (context.includes("ctNonToolUsing")) { return 0; }\n\t\t\t\t\telse { return 10; }}},\n\t\t{\tpassage: "Civ Battle Challenge",\n\t\t\t\tgetWeight: function(context) {\n\t\t\t\t\tif (context.includesAny("psLifeChemistryPlasma","plNonViolentLife")) { return 0; }\n\t\t\t\t\telse { return 10; }}},\n\t\t{\tpassage: "Civ Plague Cure Request",\n\t\t\t\tgetWeight: function(context) {\n\t\t\t\t\tif (context.includesAny("ctDigital","ctSpacefaring","cAICiv")) { return 0; }\n\t\t\t\t\telse { return 10; }}},\n\t\t{\tpassage: "Civ Invasion Accusation",\n\t\t\t\tgetWeight: function(context) {\n\t\t\t\t\tif (context.includesAny("ctSpacefaring","plNonViolentLife")) { return 0; }\n\t\t\t\t\telse { return 10; }}},\n\t\t{\tpassage: "Civ Aliens Catch Flu",\n\t\t\t\tgetWeight: function(context) {\n\t\t\t\t\tif (context.includesAny("ctSpacefaring","cAICiv") || !context.includes("psLifeChemistryCarbon")) { return 0; }\n\t\t\t\t\telse { return 10; }}},\n\t\t{\tpassage: "Civ Aliens Want Gift",\n\t\t\t\tgetWeight: function(context) {\n\t\t\t\t\tif (context.includesAny("ctDigital","ctSpacefaring","pGasGiant","ctNonToolUsing")) { return 0; }\n\t\t\t\t\telse { return 10; }}},\n\t\t{\tpassage: "Civ Aliens Know Of Wormhole",\n\t\t\t\tgetWeight: function(context) {\n\t\t\t\t\tif (context.includes("ctInterstellar")) { return 0; }\n\t\t\t\t\telse if (context.includes("ctSpacefaring")) { return 20; }\n\t\t\t\t\telse if (context.includes("ctOrbital")) { return 15; }\n\t\t\t\t\telse if (context.includes("ctDigital")) { return 10; }\n\t\t\t\t\telse if (context.includesAny("ctIndustrial","ctMedieval")) { return 5; }\n\t\t\t\t\telse { return 0; }}},\n\t\t{\tpassage: "Civ Ancient Visitors",\n\t\t\t\tgetWeight: function(context) {\n\t\t\t\t\tif (context.includesAny("ctSpacefaring","ctNonToolUsing")) { return 0; }\n\t\t\t\t\telse if (context.includes("cAncientAliensMyth")) { return 50; }\n\t\t\t\t\telse { return 0; }}},\n\t\t{\tpassage: "Civ Explorer Wants To Stay",\n\t\t\t\tgetWeight: function(context) {\n\t\t\t\t\tif (context.includesAll("pTempGoldilocks","pAtmosOxNi","pAtmosThick")) { return 10; }\n\t\t\t\t\telse { return 0; }}},\n\t\t{\tpassage: "Civ Efficient Structures",\n\t\t\t\tgetWeight: function(context,focusTraits) {\n\t\t\t\t\tif (!context.includesAny("ctNonToolUsing","ctPaleolithic","ctMesolithic")\n\t\t\t\t\t\t&& !variables().researchableUpgrades.includes("sUpgradeCrewCapacityXeno")) {\n\t\t\t\t\t\t\treturn 20;}\n\t\t\t\t\telse { return 0; }}},\n\t\t{\tpassage: "Civ Contact Translator Unlock",\n\t\t\t\tgetWeight: function(context,focusTraits) {\n\t\t\t\t\tif (!variables().researchableUpgrades.includes("sUpgradeTranslator")) {\n\t\t\t\t\t\t\treturn 10;}\n\t\t\t\t\telse { return 0; }}},\n\t\t/* New for 1.1.0 */\n\t\t{\tpassage: "Civ Repair Offer",\n\t\t\t\tgetWeight: function(context,focusTraits) {\n\t\t\t\t\tif (variables().ship.traits.length == 0) { return 0; }\n\t\t\t\t\telse if (context.includes("ctInterstellar")) { return 25; }\n\t\t\t\t\telse if (context.includes("ctSpacefaring")) { return 20; }\n\t\t\t\t\telse if (context.includes("ctOrbital")) { return 15; }\n\t\t\t\t\telse if (context.includes("ctDigital")) { return 10; }\n\t\t\t\t\telse if (context.includesAny("ctIndustrial")) { return 5; }\n\t\t\t\t\telse { return 0; }}},\n\t\t{\tpassage: "CivExCiv Virtual World",\n\t\t\t\tgetWeight: function(context,focusTraits) {\n\t\t\t\t\tif (focusTraits.includes("psSimulatedWorld")) { return 1000;}\n\t\t\t\t\telse { return 0; }}},\n\t],\n\tcivArchaeology: [\n\t\t{\tpassage: "ExCiv Mausoleum",\n\t\t\t\tgetWeight: function(context) {\n\t\t\t\t\tif (context.includesAny("ctNonToolUsing","ctPaleolithic","cAICiv")) { return 0; }\n\t\t\t\t\telse { return 10; }}},\n\t\t{\tpassage: "ExCiv Strange Diagram",\n\t\t\t\tgetWeight: function(context) {\n\t\t\t\t\tif (context.includesAny("ctNonToolUsing","ctPaleolithic")) { return 0; }\n\t\t\t\t\telse { return 10; }}},\n\t\t{\tpassage: "ExCiv Structure Collapse",\n\t\t\t\tgetWeight: function(context) {\n\t\t\t\t\tif (context.includesAny("ctNonToolUsing","ctPaleolithic","cAquatic")) { return 0; }\n\t\t\t\t\telse { return 10; }}},\n\t\t{\tpassage: "ExCiv Monster Ruin",\n\t\t\t\tgetWeight: function(context) {\n\t\t\t\t\tif (context.includesAny("ctNonToolUsing","ctPaleolithic","cAquatic")) { return 0; }\n\t\t\t\t\telse if (context.includesAll("psLifeAnimals","plNotExtinct") && !context.includes("plNonViolentLife")) { return 10; }\n\t\t\t\t\telse { return 0; }}},\n\t\t{\tpassage: "ExCiv Low Grav Tower",\n\t\t\t\tgetWeight: function(context) {\n\t\t\t\t\tif (context.includesAny("ctNonToolUsing","ctPaleolithic","cAquatic")) { return 0; }\n\t\t\t\t\telse if (context.includesAll("pGravLow","cAvian")) { return 20; }\n\t\t\t\t\telse if (context.includes("pGravLow")) { return 10; }\n\t\t\t\t\telse { return 0; }}},\n\t\t{\tpassage: "ExCiv Mountaintop Ruin",\n\t\t\t\tgetWeight: function(context) {\n\t\t\t\t\tif (context.includesAny("ctNonToolUsing","ctPaleolithic","cAquatic")) { return 0; }\n\t\t\t\t\telse if (context.includes("pCraggy")) { return 10; }\n\t\t\t\t\telse { return 0; }}},\n\t\t{\tpassage: "ExCiv Floating City Storm",\n\t\t\t\tgetWeight: function(context) {\n\t\t\t\t\tif (context.includesAny("psFloatingCities","psInhabitedFloatingVeg")) { return 10; }\n\t\t\t\t\telse { return 0; }}},\n\t\t{\tpassage: "ExCiv Dormant Robot",\n\t\t\t\tgetWeight: function(context) {\n\t\t\t\t\tif (context.includesAny("ctDigital","ctSpacefaring")) { return 10;}\n\t\t\t\t\telse { return 0;}} },\n\t\t{\tpassage: "ExCiv Document Obsession",\n\t\t\t\tgetWeight: function(context) {\n\t\t\t\t\tif (context.includes("ctNonToolUsing")) { return 0; }\n\t\t\t\t\telse { return 10; }}},\n\t\t{\tpassage: "ExCiv Biolab",\n\t\t\t\tgetWeight: function(context) {\n\t\t\t\t\tif (context.includesAny("ctDigital","ctSpacefaring")) { return 10;}\n\t\t\t\t\telse { return 0;}} },\n\t\t/* New for 1.1.0 */\n\t\t{\tpassage: "CivExCiv Virtual World",\n\t\t\t\tgetWeight: function(context,focusTraits) {\n\t\t\t\t\tif (focusTraits.includes("psSimulatedWorld")) { return 1000;}\n\t\t\t\t\telse { return 0; }}},\n\t],\n\tstarshipContact: [\n\t\t{\tpassage: "Starship Contact Database",\n\t\t\t\tgetWeight: function(context) {\n\t\t\t\t\tif (context.includesAny("psRobotShip")) { return 10;}\n\t\t\t\t\telse { return 0;}} },\n\t\t{\tpassage: "Starship Contact Conversation",\n\t\t\t\tgetWeight: function(context) {\n\t\t\t\t\tif (context.includesAny("psCrewedShip")) { return 10;}\n\t\t\t\t\telse { return 0;}} },\n\t\t{\tpassage: "Starship Contact Trespassing",\n\t\t\t\tgetWeight: function(context) {\n\t\t\t\t\tif (context.includesAny("psWarShip","psMiningShip","psTerraformingShip","psMilitaryBase","psMiningBase","psTerraformingStation")) { return 10;}\n\t\t\t\t\telse { return 0;}} },\n\t\t{\tpassage: "Starship Contact Translator Unlock",\n\t\t\t\tgetWeight: function(context,focusTraits) {\n\t\t\t\t\tif (context.includes("psCrewedShip")\n\t\t\t\t\t\t&& !variables().researchableUpgrades.includes("sUpgradeTranslator")) {\n\t\t\t\t\t\t\treturn 50;}\n\t\t\t\t\telse { return 0; }}},\n\t\t{\tpassage: "Starship Contact Crew Capacity Unlock",\n\t\t\t\tgetWeight: function(context,focusTraits) {\n\t\t\t\t\tif (context.includesAny("psOrbitingStarship","psLandedStarship")\n\t\t\t\t\t\t&& !variables().researchableUpgrades.includes("sUpgradeCrewCapacityXeno")) {\n\t\t\t\t\t\t\treturn 50;}\n\t\t\t\t\telse { return 0; }}},\n\t\t{\tpassage: "Starship Contact AntiAsteroid Unlock",\n\t\t\t\tgetWeight: function(context,focusTraits) {\n\t\t\t\t\tif (context.includesAll("psOrbitingStarship","psCrewedShip")\n\t\t\t\t\t\t&& !variables().researchableUpgrades.includes("sUpgradeShipAsteroids")) {\n\t\t\t\t\t\t\treturn 50;}\n\t\t\t\t\telse { return 0; }}},\n\t\t{\tpassage: "Starship React Attack",\n\t\t\t\tgetWeight: function(context) {\n\t\t\t\t\tif (context.includesAny("psWarShip") && !context.includes("psOrbitalDerelict")) { return 10;}\n\t\t\t\t\telse { return 0;}} },\n\t],\n\tboardDerelict: [\n\t\t{\tpassage: "Board Derelict Robot",\n\t\t\t\tgetWeight: function(context) {\n\t\t\t\t\tif (context.includes("psRobotShip") && !context.includesAny("psColonyShip","psGenerationShip","psSleeperShip")) { return 10;}\n\t\t\t\t\telse { return 0;}} },\n\t\t{\tpassage: "Board Derelict Crewed",\n\t\t\t\tgetWeight: function(context) {\n\t\t\t\t\tif (context.includes("psCrewedShip") || context.includesAny("psColonyShip","psGenerationShip","psSleeperShip")) { return 10;}\n\t\t\t\t\telse { return 0;}} },\n\t\t{\tpassage: "Board Derelict Database",\n\t\t\t\tgetWeight: function(context,focusTraits) {\n\t\t\t\t\tif (context.includesAny("psExperimentationShip","psExplorationShip","psExperimentationBase","psObservationPost")) { return 50;}\n\t\t\t\t\telse { return 0; }}},\n\t\t{\tpassage: "Board Derelict Find Gate Drive",\n\t\t\t\tgetWeight: function(context,focusTraits) {\n\t\t\t\t\tif (context.includesAny("psOrbitingStarship","psLandedStarship")) { return 50;}\n\t\t\t\t\telse { return 0; }}},\n\t\t{\tpassage: "ExMeddlingCiv Mining Machine",\n\t\t\t\tgetWeight: function(context,focusTraits) {\n\t\t\t\t\tif (context.includesAll("psSurfaceStation","psMiningBase") || context.includesAll("psLandedStarship","psMiningShip")) { return 50;}\n\t\t\t\t\telse { return 0;}} },\n\t\t{\tpassage: "Board Derelict Explorer Trapped",\n\t\t\t\tgetWeight: function(context) { return 10;} },\n\t\t{\tpassage: "Board Derelict Fail Damage Ship",\n\t\t\t\tgetWeight: function(context) {\n\t\t\t\t\tif (context.includesAny("psOrbitingStarship","psOrbitalStation")) { return 10;}\n\t\t\t\t\telse { return 0;}} },\n\t\t{\tpassage: "Board Derelict Defence System",\n\t\t\t\tgetWeight: function(context) {\n\t\t\t\t\tif (context.includesAny("psWarShip","psMilitaryBase")) { return 50;}\n\t\t\t\t\telse { return 0;}} },\n\t\t{\tpassage: "Board Derelict Fail Infection",\n\t\t\t\tgetWeight: function(context) {\n\t\t\t\t\tif (context.includesAny("psExperimentationShip","psExperimentationBase")) { return 50;}\n\t\t\t\t\telse if (context.includesAny("psCrewedShip","psExperimentationShip","psExperimentationBase")) { return 20;}\n\t\t\t\t\telse { return 0;}} },\n\t\t{\tpassage: "Board Derelict Useful Scanners",\n\t\t\t\tgetWeight: function(context) {\n\t\t\t\t\tif (context.includesAny("psExperimentationShip","psExplorationShip","psExperimentationBase","psObservationPost")) { return 50;}\n\t\t\t\t\telse { return 10;}} },\n\t\t{\tpassage: "Board Derelict Crew Capacity Unlock",\n\t\t\t\tgetWeight: function(context) {\n\t\t\t\t\tif (context.includesAll("psCrewedShip")\n\t\t\t\t\t\t&& context.includesAny("psOrbitingStarship","psLandedStarship")\n\t\t\t\t\t\t&& !variables().researchableUpgrades.includes("sUpgradeCrewCapacityXeno")) {\n\t\t\t\t\t\t\treturn 50;}\n\t\t\t\t\telse { return 0;}} },\n\t\t{\tpassage: "Board Derelict Armour Unlock",\n\t\t\t\tgetWeight: function(context) {\n\t\t\t\t\tif (context.includesAny("psOrbitingStarship","psLandedStarship")\n\t\t\t\t\t\t&& !variables().researchableUpgrades.includes("sUpgradeArmourXeno")) {\n\t\t\t\t\t\t\treturn 50;}\n\t\t\t\t\telse { return 0;}} },\n\t\t{\tpassage: "Board Derelict AntiAsteroid Unlock",\n\t\t\t\tgetWeight: function(context,focusTraits) {\n\t\t\t\t\tif (context.includesAny("psOrbitingStarship")\n\t\t\t\t\t\t&& !variables().researchableUpgrades.includes("sUpgradeShipAsteroids")) {\n\t\t\t\t\t\t\treturn 50;}\n\t\t\t\t\telse { return 0; }}},\n\t\n\t]\n\n}\n\n\n
<<set $eventTitle = "Tell Us About Yourselves">>\n\n<p><<bestXenologist>> transmits the mathematical sequences of radio pulses that the Chiron Project's xenologists devised to provide the starting point for communication with an alien species. The alien <<alienShipNoun>> responds with a similar transmission, and <<fName>> and <<hisher>> alien counterpart engage in a dialogue of increasing complexity, until they have established a mathematical language they can use to communicate simple ideas.</p>\n\n<p>Once <<theExplorers>> <<eVerb have has>> established communications, the <<meddlingCivName>>\n<<if !$civilisations[$currentSystem.planets[$planetNumber].interstellarCiv].knownTraits.includes("cKnowName")>>\n\tintroduce themselves as the <<learnAndShowMeddlingCivName>> and\n<</if>>\nsend a simple message: "Tell us about yourselves."</p>\n\n<p>\n<<opt "Starship Contact Conversation Xenologist" "eXenologist" "medium">>\n<<opt "Starship Contact Conversation Biologist" "eBiologist" "medium">>\n<<opt "Starship Contact Conversation Planetary Scientist" "ePlanetaryScientist" "medium">>\n<<opt "Starship Contact Conversation Engineer" "eEngineer" "medium">>\n<<opt "Starship Contact Conversation No One">>\n</p>
<<name>> tells them about Earth
<p><<fName>> sends the <<alienShipNoun>> images and encoded data about Earth and its solar system. Minutes later, the <<alienShipNoun>> transmits <<inlineGainData "detailed images of dozens of planets" planetary_science medium>>, which will keep the Chiron Project's scientists analysts busy for some time.</p>\n<p><<nextEventLink>></p>
<p><<fName>> sends the <<alienShipNoun>> images and encoded data about Earth and its solar system. The <<alienShipNoun>> responds with images of its own, but <<fName>> finds them incomprehensible: if they include data about the <<meddlingCivName>> home planet, their presentation of the data is too alien for <<fName>> to learn anything from.</p>\n<p><<nextEventLink>></p>
<<name>> describes human biology
/% Data gain here is small because we might additionally get data from the civ biology traits themselves %/\n<p><<fName>> sends the <<alienShipNoun>> images of the humans and information about how they evolved from life on Earth. The <<alienShipNoun>> responds with similar images of <<learnAndShowMeddlingCivBiology>>, which will provide the Chiron Project's biologists with a <<inlineGainData "fascinating case study" xenobiology small>> of the evolution of another intelligent species.</p>\n<p><<nextEventLink>></p>
<p><<fName>> sends the <<alienShipNoun>> images of the humans and information about how they evolved from life on Earth. The <<meddlingCivName>> attempt to describe their own biology to <<fName>>, but <<heshe>> <<is>> unable to understand more than the basics. It seems that the aliens' understanding of biology is either so far advanced of humans', or simply so alien, that the two groups have no shared points of reference.</p>\n<p><<nextEventLink>></p>
<<name>> introduces human culture and history
<p><<fName>> writes an introduction to human civilisation in the <<meddlingCivName>> language, and sends it to the <<alienShipNoun>> along with the <<shipName>>'s cultural encyclopedia. The <<alienShipNoun>> replies in kind, with a <<inlineGainData "fascinating database" xenotechnology medium>> of <<meddlingCivName>> artworks and an introduction to their civilisation.</p>\n<p><<nextEventLink>></p>
<p><<fName>> writes an introduction to human civilisation in the <<meddlingCivName>> language, and sends it to the <<alienShipNoun>> along with the <<shipName>>'s cultural encyclopedia. The <<alienShipNoun>> responds with something similar, but <<fName>> finds it incomprehensible. It seems that the psychological foundations of <<meddlingCivName>> culture are so different from humanity's that the two races cannot find any mutual points of reference.</p>\n<p><<nextEventLink>></p>
<<name>> describes the technology of the <<shipName>>
<<set _possibleGifts = []>>\n<<for _c = 0; _c < ShipUpgradeCategories.length; _c++>>\n\t<<set _possibleGifts = _possibleGifts.concat(ShipUpgradeCategories[_c].upgrades)>>\t\n<</for>>\n<<set _possibleGifts.delete($researchableUpgrades)>>\n<<if _possibleGifts.length == 0>>\n\t<p><<fName>> translates the <<shipName>>'s technical specs into the <<meddlingCivName>>'s language and sends them over. In return, the <<meddlingCivName>> transmit the designs of their own <<alienShipNoun>> and information about <<inlineGainData "their own space technology" xenotechnology tiny>>. To <<fName>>'s surprise, <<heshe>> can see no ways the <<meddlingCivName>>'s technology could be used to improve the <<shipName>>.</p>\n<<else>>\n\t<<set _r = random(_possibleGifts.length-1)>>\n\t<<set _gift = _possibleGifts[_r]>>\n\t<p><<fName>> translates the <<shipName>>'s technical specs into the <<meddlingCivName>>'s language and sends them over. In return, the <<meddlingCivName>> transmit the designs of their own <<alienShipNoun>> and information about <<inlineGainData "their own space technology" xenotechnology tiny>>. Most of the information will take years for the Chiron Project's scientists to study, but <<fName>> notices one area where <<meddlingCivName>> technology could be adopted to improve the <<shipName>>.</p>\n\t<<unlockUpgrade _gift>>\n<</if>>\n<p><<nextEventLink>></p>
<p><<fName>> translates the <<shipName>>'s technical specs into the <<meddlingCivName>>'s language and sends them over. The <<meddlingCivName>> send over information about their own technology, but it proves to be based on principles so far beyond the <<shipName>>'s that <<fName>> cannot understand it.</p>\n<p><<nextEventLink>></p>
<<TheExplorers>> <<eVerb send>> the Chiron Project's pre-written introduction message
<p><<TheExplorers>> <<eVerb transmit>> the prepared message. A few minutes later, the <<meddlingCivName>> <<alienShipNoun>> replies with a message of its own, containing basic information about their <<inlineGainData "civilisation" xenotechnology tiny>>, <<inlineGainData "biology" xenobiology tiny>>, and <<inlineGainData "home planet" planetary_science tiny>>.</p>\n<p><<nextEventLink>></p>
<<set $eventTitle = "Cultural Database">>\n\n<p>The <<meddlingCivName>> <<alienShipNoun>> responds to the <<shipName>>'s signal with a large, information-rich transmission. Apart from this one transmission it ignores the <<shipName>>, and further signals are met with silence.</p>\n\n<p>After hours of analysis, <<if Crew.anyoneHasTrait($crew, "eXenologist")>><<bestXenologist>><<else>>the computer<</if>> finds that the transmission contains a primer in a simple inter-species language, followed by <<inlineGainData "a database of cultural information and artworks" xenotechnology large>> about \n<<set _knownTraits = $civilisations[$currentSystem.planets[$planetNumber].interstellarCiv].knownTraits>>\n<<if !_knownTraits.includesAny("cQuadrupedal","cAvian","cAquatic","cWormlike","cBipedal","cAmorphous") && !_knownTraits.includes("cKnowName")>>\n\tthe <<meddlingCivName>>, whom <<theExplorers>> <<eVerb learn>> to be <<learnAndShowMeddlingCivBiology>> called the <<learnAndShowMeddlingCivName>>.\n<<elseif !_knownTraits.includesAny("cQuadrupedal","cAvian","cAquatic","cWormlike","cBipedal","cAmorphous")>>\n\tthe <<meddlingCivName>>, whom <<theExplorers>> <<eVerb learn>> to be <<learnAndShowMeddlingCivBiology>>.\n<<elseif !_knownTraits.includes("cKnowName")>>\n\tthe <<meddlingCivName>>, who call themselves the <<learnAndShowMeddlingCivName>>.\n<<else>>\n\tthe <<meddlingCivName>>.\n<</if>>\n\n\n\n\nIt seems that the automated <<alienShipNoun>> does not have the intelligence to hold a conversation, but the <<meddlingCivName>> equipped it with this message in the event that it encountered other spacefarers.</p>\n<p><<nextEventLink>></p>
<<set $eventTitle = "Under Attack">>\n<<revealPlanetTrait "psOrbitingStarship">>\n<p>The <<shipName>> detects another object decelerating into a matching orbit. <<TheExplorers>> <<eVerb manage>> to get an image of what is clearly an alien <<printDesc "&starship==psOrbitingStarship&">>, before it abruptly fires a series of high-energy projectiles at the <<shipName>>. <<TheExplorers>> <<eVerb have has>> only seconds to react before impact.\n<<discoverMeddlingCiv `["icSpaceWarfare"]`>></p>\n\n<p>\n\t<<opt "Starship React Attack Pilot" "ePilot" "hard" "sDamageLandingEngine" "Starship React Attack No Pilot" "hard">>\n\t<<opt "Starship React Attack Engineer" "eEngineer" "hard">>\n\t<<opt "Starship React Attack Xenologist" "eXenologist" "hard">>\n</p>
<p>The <<meddlingCivName>> <<alienShipNoun>> suddenly shoots a series of high-energy projectiles at the <<shipName>>. <<TheExplorers>> <<eVerb have has>> only seconds to react before impact.</p>\n<p>\n\t<<opt "Starship React Attack Pilot" "ePilot" "hard" "sDamageLandingEngine" "Starship React Attack No Pilot" "hard">>\n\t<<opt "Starship React Attack Engineer" "eEngineer" "hard">>\n\t<<opt "Starship React Attack Xenologist" "eXenologist" "hard">>\n</p>
<<name>> tries to evade the projectiles <<showFuelCost small>>
<p><<fName>> <<inlineLoseFuel "slams open the throttle" small>> and pushes the <<shipName>> through a series of manoeuvres that almost make <<theExplorers himher>> black out. The projectiles narrowly miss the <<shipName>>, and <<fName>> manages to get to a safe distance from the alien ship before it fires again.</p>\n<p><<nextEventLink>></p>
<p><<fName>> <<inlineLoseFuel "slams open the throttle" small>> open the throttle, but not fast enough. One of the projectiles strikes the <<shipName>>, <<inlineDamageShip "tearing through the hull" "was destroyed by an alien starship">> as if it was paper. <<fName>> manages to put some distance between the <<shipName>> and the alien ship before it fires again, and <<theExplorers X>> <<eVerbpn set>> about repairing the hole and assessing the damage.</p>\n<p><<nextEventLink>></p>
<<TheExplorers>> trust the <<shipName>>'s collision avoidance system to move it out of danger <<showFuelCost small>>
<p>The <<shipName>> is designed to automatically avoid fast-moving meteors, and these projectiles are not fundamentally different. The autopilot <<inlineLoseFuel "kicks in" small>>, moving the <<shipName>> out of the way at the last moment.</p>\n<p><<nextEventLink>></p>
<p>The autopilot <<inlineLoseFuel "kicks in" small>>, but not fast enough. Projectiles <<inlineDamageShip "tear through" "was destroyed by an alien starship">> the <<shipName>>'s hull as if it was paper and it spins away out of control.</p>\n<p><<nextEventLink>></p>
<<name>> expels junk to confuse the projectiles
<p>There is no time to create sophisticated countermeasures, but <<fName>> ejects some of the <<shipName>>'s non-essential stores in the direction of the projectiles. High-energy explosions briefly turn space white as the projectiles annihilate the ejected material, giving the <<shipName>> enough time to get to a safe distance.</p>\n<p><<nextEventLink>></p>
<p><<fName>> ejects some of the <<shipName>>'s non-essential stores in the direction of the projectiles. High-energy explosions briefly turn space white as the projectiles annihilate the ejected material, but enough of them get through to <<inlineDamageShip "damage" "was destroyed by an alien starship">> the <<shipName>>. The <<shipName>> manages to limp to a safe distance and <<fName>> sets out fixing the hole and assessing the damage.</p>\n<p><<nextEventLink>></p>
<<name>> tries to communicate with the alien ship
<p>There is no time to establish genuine communication in the seconds before the projectiles hit, but <<fName>> fires off the message that the Chiron Project had prepared to convey "we are intelligent" to other life forms. That seems to be enough to dissuade the aliens from attacking, or at least confuse them, as the projectiles explode harmlessly a few thousand metres from the <<shipName>>. <<TheExplorers>> <<eVerb puts>> some distance between the <<shipName>> and the aliens before they decide to fire again.</p>\n<p><<nextEventLink>></p>
<p><<fName>> fires off the message that the Chiron Project had prepared to convey "we are intelligent" to other life forms, but the alien ship either does not receive it in time or ignores it. Projectiles <<inlineDamageShip "tear through" "was destroyed by an alien starship">> the <<shipName>>'s hull as if it was paper, and send it spinning away out of control.</p>\n<p><<nextEventLink>></p>
<<set $eventTitle = "Friendly Advice">>\n<p>The <<meddlingCivName>> <<alienShipNoun>>'s design is bizarre to human eyes: half the size of the <<shipName>>, but fantastically complex and compact. It responds to the <<shipName>>'s greeting with a data-rich transmission of its own, then \n<<if $positionTrait == "xExploringSurface">>shuts off communication.\n<<else>>accelerates away.\n<</if>>\n</p>\n<p><<TheExplorers>> puzzle over the <<meddlingCivName>> transmission, until <<bestXenologist>> finds an unlikely key in the <<shipName>>'s own design. When correctly decoded, the transmission turns out to be an image containing blueprints of the <<shipName>>--with a series of annotations detailing ways in which the design could be made more compact. It seems that the <<meddlingCivName>> have taken pity on the primitive humans, and given them some pointers for how to improve their spaceship design.</p>\n<p>\n<<opt "Starship Contact Crew Capacity Unlock Engineer" "eEngineer" "medium" "sUpgradeTranslator" "Starship Contact Crew Capacity Unlock No Engineer">>\n<<opt "Starship Contact Crew Capacity Unlock Decline">>\n</p>
<<name>> looks at how improvements could be applied to the <<shipName>>
<p>At first glance the suggestions make no sense, but, after hours of sleep-deprived study, <<name>>'s mind begins to grasp design principles no human could have thought of independently. <<HeShe>> feverishly <<verb notes>> down some concrete changes the Chiron Project's shipwrights could make before the moment passes and the <<meddlingCivName>> transmission seems to revert into gibberish.</p>\n<<unlockUpgrade "sUpgradeCrewCapacityXeno">>\n<p><<nextEventLink>></p>
<p>The closer <<name>> studies the designs, the less sense they seem to make, until <<heshe>> <<verb is are>> sure that some of them show structures that cannot exist in three dimensions. <<fName>> comes away feeling that the human mind--or at least <<hisher>> mind specifically--is <<inlineDepressCrewMember "fundamentally incapable">> of overcoming the problems of advanced spaceship design.</p>\n<p><<nextEventLink>></p>
<<TheExplorers>> <<eVerb look>> at how improvements could be applied to the <<shipName>>
<<silently>><<randomCrewMember>><</silently>>\n<<include [[Starship Contact Crew Capacity Unlock Engineer Success]]>>
<<silently>><<randomCrewMember>><</silently>>\n<<include [[Starship Contact Crew Capacity Unlock Engineer Failure]]>>
<<TheExplorers>> <<eVerb ignore>> the patronising advice
<p>Blindly integrating alien technology into a human ship design sounds like recipe for disaster, even assuming the <<meddlingCivName>> transmission is well-intentioned and not some cruel trick. <<TheExplorers>> <<eVerb file>> <<inlineGainData "the transmission" xenotechnology small>> away for study by the Chiron Project's xenologists.</p>\n<p><<nextEventLink>></p>
<<set $eventTitle = "Deflected">>\n<p>The <<shipName>> sets course for the <<meddlingCivName>> <<alienShipNoun>>, simultaneously transmitting the Chiron Project's inter-species greeting. As it approaches, however, <<if Crew.anyoneHasTrait($crew, "ePilot")>><<bestPilot>> finds<<else>>the autopilot reports<</if>> that the <<shipName>> is unexpectedly veering off course. Whenever the ship corrects course, an invisible force gently but firmly pushes aside.</p>\n\n<p>Eventually the <<meddlingCivName>> respond to the inter-species greeting, and after some back and forth the two species establish communications. Shortly afterwards, the navigational interference ceases, and the <<shipName>> is able to come alongside the <<meddlingCivName>> <<alienShipNoun>>.\n<<if !$civilisations[$currentSystem.planets[$planetNumber].interstellarCiv].knownTraits.includes("cKnowName")>>\n\tThe <<meddlingCivName>>--whom <<theExplorers>> <<eVerb learn>> to be <<learnAndShowMeddlingCivBiology>> called the <<learnAndShowMeddlingCivName>>--explain\n<<elseif !$civilisations[$currentSystem.planets[$planetNumber].interstellarCiv].knownTraits.includesAny(TraitSets.arAlienBodyShapes)\n\t|| !$civilisations[$currentSystem.planets[$planetNumber].interstellarCiv].knownTraits.includesAny(TraitSets.arAlienDiets)>>\n\tThe <<meddlingCivName>>--whom <<theExplorers>> learn are <<learnAndShowMeddlingCivBiology>>--explain\n<<else>>\n\tThe <<meddlingCivName>> explain\n<</if>>\nthat their <<alienShipNoun>> is equipped with an energy field that gently deflects dangerous asteroids, that this was initially affecting the <<shipName>>.<p>\n<<opt "Starship Contact AntiAsteroid Unlock Xenologist" "eXenologist" "medium" "sUpgradeTranslator" "Starship Contact AntiAsteroid Unlock No Xenologist">>\n<<opt "Starship Contact Translator Unlock Decline">>\n</p>
<<name>> asks the <<meddlingCivName>> to share the technology
<p>The <<meddlingCivName>> seem surprised that the <<shipName>> has lasted as long as it has without an anti-collision field, and quickly agree to share the design. It takes much longer for them to explain the technology in terms that <<theExplorers>> can understand, since it relies on an entire field of science that humans have not yet developed, but eventually <<theExplorers>> <<eVerb have has>> something that the Chiron Project should be able to build on.</p>\n<<unlockUpgrade "sUpgradeShipAsteroids">>\n<p><<nextEventLink>></p>
<p>The <<meddlingCivName>> <<alienShipNoun>> shuts off communications. A moment later the anti-collision energy field begins affecting the <<shipName>> again, far more strongly than before. Perhaps the <<meddlingCivName>> were offended that <<theExplorers>> asked them to share a technology that could potentially be weaponised--or perhaps they meant to demonstrate the technology, and did not realise how fragile the human ship was. In any case, the energy field <<inlineDamageShip "violently repels" "was destroyed by an alien starship's anti-collision field">> the <<shipName>>, and stops it from approaching again.</p>\n<p><<nextEventLink>></p>
<<TheExplorers>> <<eVerb ask>> the <<meddlingCivName>> to share the technology
<<silently>><<randomCrewMember>><</silently>>\n<<include [[Starship Contact AntiAsteroid Unlock Xenologist Success]]>>
<<silently>><<randomCrewMember>><</silently>>\n<<include [[Starship Contact AntiAsteroid Unlock Xenologist Failure]]>>
<<set $eventTitle = "Universal Translator">>\n\n<p>As soon as the <<shipName>> approaches, the <<meddlingCivName>> <<alienShipNoun>> begins beaming a signal at it. To <<theExplorerss>> surprise, it uses the Chiron Project's standard signal encoding system, and contains an audio message in perfect Pan-Solar.</p>\n\n<p>\n\t<<if !$civilisations[$currentSystem.planets[$planetNumber].interstellarCiv].knownTraits.includes("cKnowName")>>\n\t\tThe aliens--<<learnAndShowMeddlingCivBiology>> who call themselves the <<learnAndShowMeddlingCivName>>--welcome the humans to the galactic scene \n\t<<elseif !$civilisations[$currentSystem.planets[$planetNumber].interstellarCiv].knownTraits.includesAny(TraitSets.arAlienBodyShapes)\n\t\t|| !$civilisations[$currentSystem.planets[$planetNumber].interstellarCiv].knownTraits.includesAny(TraitSets.arAlienDiets)>>\n\t\tThe <<meddlingCivName>>--whom <<theExplorers>> learn are <<learnAndShowMeddlingCivBiology>>--welcome the humans to the galactic scene \n\t<<else>>\n\t\tThe <<meddlingCivName>> welcome the humans to the galactic scene \n\t<</if>>\n\tand happily share basic information about their <<inlineGainData "culture" xenotechnology small>>. When <<theExplorers>> <<eVerb express>> surprise at how quickly they learned Pan-Solar, they explain that they listened in on the <<shipName>>'s internal communications during its approach to their <<alienShipNoun>>, and have an AI expert system can rapidly learn to translate new languages.\n</p>\n<p>\n<<opt "Starship Contact Translator Unlock Xenologist" "eXenologist" "medium" "" "Starship Contact Translator Unlock No Xenologist">>\n<<opt "Starship Contact Translator Unlock Decline">>\n</p>
<<name>> asks the <<meddlingCivName>> to share their translation system
<p>The <<meddlingCivName>> happily share their translation system, which is a software intelligence trained to quickly make sense of any system of communication and translate between it and their language. "Any system of communication" includes the <<shipName>>'s operating system, and soon <<fName>> and the <<meddlingCivName>> engineers have a copy of the translation AI running in the <<shipName>>'s computer. It will take more work by the Chiron Project's engineers to adapt the software fully for the <<shipName>>'s mission, but once they have done so it could be a breakthrough in inter-species communications.</p>\n<<unlockUpgrade "sUpgradeTranslator">>\n<p><<nextEventLink>></p>
<p>The <<meddlingCivName>> happily share their translation system, which is a software intelligence trained to quickly make sense of any system of communication and translate between it and their language. "Any system of communication" includes the <<shipName>>'s operating system, and soon <<fName>> and the <<meddlingCivName>> engineers have a copy of the translation AI running in the <<shipName>>'s computer. Unfortunately, the <<meddlingCivName>> underestimated just how primitive the humans' computer technology was compared to theirs, and the AI causes critical systems to malfunction. <<fName>> eventually manages to delete the program, but not before the malfunctions have <<inlineDamageShip "damaged some critical components" "was destroyed by a malfunctioning alien translation AI">>.</p>\n<p><<nextEventLink>></p>
<<TheExplorers>> <<eVerb ask>> the <<meddlingCivName>> to share their translation system
<<silently>><<randomCrewMember>><</silently>>\n<<include [[Starship Contact Translator Unlock Xenologist Success]]>>
<<silently>><<randomCrewMember>><</silently>>\n<<include [[Starship Contact Translator Unlock Xenologist Failure]]>>
<<TheExplorers>> <<eVerb spend>> time learning about <<meddlingCivName>> culture instead
<p>The <<shipName>> stays alongside the <<alienShipNoun>> for several days, while the humans and <<meddlingCivName>> share <<inlineGainData "cultural information" xenotechnology large>>, facilitated by the <<meddlingCivName>>'s translation system. Eventually the <<meddlingCivName>> say that they have taken as much time away from their mission as they can spare, and the <<shipName>> departs.</p>\n<p><<nextEventLink>></p>
<<set $eventTitle = "Trespassing!">>\n<p>As soon as the <<shipName>> begins to approach the <<meddlingCivName>> <<alienShipNoun>>, the <<alienShipNoun>> begins repeatedly transmitting a large message on multiple frequencies. The transmission is apparently complex, but <<theExplorers>> eventually <<eVerb realise>> that it is actually using multiple communication methods to convey the same message, presumably in the hope that at least one will be understood. Once decoded, it contains a simple command:</p>\n<p>"This system belongs to the <<learnAndShowMeddlingCivName>>. Leave immediately."</p>\n\n<p>\n\t<<opt "Starship Contact Trespassing Reason" "eXenologist" "hard">>\n\t<<opt "Starship Contact Trespassing Evade" "ePilot" "hard" "sDamageInterplanetaryEngine sDamageLandingEngine">>\n\t<<opt "Starship Contact Trespassing Refuse" "" "hard">>\n\t<<opt "Starship Contact Trespassing Leave">>\n</p>
<<name>> explains that the <<shipName>> is a vessel of exploration and will not interfere with <<meddlingCivName>> operations in the system.
<p><<fName>> composes a message explaining that the <<shipName>> is a vessel of exploration, and that <<theExplorers heshe>> <<eVerbpn have has>> no wish to interfere with <<meddlingCivName>> operations in the system. After a few minutes, the <<meddlingCivName>> respond with instructions to stay clear of their <<alienShipNoun>>, then cease transmission and ignore the <<shipName>>.</p>\n<p><<nextEventLink>></p>
<p><<fName>> composes a message explaining that the <<shipName>> is a vessel of exploration, and that <<theExplorers heshe>> <<eVerbpn have has>> no wish to interfere with the <<meddlingCivName>>'s operations in the system. The <<alienShipNoun>> immediately responds:</p>\n<p>"Denied. This system belongs to the <<meddlingCivName>>. Leave immediately.</p>\n<p>\n\t<<opt "Starship Contact Trespassing Evade" "ePilot" "hard" "sDamageInterplanetaryEngine sDamageLandingEngine">>\n\t<<opt "Starship Contact Trespassing Refuse" "" "hard">>\n\t<<opt "Starship Contact Trespassing Leave">>\n</p>
<<name>> tries to evade the alien <<alienShipNoun>> <<showFuelCost tiny>>
<p>The <<shipName>> is less advanced than the <<meddlingCivName>> <<alienShipNoun>> in every conceivable way, but is smaller and lighter, which perhaps gives it the edge in <<inlineLoseFuel "fast manoeuvring" tiny>>. A beam of exotic energy narrowly misses the <<shipName>>, but after that the <<meddlingCivName>> appear to decide that the tiny, primitive ship is not worth pursuing.</p>\n<p><<nextEventLink>></p>
<p><<fName>> <<inlineLoseFuel "fires" tiny>> the <<shipName>>'s engines and begins to move the away, but the <<alienShipNoun>> opens some kind of energy projector and a beam of exotic radiation <<inlineDamageShip "slices through" `"was destroyed by the "+Civs.getKnownName($civilisations[$currentSystem.planets[$planetNumber].interstellarCiv])+" after refusing to leave a system they claimed"`>> the <<shipName>>'s hull.</p>\n<p>\n\t<<opt "Starship Contact Trespassing Leave">>\n</p>
<<TheExplorers>> <<eVerb set>> course for the wormhole
<p>The <<meddlingCivName>> <<alienShipNoun>> keeps its scanners trained on the <<shipName>> until it enters the wormhole.</p>\n<<addEventFromListToQueue "gatewayJourney" start>>\n<<addEventToQueue "Chiron Base Return" end>>\n<p><<nextEventLink>></p>
<<TheExplorers>> <<eVerb refuse>> to leave
<p><<TheExplorers>> <<eVerb brace>> <<themselves>> for an attack, but none comes. The <<meddlingCivName>> <<alienShipNoun>> cuts off communications, but something makes <<theExplorers>> <<eVerb think>> that it respects <<their>> defiance.</p>\n<p><<nextEventLink>></p>
<p>The <<alienShipNoun>> opens some kind of energy projector and a beam of exotic radiation <<inlineDamageShip "slices through" `"was destroyed by the "+Civs.getKnownName($civilisations[$currentSystem.planets[$planetNumber].interstellarCiv])+" after refusing to leave a system they claimed"`>> the <<shipName>>'s hull.</p>\n<p>\n\t<<opt "Starship Contact Trespassing Leave">>\n</p>
<<set $eventTitle = "Plague-Bringers">>\n<p><<civname>> individuals who have had contact with <<theExplorers>> begin getting sick. Despite the <<shipName>>'s rigorous decontamination procedures, it seems that a terrestrial microorganism has survived on the outside of <<their>> <<eNoun suits>>, and was able to jump species and infect the <<civname>>.</p>\n\n<p>\n<<opt "Civ Aliens Catch Flu Biologist" "eBiologist" "medium" "sDamageBiolab">>\n<<opt "Civ Aliens Catch Flu Medic" "eMedic" "medium" "sDamageMedbay" "Civ Aliens Catch Flu No Medic" "hard">>\n<<opt "Civ Aliens Catch Flu Leave">>\n</p>
<<name>> tries to find a cure by studying <<civname>> biology
<p><<fName>> shuts <<himherself>> into the <<shipName>>'s biology lab with samples of infected and uninfected <<civname>> tissue. After several days of feverish work, <<heshe>> <<verb announces>> that <<heshe>> <<verb has have>> created a cross-species antibiotic that will destroy the infection without any side-effects. The local <<civname>> healers distribute the cure out to the affected population, and <<fName>> writes up <<hisher>> <<inlineGainData "findings" xenobiology small>>.\n<p><<nextEventLink>></p>
<p><<fName>> shuts <<himherself>> into the <<shipName>>'s lab with samples of infected and uninfected <<civname>> tissue, but the biology is too alien and <<heshe>> cannot find a cure. <<fName>>'s failure and the suffering it has caused <<inlineDepressCrewMember `"shakes "+TextUtils.hisher()+" self-confidence"`>>.</p>\n\n<p>\n\t<<opt "Civ Aliens Catch Flu One Explorer Stays" "only1">>\n\t<<opt "Civ Aliens Catch Flu Leave">>\n</p>
<<name>> tries to cure the infection using human medicine
<p><<fName>> reasons that if the <<civname>> are susceptible to human diseases, then they should also be receptive to human treatment. <<fName>> sets up a hospital ward for infected <<civname>>, and after <<inlineGainData "some study" xenobiology small>> manages to modify some of the <<shipName>>'s medicines to cure them.</p>\n<p><<nextEventLink>></p>
<p>The <<civname>> are susceptible to human diseases, but are not receptive to human treatment. <<fName>>'s efforts fail, and all <<heshe>> can do is assist the <<civname>> doctors as they stumble towards their own cure. <<fName>>'s failure and the suffering it has caused <<inlineDepressCrewMember `"shakes "+TextUtils.hisher()+" self-confidence"`>>.</p>\n<p>\n\t<<opt "Civ Aliens Catch Flu One Explorer Stays" "only1">>\n\t<<opt "Civ Aliens Catch Flu Leave">>\n</p>
<<TheExplorers>> <<eVerb try tries>> to treat the infection using the <<shipName>>'s medbay
<p><<TheExplorers>> <<eVerb do does>> not understand how the infection jumped to the alien <<civname>>, but <<they>> <<eVerb reason>> that if they are susceptible to human diseases then they may also be receptive to human treatment. The automated medbay analyses samples of infected <<civname>> tissue, and a treatment that quickly eradicates the disease.</p>\n<p><<nextEventLink>></p>
<p>Although the <<civname>> were vulnerable to a human infection, they prove resistant to the medbay's treatments. Nothing <<theExplorers>> <<eVerb try tries>> has an effect, and <<they>> must watch the infected <<civname>> become sicker and sicker. <<randomCrewMember>> is deeply affected by the events, and <<inlineDepressCrewMember "despairs">> of <<hisher>> inability to undo the harm the <<shipName>> has done.</p>\n<p>\n\t<<opt "Civ Aliens Catch Flu One Explorer Stays" "only1">>\n\t<<opt "Civ Aliens Catch Flu Leave">>\n</p>
<<TheExplorers>> <<eVerb leave>> the surface and <<eVerb avoid>> further contact with the <<civname>>
<p>Since it was <<theExplorers>> who introduced the infection, <<they>> <<eVerb decide>> that the best way to protect the <<civname>> is to have no further contact with the <<planetNoun>>'s surface. <<They>> <<eVerbpn return>> to the <<shipName>> and <<inlinePreventLanding "take off">>, hoping that the <<civname>> will be able to contain the infection.</p>\n<p><<nextEventLink>></p>
<<name>> stays on <<planetName>> and devotes <<hisher>> life to finding a cure
<p>\n\tCuring the disease that the <<shipName>> has brought to the <<civname>> might be a lifetime's work, but <<fName>> feels that it is <<hisher>> responsibility. \n\t<<if $crew.length == 1>>\n\t\t<<HeShe>> <<verb abandons>> the Chiron Project's mission of exploration, and <<verb converts>> the <<shipName>> into a hospital and laboratory where <<heshe>> can devote <<hisher>> life to finding a cure. The <<shipName>> never returns to Earth, but <<fName>> eventually manages to undo the harm that its exploration inadvertently did.\n\t<<else>>\n\t\t<<HeShe>> remains in contact with the <<shipName>> for the rest of its time in the system, and <<verb sends>> regular reports about <<hisher>> <<inlineGainData "medical research" xenobiology medium>> and what <<heshe>> <<verb learns>> about <<hisher>> <<inlineGainData "hosts" xenotechnology medium>>. \n\t<</if>>\n</p>\n<div class="notification-box"><span class="inline-icon"><<iconWithTooltip "village" "A new home">></span> <<name>> has left the <<shipName>>.</div>\n<<retireCrewMemberX $selectedCrewMember `"left the mission to cure a plague"`>> /% "on (planetname) gets added %/\n\n<p><<nextEventLink>></p>
<<set $eventTitle = "Gateway Observations">>\n<p>The <<civname>> are intrigued when <<theExplorers>> <<eVerb tell>> them how <<they>> arrived in the <<systemName>> system. It seems that the <<civname>> are aware of their system's Gate and have\n<<if $contextTraits.includes("ctSpacefaring")>>\n\talready send several crewed missions to explore other star systems.\n<<elseif $contextTraits.includes("ctOrbital")>>\n\tstudied it using orbital telescopes.\n<<elseif $contextTraits.includes("ctDigital")>>\n\tstudied it using a variety of optical and radio telescopes.\n<<elseif $contextTraits.includesAny("ctIndustrial","ctMedieval")>>\n\tstudied it using optical telescopes.\n<<else>>\n\tstudied it from the surface.\n<</if>>\n\nThey share their findings, although the alien scientific jargon is hard for <<theExplorers>> to understand.</p>\n\n<p>\n<<opt "Civ Aliens Know Of Wormhole Xenologist" "eXenologist" "medium" "sUpgradeTranslator">>\n<<opt "Civ Aliens Know Of Wormhole Planetary Scientist" "ePlanetaryScientist" "medium" "sUpgradeTranslator">>\n<<opt "Civ Aliens Know Of Wormhole Thanks">>\n</p>
<<name>> attempts to translate the <<civname>> findings
<p><<name>> spends days in conference with the <<civname>> gateway scholars, and manages to learn a great deal about both <<inlineGainData "the Gate" planetary_science small>> and even more about the <<civname>>'s <<inlineGainData "scientific techniques" xenotechnology medium>>.</p>\n<p><<nextEventLink>></p>
<p><<name>> spends days in conference with the <<civname>> gateway scholars, but they do not appear to know any more about the Gate than the Chiron Project does.</p>\n<p><<nextEventLink>></p>
<<name>> converses with the <<civname>> in the universal language of science
<p>Although the <<civname>>'s scientific jargon is beyond <<fName>>, <<heshe>> and the <<civname>> scholars manage to construct a sort of mathematical pidgin with which to converse about the Gate. By effectively bypassing the issues with <<civname>> jargon, <<fName>> learns a great deal about their understanding of <<inlineGainData "the Gate" planetary_science medium>>, although somewhat less about the <<civname>>'s <<inlineGainData "scientific techniques" xenotechnology small>>.</p>\n<p><<nextEventLink>></p>
<p><<fName>> tries to bypass the <<civname>>'s scientific jargon by constructing a language of symbolism and mathematics from universal scientific principles, but <<hisher>> attempt proves just as incomprehensible to the <<civname>> as their jargon did to <<himher>>.</p>\n<p><<nextEventLink>></p>
<<TheExplorers>> <<eVerb record>> the findings for future analysis at Chiron Base
<p>Without a knowledge of the <<civname>>'s scientific techniques, <<theExplorers>> <<eVerb are is>> unable to question them about their findings, so the data will only be of <<inlineGainData "limited value" xenotechnology tiny>> when analysed back at Chiron Base.</p>\n\n<p><<nextEventLink>></p>
<<set $ancientVisitorsName = "">>\n<<if random(0,1)==0>>\n\t<<set $ancientVisitorsName = oneOf(["Visitors","Ancients","Watchers","Overlords","Enlighteners","Teachers"])>>\n<<else>>\n\t<<set $ancientVisitorsName = oneOf(["Sky","Star","Space"]) + " " + oneOf(["Lords","Gods","Angels","Beings","Wizards","Spirits"])>>\n<</if>>\n\n<<set $eventTitle = "The Legend of the "+$ancientVisitorsName>>\n<p>The <<civname>> have a legend about the "<<= $ancientVisitorsName>>", who visited <<planetName>> in the distant past and taught them some of their earliest technologies. Some <<civname>> record-keepers ask <<theExplorers>> if <<they>> <<are>> the <<= $ancientVisitorsName>> returned.</p>\n\n<p>\n<<opt "Civ Ancient Visitors Yes" "" "medium">>\n<<opt "Civ Ancient Visitors No" "" "medium">>\n</p>
Yes
<p>If "<<= $ancientVisitorsName>>" is what the <<civname>> call visitors from another world, then <<theExplorers>> <<eVerb are is>> indeed <<if $crew.length == 1>>one of them<<else>><<= $ancientVisitorsName>><</if>>. That is good enough for the <<civname>>, who immediately open up and share <<inlineGainData "all the ways in which their civilisation has advanced" xenotechnology medium>> thanks to the <<= $ancientVisitorsName>>' first visit.</p>\n<<unset $ancientVisitorsName>>\n<p><<nextEventLink>></p>
<p>The <<civname>> immediately become cold, and tell <<theExplorers>> to leave and not return. It seems that the current <<civname>> interpretation of the legend is that the <<= $ancientVisitorsName>> were a negative influence and the <<civname>> would have been better off without their meddling.</p>\n<<unset $ancientVisitorsName>>\n<p><<nextEventLink>></p>
No
<p>The scholars are pleased by that answer, since the current interpretation of the legend paints the <<= $ancientVisitorsName>> as a meddling influence that the <<civname>> would have been better without. They proudly show <<theExplorers>> <<inlineGainData "all the ways in which their civilisation has advanced" xenotechnology medium>>, despite, not because of, the <<= $ancientVisitorsName>>' influence.</p>\n<<unset $ancientVisitorsName>>\n<p><<nextEventLink>></p>
<p>The legend of the <<= $ancientVisitorsName>> includes a prophecy that they would one day return, the <<civname>> scholars are disappointed that that has not happened. The scholars leave, and <<theExplorers>> do not learn anything new from the encounter.</p>\n<<unset $ancientVisitorsName>>\n<p><<nextEventLink>></p>
<<set $eventTitle = "Battle Challenge">>\n<p>Many <<civname>> believe that the only way to learn about another is to face them in combat. They challenge <<theExplorers>> to a staged battle in which they can pit their respective \n<<if $contextTraits.includesAny("ctNeolithic","ctMesolithic","ctPaleolithic","ctNonToolUsing")>>combat prowess\n<<else>>technologies and tactics<</if>>\nagainst one another. Despite <<civname>> reassurances that the battle will be non-lethal, <<theExplorers>> <<eVerb worry worries>> that it is hard to be sure a combat is non-lethal when fighting a totally alien foe.</p>\n<p>\n<<opt "Civ Battle Challenge Engineer" "eEngineer" "medium" "sUpgradeSuitsArmour sDamageFabricator">>\n<<opt "Civ Battle Challenge Biologist" "eBiologist" "medium" "sDamageBiolab">>\n<<opt "Civ Battle Challenge Xenologist" "eXenologist" "medium" "sUpgradeTranslator">>\n<<opt "Civ Battle Challenge Accept" "" "hard">>\n<<opt "Civ Battle Challenge Refuse">>\n</p>
<<name>> constructs weapons and body armour to give <<theExplorers himher>> an edge
When the <<civname>> champions\n<<if $contextTraits.includes("cBipedal")>>stride\n<<elseif $contextTraits.includes("cQuadrupedal")>>lumber\n<<elseif $contextTraits.includesAny("cWormlike","cAmorphous")>>slither\n<<elseif $contextTraits.includes("cAquatic")>>swim\n<<elseif $contextTraits.includes("cAvian")>>glide\n<<else>>move<</if>>\ninto the designated area\n<<if $contextTraits.includesAny("ctSpacefaring","ctDigital","ctIndustrial")>>wielding nonlethal projectile weapons,\n<<elseif $contextTraits.includesAny("ctMedieval","ctIronAge")>>brandishing blunted steel swords,\n<<elseif $contextTraits.includesAny("ctBronzeAge")>>brandishing blunted bronze spears,\n<<elseif $contextTraits.includesAny("ctNeolithic","ctMesolithic","ctPaleolithic")>>brandishing stone clubs,\n<<else>>and assume combat stances,<</if>>
<p><<include [[Civ Battle Challenge Engineer Common]]>>\n<<theExplorers>> <<are>> ready with precisely machined body armour and finely balanced metal batons. The <<civname>> fight fiercely, but <<fName>>'s equipment gives <<theExplorers himher>> the edge. In the following celebration, the former combatants deconstruct the battle and <<inlineGainData "learn a great deal about one another's cultures" xenotechnology medium>>.</p>\n<p><<nextEventLink>></p>
<p><<include [[Civ Battle Challenge Engineer Common]]>>\nthey find <<theExplorers>> wearing awkward body armour and wielding poorly balanced metal batons. <<TheExplorers>> <<eVerb fight>> gamely, but surrender after a well-placed blow cracks <<randomCrewMember2>>'s body armour and <<inlineInjureCrewMember2 `"knocks "+TextUtils.himher()+" out"` "was killed in a staged battle with aliens">>.</p>\n<p><<nextEventLink>></p>
<<name>> uses <<hisher>> knowledge of <<civname>> biology to devise tactics against them
<<fName>> has already been able to observe the \n<<if $contextTraits.includes("cBipedal")>>bipedal\n<<elseif $contextTraits.includes("cQuadrupedal")>>quadrupedal\n<<elseif $contextTraits.includes("cWormlike")>>worm-like\n<<elseif $contextTraits.includes("cAquatic")>>aquatic\n<<elseif $contextTraits.includes("cAmorphous")>>aquatic\n<<elseif $contextTraits.includes("cAvian")>>avian<</if>>\naliens' anatomy, and devises combat techniques that will take advantage of <<if $crew.length==1>><<hisher>><<else>>the humans'<</if>>\n<<if $contextTraits.includes("cQuadrupedal")>>greater agility.\n<<elseif $contextTraits.includes("cWormlike")>>longer reach.\n<<elseif $contextTraits.includes("cAvian")>>more grounded stance.\n<<elseif $contextTraits.includes("cAmorphous")>>rigid skeletons.\n<<else>>different body shape.<</if>>
<p><<include [[Civ Battle Challenge Biologist Common]]>>\n<<HisHer>> research give <<theExplorers>> a decisive advantage, and the aliens concede defeat after one of them is knocked out by a precise blow to what <<fName>> identified as their most vulnerable area. During the ensuing celebration, the former combatants desconstruct the battle and learn a great deal about both one another's <<inlineGainData "cultures" xenotechnology small>> and <<inlineGainData "physical abilities" xenobiology small>>.</p>\n<p><<nextEventLink>></p>
<p><<include [[Civ Battle Challenge Biologist Common]]>>\nUnfortunately, the <<civname>> have been studying <<if $crew.length==1>><<himher>><<else>>the humans<</if>> in the same way, and the battle ends after <<randomCrewMember2>> <<inlineInjureCrewMember2 "falls to a well-placed blow" "was killed in a staged battle with aliens">>.</p>\n<p><<nextEventLink>></p>
<<name>> explains that the humans are explorers, not warriors
<p>Drawing on <<hisher>> knowledge of the <<civname>>'s language and culture, <<fName>> makes a moving speech about how the <<shipName>> is on a mission of peaceful exploration, and how modern humans value learning and coexistence, not strength of arms.</p>\n<p>After a pause, the <<civname>> make their gesture for a concession of defeat, and congratulate <<fName>> for winning the battle of words. <<fName>> spends the rest of the day learning about <<inlineGainData "the tradition of rhetoric and debate" xenotechnology medium>> that runs alongside the <<civname>>'s martial culture.</p>\n<p><<nextEventLink>></p>
<p><<fName>> explains that the <<shipName>> is on a mission of peaceful exploration and that modern humans do not define themselves by combat prowess. One of the <<civname>> rises and rebuts <<hisher>> argument point by point, saying that not only <<eVerb are is>> <<theExplorers>> guilty of cowardice, but that <<they>> <<eVerb have has>> demonstrated a profound disrespect not only for <<their>> hosts but for <<their>> own warrior ancestors. <<fName>> comes away convinced that the <<civname>> are right, and that modern human culture is <<inlineDepressCrewMember "fundamentally weak and lacking in honour">>.</p>\n<p><<nextEventLink>></p>
<<TheExplorers>> <<eVerb accept>> the challenge
<<TheExplorers>> <<eVerb enter>> the ring and face off against the <<civname>> champions, both sides\n<<if $contextTraits.includesAny("ctSpacefaring","ctDigital","ctIndustrial")>>wielding nonlethal projectile weapons of <<civname>> make.\n<<elseif $contextTraits.includesAny("ctMedieval","ctIronAge")>>armed with blunted steel swords.\n<<elseif $contextTraits.includesAny("ctBronzeAge")>>armed with blunted bronze spears.\n<<elseif $contextTraits.includesAny("ctNeolithic","ctMesolithic","ctPaleolithic")>>armed with stone clubs.\n<<else>>unarmed.<</if>>
<p><<include [[Civ Battle Challenge Accept Common]]>>\n<<TheExplorers>>, untrained in combat and awkward in <<their>> <<eNoun spacesuits>>, <<eVerb are is>> no match for the <<civname>>, and the battle is short. <<TheExplorers HeShe>> <<eVerbpn do does>>, however, manage to avoid taking any serious injuries, and impress the <<civname>> with <<their>> fighting spirit. In the following celebration, the former combatants bond over the shared experience and <<inlineGainData "learn about one another's cultures" xenotechnology medium>>.</p>\n<p><<nextEventLink>></p>
<p><<include [[Civ Battle Challenge Accept Common]]>>\nThe <<civname>> quickly overwhelm <<theExplorers>>, who prove to be even more uncoordinated and fragile than either <<they>> or <<their>> hosts had expected. Even though the battle was meant to be non-lethal, an unlucky blow pierces <<randomCrewMember>>'s suit and kills <<himher>> instantly. The <<civname>> appear not to value individual life as highly as modern humans do, and consider this to be an unfortunate but acceptable outcome.</p>\n<<killCrewMember "was killed in a staged battle with aliens">>\n<p><<nextEventLink>></p>
<<TheExplorers>> <<eVerb refuse>> the challenge
<p>The <<civname>> accuse <<theExplorers>> of something that can be approximately translated as //cowardice//, which for the <<civname>> is the worst possible character failing. <<TheExplorers>> <<eVerb slink>> back to the <<shipName>>, and many of the <<civname>> refuse to have any more dealings with <<them>>.</p>\n<p><<nextEventLink>></p>
<<set $eventTitle = "Humans Bearing Gifts">>\n<p>The <<civname>> become increasingly sullen around <<theExplorers>>. Eventually one of them tells <<bestXenologist>> that it is customary for visitors from far-off places to bring gifts to the local ruler, and <<theExplorers>> <<eVerb have has>> failed to do so.</p>\n\n<p>\n<<opt "Civ Aliens Want Gift Xenologist" "eXenologist" "medium" "sDamageFabricator">>\n<<opt "Civ Aliens Want Gift Pilot" "ePilot" "medium" "sDamageLandingEngine">>\n<<opt "Civ Aliens Want Gift Default" "" "hard" "sDamageFabricator">>\n</p>
<<TheExplorers>> <<eVerb fabricate>> a selection of Earth artworks
<p><<TheExplorers>> <<eVerb use>> the <<shipName>>'s fabricator to create replicas of a selection of human cultural artefacts, and present them to the local <<civname>> ruler in a formal ceremony. The <<civname>> respond by bestowing on <<theExplorers>> <<inlineGainData "a small selection of indecipherable objects" xenotechnology small>>. Neither group has the cultural context to understand much about the other's artworks, but the gift-giving obligation is fulfilled.</p>\n<p><<nextEventLink>></p>
<p><<TheExplorers>> <<eVerb use>> the <<shipName>>'s fabricator to create replicas of a selection of human cultural artefacts, and present them to the local <<civname>> ruler in a formal ceremony. The local ruler inspects the gifts but does not seem any happier. Although the gift-giving obligation has technically been discharged, it seems that <<theExplorers>> failed to pick up on the nuances of what would make an appropriate gift.</p>\n<<nextEventLink>>
<<name>> investigates <<civname>> gift-giving culture and fabricates some artefacts that they would find particularly pleasing
<p>Most human cultural artefacts would be incomprehensible to the <<civname>> (and vice versa), but <<fName>> uses what <<heshe>> <<verb knows>> about their culture to select some appropriate artworks and present them in a way that relates them to <<civname>> modes of understanding. The local ruler is extremely pleased with the gifts, and the gift-giving ceremony sparks a <<inlineGainData "lively discussion" xenotechnology medium>> about inter-species aesthetics.</p>\n<p><<nextEventLink>></p>
<p><<fName>> spends hours selecting artworks and rehearsing how to present them. When the time for the gift-giving ceremony comes, however, the local ruler cuts <<himher>> off as soon as <<heshe>> <<verb starts>>, and barely glances at the gifts as they are taken to a storage area. It seems that while the giving of gifts is a necessary formality, modern <<civname>> culture sees dwelling on the process as gauche. <<fName>> is embarrassed, although <<heshe>> <<is>> pleased to have <<inlineGainData "learned a little more" xenotechnology tiny>> about the <<civname>>.</p>\n<p><<nextEventLink>></p>
<<name>> uses the <<shipName>> to harvest some useful materials for the <<civname>> <<showFuelCost tiny>>
<p>The <<civname>> use a variety of resources, some of which are more abundant in remote areas of the planet that they have trouble reaching. <<fName>> <<inlineLoseFuel "flies the ship" tiny>> to one of these areas, and <<theExplorers X>> <<eVerb spend>> some time filling its cargo bay with useful resources. The local <<civname>> ruler is delighted, and responds by giving <<theExplorers>> a selection of <<inlineGainData "geological anomalies" planetary_science small>>, some of which they have shaped into <<inlineGainData "beautiful artworks" xenotechnology small>>.</p>\n<p><<nextEventLink>></p>
<p>The <<civname>> use a variety of mineral resources, some of which are more abundant in remote areas of the planet that they have trouble reaching. <<fName>> assumes that the <<shipName>> will have to problem <<inlineLoseFuel "reaching one of these places" tiny>>, but they prove to be more inaccessible than they first appeared, and <<inlineDamageShip "the ship crashes" `"crashed while collecting minerals for the "+Civs.getKnownName($civilisations[$currentSystem.planets[$planetNumber].nativeCiv])`>> while attempting to land close enough to harvest them.</p>\n<p><<nextEventLink>></p>
<<set $eventTitle = "Alien Geometries">>\n<p>The <<civname>>'s structures make incredibly efficient use of space, to the extent that <<theExplorers>> sometimes <<eVerb feel>> as if the buildings are larger on the inside than the outside. <<bestXenologist>> becomes fascinated by these structures, and wonders if the design principles behind them could be adapted for human use.</p>\n\n<p>\n<<opt "Civ Efficient Structures Xenologist" "eXenologist only1" "medium" "" "Civ Efficient Structures No Xenologist" "medium">>\n<<nextEventLink "Log Findings Move On Move On Option">>\n</p>
<<name>> tries to translate the alien design principles into human terms
<p>Several <<civname>> architects enthusiastically take <<fName>> on a tour of one of their finest buildings. Its internal layout is baffling and seems to defy the laws of geometry, until something clicks in <<hisher>> mind and its design principles <<inlineGainData "suddenly make sense" xenotechnology medium>>. When <<heshe>> <<verb returns>> to the <<shipName>>, <<heshe>> <<is>> suddenly aware of all the wasted space in its crew quarters, and <<verb jots>> down notes about how it could be rearranged.</p>\n<<unlockUpgrade "sUpgradeCrewCapacityXeno">>\n<p><<nextEventLink>></p>
<p>Several <<civname>> architects enthusiastically take <<fName>> on a tour of one of their finest buildings. <<fName>> emerges several hours later, <<inlineDepressCrewMember "visibly shaken">>, muttering about infinite corridors and rooms with five right-angles. <<HeShe>> <<is>> never able to coherently explain the layout of the building, and <<verb becomes>> pale at any suggestion of applying <<civname>> techniques to human design.</p>\n<p><<nextEventLink>></p>
<<TheExplorers>> <<eVerb try tries>> to make sense of the alien design principles
<<silently>><<randomCrewMember>><</silently>>\n<<include [[Civ Efficient Structures Xenologist Success]]>>
<<silently>><<randomCrewMember>><</silently>>\n<<include [[Civ Efficient Structures Xenologist Failure]]>>
<<set $eventTitle = "Language Learning">>\n<p>Only a short time after the <<shipName>>'s arrival, many <<civname>> individuals are speaking Pan-Solar fluently, while <<theExplorers>> still <<eVerb struggle>> with the basics of the complex <<civname>> language. <<bestXenologist>> learns that the <<civname>> have a bewildering variety of dialects, and have developed ingenious mental techniques to help them learn new languages quickly.</p>\n<p>\n<<opt "Civ Contact Translator Unlock Xenologist" "eXenologist only1" "medium" "" "Civ Contact Translator Unlock No Xenologist" "medium">>\n<<nextEventLink "Log Findings Move On Move On Option">>\n</p>
<<name>> tries to translate the <<civname>>'s language-learning techniques into a form that humans can use
<p><<fName>> spends some time with several <<civname>> language tutors, who patiently teach <<himher>> their <<inlineGainData "language learning technique" xenotechnology medium>>. <<fName>> quickly realises that the technique relies on peculiarities of <<civname>> brain structure and is too complex for humans to ever learn, but thinks that it could be the basis for an AI expert system built into the explorers' suits.</p>\n<<unlockUpgrade "sUpgradeTranslator">>\n<p><<nextEventLink>></p>
<p><<civname>> language tutors attempt to teach <<fName>> their language learning technique, but the technique relies on peculiarities of <<civname>> psychology and is too complex for the human brain to ever grasp. Even trying to understand it leaves <<fName>> <<inlineDepressCrewMember "shaken and confused">>.</p>\n<p><<nextEventLink>></p>
<<TheExplorers>> <<eVerb try tries>> to translate the <<civname>>'s language-learning techniques into a form that humans can use
<<silently>><<randomCrewMember>><</silently>>\n<<include [[Civ Contact Translator Unlock Xenologist Success]]>>
<<silently>><<randomCrewMember>><</silently>>\n<<include [[Civ Contact Translator Unlock Xenologist Failure]]>>
<<set $eventTitle = "Keynote Speech">>\n<p>The <<civname>> are enthusiastic to learn from <<theExplorers>>, and decide to hold a gathering of scholars from across <<if $contextTraits.includesAny("ctIndustrial","ctDigital","ctSpacefaring")>><<planetName>><<else>>the region<</if>>. Such conferences traditionally begin with an honoured guest giving a speech which will set the tone for the rest of the proceedings, and the organisers naturally want <<if $crew.length == 1>><<theExplorers>><<else>>one of the explorers<</if>> to deliver it.</p>\n\n<p>\n<<opt "Civ Conference Speech Planetary Scientist" "ePlanetaryScientist" "medium">>\n<<opt "Civ Conference Speech Biologist" "eBiologist" "medium">>\n<<opt "Civ Conference Speech Xenologist" "eXenologist" "medium">>\n<<opt "Civ Conference Speech No One">>\n</p>
<<name>> gives a speech about the wonders of the universe
<p><<fName>> darkens the room and projects images onto the wall of astronomical phenomena the <<shipName>> has encountered. The <<civname>> gaze entranced at the images of exotic stars and planets, and hang on <<fName>>'s every word as <<heshe>> skilfully <<verb translates>> <<hisher>> insights into their language. <<HeShe>> <<verb ends>> <<hisher>> talk with an image of <<planetName>> that the <<shipName>> took from orbit. The following discussions focus on astrophysics, and <<theExplorers>> <<eVerb learn>> a great deal from the <<civname>>'s <<inlineGainData "unique perspective on the universe" planetary_science medium>>.</p>\n<p><<nextEventLink>></p>
<p><<fName>> darkens the room and projects images onto the wall of astronomical phenomena the <<shipName>> has encountered. The <<civname>> gaze entranced at the images of exotic stars and planets, but have trouble understanding <<hisher>> explanations. At the end of the speech, the <<civname>> have enjoyed an impressive light show, but <<fName>> has failed to spark any useful discussion into planetary science.</p>\n<p><<nextEventLink>></p>
<<name>> gives a speech about the variety of life on Earth and <<planetName>>
<p><<fName>> gives a lecture on the variety of life the <<shipName>> has encountered, especially on the rich ecosystems of Earth and <<planetName>>. The <<civname>> biologists attending the conference become excited, and a discussion ensues that continues for hours without a break. <<TheExplorers>> <<eVerb note>> down <<civname>> <<inlineGainData "insights into biology" xenobiology medium>> that will keep Chiron Base's scientists busy for years.</p>\n<p><<nextEventLink>></p>
<p><<fName>> gives a lecture on the variety of life the <<shipName>> has encountered, especially on the rich ecosystems of Earth and <<planetName>>, but finds that <<hisher>> understanding of the local life is too basic for <<himher>> to make an insightful comparison. The <<civname>> begin an animated discussion about Earth's ecosystem, but <<fName>> finds that <<heshe>> <<verb has have>> to spend so much time correcting the misconceptions <<hisher>> speech has left them with that they make little progress.</p>\n<p><<nextEventLink>></p>
<<name>> gives a speech about the similarities and differences between <<civname>> and human culture
<p><<fName>> gives a lecture comparing what <<heshe>> <<eVerb has have>> learned about <<civname>> art, institutions, and cultural practices with their closest equivalents among human culture. The <<civname>> scholars are impressed by the deep understanding of their culture that <<heshe>> <<verb has have>> acquired in such a short time, and <<hisher>> remarks lead to <<inlineGainData "a productive discussion about comparative xenology" xenotechnology medium>>.</p>\n<p><<nextEventLink>></p>
<p><<fName>> gives a lecture comparing what <<heshe>> <<eVerb has have>> learned about <<civname>> art, institutions, and cultural practices with their closest equivalents among human culture. <<HisHer>> intention was to foster a sense of mutual undertanding by pointing out the two races' similarities, but <<heshe>> unintentionally <<verb gives>> the impression that <<heshe>> <<verb thinks>> that human culture is superior, and the <<civname>> take offence. For the rest of the conference the <<civname>> are cold towards <<theExplorers>>, and <<they>> <<eVerb get>> the impression that <<they>> <<eVerb are is>> not being included in the most interesting discussions.</p>\n<p><<nextEventLink>></p>
<<TheExplorers>> <<eVerb make>> a speech with no particular focus
<p><<randomCrewMember>> opens the conference by expressing gratitude towards the <<civname>> for the gathering, and then makes some remarks about how much their two civilisations can learn from one another. The <<civname>> scholars are interested, but the speech doesn't steer them towards any particular topic, so the following discussions are unfocused. <<TheExplorers>> <<eVerb do does>>, however, return to the <<shipName>> with a stash of <<inlineGainData "canvas bags" xenobiology tiny>> and <<inlineGainData "writing implements" planetary_science tiny>> decorated with the conference's <<inlineGainData "logo" xenotechnology tiny>>.</p>\n<p><<nextEventLink>></p>
<<set $eventTitle = "A New Home">>\n<p>After weeks spent with the <<civname>>, <<randomCrewMember>> comes to love the alien civilisation, and cannot bear the thought of leaving them forever. <<HeShe>> <<verb begins>> to consider staying on <<planetName>> when the <<shipName>> departs.</p>\n<p>\n<<opt "Civ Explorer Wants To Stay Stay" "only1" "medium">>\n<<opt "Civ Explorer Wants To Stay Leave" "only1" "medium">>\n</p>
<<fName>> stays with the <<civname>>
<p><<if $crew.length == 1>>\n\t<<fName>> abandons <<hisher>> mission of exploration and stays with the <<civname>>. <<HeShe>> <<verb gains>> a deep understanding of <<hisher>> adopted culture, but those insights never make it back to Chiron Base.\n<<else>>\n\t<<fName>> says an emotional goodbye to the other <<if $crew.length==2>>explorer<<else>>explorers<</if>> and takes the life support supplies <<heshe>> will need to survive permanently with the <<civname>>. <<HeShe>> <<verb remains>> in contact with the <<shipName>> for the rest of its time in the system, and transmits back <<inlineGainData "fascinating insights" xenotechnology large>> into <<hisher>> adopted culture.\t\n<</if>></p>\n\n<div class="notification-box"><span class="inline-icon"><<iconWithTooltip "village" "A new home">></span> <<name>> has left the <<shipName>>.</div>\n\n<<retireCrewMemberX $selectedCrewMember `"stayed with the "+Civs.getKnownName($civilisations[$currentSystem.planets[$planetNumber].nativeCiv])`>>\n\n<p><<nextEventLink>></p>
<p><<fName>> attempts to build a home with the <<civname>>, but living long-term on <<planetName>> without <<shipName>>'s life support systems proves impossible. <<HeShe>> eventually <<verb returns>> to the <<shipName>>, feverish with an <<inlineGiveCrewMemberTrait "alien infection" "eAlienInfection">> and <<inlineDepressCrewMember "deeply unhappy">> to say goodbye to <<hisher>> adopted family.</p>\n<p><<nextEventLink>></p>
<<fName>> tearfully says goodbye
<p>Perhaps <<fName>> could have been happy on <<planetName>>, but the <<shipName>>'s mission of exploration is more important. The <<civname>> are upset, but understand, and give <<himher>> a parting gift of <<inlineGainData "carefully selected artworks" xenotechnology medium>> to remember them by.</p>\n<p><<nextEventLink>></p>
<p><<fName>> tearfully says goodbye to <<hisher>> hosts and turns <<hisher>> attention back to the <<shipName>>'s mission, but is ever afterwards <<inlineDepressCrewMember "haunted by thoughts">> of the life <<heshe>> could have had on <<planetName>>.</p>\n<p><<nextEventLink>></p>
<<set $eventTitle = "Invaders from Space">>\n<p>\n<<if $contextTraits.includes("ctNonToolUsing")>>\n\tA delegation\n<<else>>\n\tAn armed delegation\n<</if>>\nof <<civname>> confronts <<theExplorers>>. "We will not let you gather any more intelligence for your invasion plan!" their leader says. "Other worlds may have fallen before you, but the <<civname>> spirit is unbreakable!"</p>\n\n<p>\n<<opt "Civ Invasion Accusation Xenologist" "eXenologist" "medium" "sUpgradeTranslator" "Civ Invasion Accusation No Xenologist" "hard">>\n<<opt "Civ Invasion Accusation Leave">>\n</p>
<<TheExplorers>> <<eVerb leave>> before things get ugly
<p>The <<civname>> look like they might become violent at any moment, so <<theExplorers>> <<eVerb leave>> while <<they>> still <<eVerb have has>> the chance. The <<shipName>> manages to <<inlinePreventLanding "take off">> before the angry mob reaches it. From the safety of orbit, <<theExplorers>> observe the <<civname>> fortifying their settlements in preparation for an invasion that will never come.</p>\n<<set $positionTrait = "xInOrbit">>\n<p><<nextEventLink>></p>
<<name>> tries to convince the <<civname>> that they are peaceful explorers
<<fName>> manages to convince the <<civname>> to listen to an alternative explanation, and tells them about the drive towards exploration and discovery that runs through human history, and how it eventually gave rise to the <<shipName>>, whose only mission is to learn about the wider universe and its inhabitants.
<p><<include [[Civ Invasion Accusation Xenologist Common]]>></p>\n\n<p>There are darker parts of human history, of course, but the same is true of the history of <<planetName>>. In an impassioned speech that demonstrates <<hisher>> mastery of the <<civname>>'s language, <<fName>> manages to convince the <<civname>> that the humans' desire for peaceful exploration is genuine, and that humans and <<civname>> alike could benefit from <<inlineGainData "cultural exchange" xenotechnology medium>>.</p>\n\n<p><<nextEventLink>></p>
<p><<include [[Civ Invasion Accusation Xenologist Common]]>></p>\n\n<p>This approach backfires, however, when the <<civname>> learn more details of human history and how the drive towards exploration was not the only force at play.</p>\n\n<p>"Your explorers have always been followed by colonisers and conquerers," the <<civname>> representative points out. "Your history is one of humans conquering one another and seizing their land. Even if your <<shipName>> wants only to explore, we fear that it will be followed by humans with other motives."</p>\n\n<p>The <<civname>> are obstinate: they will not help any future invaders by giving them more information about their planet. They politely but firmly repeat their demand that the <<shipName>> leave, and <<theExplorers>> <<eVerb have has>> no choice but to <<inlinePreventLanding "comply">>. Back in orbit, <<fName>> finds <<himherself>> dwelling on the conversation, and realising that the <<civname>>'s analysis of human history <<inlineDepressCrewMember "may have a point">>.</p>\n\n<p><<nextEventLink>></p>
<<TheExplorers>> <<eVerb explain>> that the <<shipName>> is on a mission of peaceful exploration
<p><<TheExplorers>> <<eVerb point>> out the <<shipName>>'s lack of weapons and <<eVerb try tries>> to describe its mission of scientific exploration. The <<civname>> still have their suspicions, but eventually agree to give <<theExplorers himher>> the benefit of doubt and share <<inlineGainData "non-military information" xenotechnology small>> about their civilisation.</p>\n<p><<nextEventLink>></p>
<p><<TheExplorers>> <<eVerb begin>> to explain the <<shipName>>'s mission of exploration, but the <<civname>> refuse to listen and abruptly attack, pouncing on <<randomCrewMember>> and <<inlineInjureCrewMember "injuring" "was killed by suspicious aliens">> <<himher>> as they drive the "<<eNoun invaders>>" back to <<their>> ship. The <<shipName>> manages to <<inlinePreventLanding "take off">> before the angry mob reaches it, and <<theExplorers>> <<eVerb resign>> <<themselves>> to keeping off the <<planetNoun>>'s surface.</p>\n<p><<nextEventLink>></p>
<<set $eventTitle = "Medical Request">>\n<p>As soon as the <<civname>> hear about the humans' medical technology, their healers beg for help with a disease that has been ravaging <<planetName>>'s population. They seem to think that the explorers' advanced technology could cure the plague easily, and don't understand the potential difficulties of inter-species medicine.</p>\n\n/% First two options are intentional duplicates - either a biologist or a medic can attempt the cure %/\n<p>\n<<opt "Civ Plague Cure Biologist" "eBiologist" "medium" "sDamageMedbay sDamageBiolab">>\n<<opt "Civ Plague Cure Biologist" "eMedic" "medium" "sDamageMedbay sDamageBiolab">>\n<<opt "Civ Plague Cure Medbay" "" "hard" "sDamageMedbay">>\n<<opt "Civ Plague Cure Refuse">>\n</p>
<<TheExplorers>> <<eVerb say>> <<they>> can't help
<p><<TheExplorers>> <<eVerb explain>> that curing the plague is too difficult even for their advanced technology. The <<civname>> are angry, but are too busy dealing with the plague to force the issue.</p>\n<p><<nextEventLink>></p>
<<name>> attempts to cure the plague
<p>The <<civname>> provide <<fName>> with all their research on the plague, and <<heshe>> <<verb collects>> samples of diseased and healthy tissue to study in the <<shipName>>'s lab. After days of work, <<heshe>> <<verb finds>> that the <<civname>> were correct about the humans' more advanced technology being able to cure the plague. The <<shipName>>'s laboratory is able to <<inlineGainData "find a weakness in the pathogen" xenobiology small>> that the <<civname>>'s own \n<<if $contextTraits.includesAny("ctSpacefaring","ctDigital","ctIndustrial","ctMedieval")>>\n\tscientific equipment\n<<else>>\n\thealers\n<</if>>\ncould not, and its medical fabricator is able to synthesize a cure.</p>\n\n<p>Once the cure has been proven to work, <<fName>> manages to find a way for the <<civname>> to create more of it using only the materials they have on hand. The <<civname>> are overjoyed, and are <<inlineGainData "happy to answer any further questions" xenotechnology small>> <<theExplorers>> <<eVerb have has>> about their civilisation.</p>\n\n<p><<nextEventLink>></p>
<p>The <<civname>> provide <<fName>> with all their research on the plague, and <<heshe>> <<verb collects>> samples of diseased and healthy tissue to study in the <<shipName>>'s lab, but the alien biology proves too difficult for <<himher>> to understand. After several days of work, <<heshe>> <<verb succeeds>> only in creating a strain of the disease that can <<inlineGiveCrewMemberTrait `"jump species and infect "+TextUtils.himher()` "eAlienInfection">>.</p>\n\n<p><<nextEventLink>></p>
<<TheExplorers>> <<eVerb analyse>> plague samples using the <<shipName>>'s medbay
<p>The <<civname>> provide samples of healthy and diseased tissue, which <<theExplorers>> <<eVerb analyse>> using their basic medical training and the <<shipName>>'s automated medbay. Although the biology involved is alien, it turns out that the disease's infection mechanism is simple enough that <<theExplorers heshe>> can identify it and synthesize a countermeasure. The <<civname>> are overjoyed, and are <<inlineGainData "happy to answer any further questions" xenotechnology small>> <<theExplorers>> <<eVerb have has>> about their civilisation.</p>\n<p><<nextEventLink>></p>
<p><<TheExplorers>> <<eVerb have has>> only basic medical training, and the medbay was designed with only human tissue in mind, and neither is any help in making sense of the <<civname>> samples. Not only <<eVerb do does>> <<theExplorers>> fail to learn anything, but <<randomCrewMember>> also somehow becomes <<inlineGiveCrewMemberTrait "infected by a species-crossing strain" "eAlienInfection">></p>\n<p><<nextEventLink>></p>
<<set $eventTitle = "We Can Fix It">>\n<p>The <<civname>> may not be familiar with human technology, but it doesn't take an expert to see that the <<shipName>> is damaged. Some <<civname>> scientists and engineers offer to use their resources to repair the ship before <<theExplorers>> <<eVerb make>> the journey back home.</p>\n\n<p>\n<<opt "Civ Repair Offer Yes" "" "medium">>\n<<opt "Civ Repair Offer Engineer" "eEngineer" "medium" "sDamageFabricator sUpgradeTranslator">>\n<<opt "Civ Repair Offer Xenologist" "eXenologist" "medium" "sDamageFabricator sUpgradeTranslator">>\n<<opt "Civ Repair Offer No">>\n</p>
<<set _fixedSystem = oneOf($ship.traits)>>\n<<switch _fixedSystem>>\n\t<<case "sDamageInterplanetaryEngine">><<keywordTooltip "interplanetary engine" "Interplanetary engine repaired" "damage-glowing-artifact">>\n\t<<case "sDamageLandingEngine">><<keywordTooltip "landing engine" "Landing engine repaired" "damage-rocket-thruster">>\n\t<<case "sDamageLifeSupport">><<keywordTooltip "life support system" "Life support system repaired" "damage-heart-beats">>\n\t<<case "sDamageMedbay">><<keywordTooltip "medbay" "Medbay repaired" "damage-medical-pack-alt">>\n\t<<case "sDamageBiolab">><<keywordTooltip "biolab" "Biolab repaired" "damage-parmecia">>\n\t<<case "sDamageFabricator">><<keywordTooltip "ship's fabricator" "Fabricator repaired" "damage-processor">>\n\t<<default>>damaged system\n<</switch>>\n<<set $ship.traits.delete(_fixedSystem)>>
<<TheExplorers>> <<eVerb let>> the <<civname>> fix the <<shipName>>
<p>The <<civname>> engineers are confident that they can repair the <<shipName>>, so <<theExplorers>> <<eVerb leave>> it in their capable gripping appendages. <<TheExplorers>> do not <<eVerb understand>> the alien engineering techniques they use, but when they are finished the <<include [[Civ Repair Offer Print And Repair Random System]]>> is fully working again.</p>\n<p><<nextEventLink>></p>
<p>The <<civname>> engineers are confident that they can repair the <<shipName>>, so <<theExplorers>> <<eVerb leave>> it in their gripping appendages. Unfortunately, the differences between human and <<civname>> engineering techniques are larger than the alien engineers had anticipated, and they succeed only in <<inlineDamageShip "making things worse" "was destroyed by a botched alien repair job">>.</p>\n<p><<nextEventLink>></p>
<<name>> supervises the <<civname>> as they repair the ship
<p>The <<civname>> have the skills and resources necessary to repair the <<shipName>>, so all they need is guidance in the Chiron Project's engineering techniques. <<fName>> disassembles some of the ship's systems and demonstrates how to make repairs, and <<hisher>> eager <<civname>> apprentices soon understand what they are doing. Under <<fName>>'s guidance, the <<civname>> engineers repair the <<include [[Civ Repair Offer Print And Repair Random System]]>> to working order, and <<fName>> makes interesting observations about their <<inlineGainData "engineering techniques" xenotechnology small>>.</p>\n<p><<nextEventLink>></p>
<p>The <<civname>> have the skills and resources necessary to repair the <<shipName>>, but need is guidance in the Chiron Project's engineering techniques, so <<fName>> disassembles one of the ship's systems in order to demonstrate how to make repairs. The <<civname>> get the wrong idea, however, and think that <<heshe>> <<is>> asking them to disassemble other parts of the ship as well. By the time <<heshe>> can get them to stop, large parts of the ship have been <<inlineDamageShip "carelessly dismantled" "was destroyed by a botched alien repair job">>.</p>\n<p><<nextEventLink>></p>
<<name>> talks the <<civname>> through repairing the ship
<p>The language of physics may be universal, but the two species' <<inlineGainData "technical jargon" xenotechnology small>> still needs translation. With <<fName>> on hand to answer their questions about the Chiron Project's engineering techniques, the <<civname>> are able to avoid damaging the <<shipName>> as they work on it, and eventually restore the <<include [[Civ Repair Offer Print And Repair Random System]]>> to working order.</p>\n<p><<nextEventLink>></p>
<p><<fName>> is confident of <<hisher>> ability to translate between human and <<civname>> technical jargon, and supervises the <<civname>> engineers as they get to work. At a critical moment, however, <<heshe>> <<verb mixes>> up the words for clockwise and counterclockwise, leading to a <<civname>> engineer accidentally <<inlineDamageShip "damaging an important system" "was destroyed by a botched alien repair job">>.</p>\n<p><<nextEventLink>></p>
<<TheExplorers>> <<eVerb decline>> the <<civname>>'s offer
<p>Even assuming the <<civname>> scientists' offer is genuine and not a ploy to steal the Chiron Project's technology, there is no telling the harm they could do without knowledge of human engineering techniques. Luckily, the <<civname>> seem to understand, and do not take offence.</p>\n<p><<nextEventLink>></p>
<<set $eventTitle = "Weapons Request">>\n<p>The <<civname>> nation in which the explorers have landed is in conflict with another. When the <<civname>> leaders learn of the humans' advanced technology, they demand that they help them to design advanced weapons to give them an edge in the conflict.</p>\n\n<p>\n<<opt "Civ Tech Request Weapons Engineer" "eEngineer" "easy" "sDamageFabricator">>\n<<opt "Civ Tech Request Weapons Xenologist" "eXenologist" "medium">>\n<<opt "Civ Tech Request Weapons Agree" "" "medium" "sDamageFabricator sUpgradeSuitsArmour">>\n<<opt "Civ Tech Request Weapons Refuse" "" "hard" "sUpgradeSuitsArmour">>\n</p>
<<name>> works with the <<civname>> to advance their weapons technology
<p><<name>> works with the <<civname>> to advance their weapons technology, and in doing so learns about their <<inlineGainData "military culture" xenotechnology tiny>>. With exclusive access to the weapons, this <<civname>> faction will easily be able to defeat the other.</p>\n<p>\n<<opt "Civ Tech Request Weapons Both" "eXenologist" "medium">>\n<<nextEventLink>>\n</p>
<p><<name>> has no experience with designing weapons, and what <<heshe>> <<verb creates>> is ill-suited to <<civname>> physiology and too unwieldy to be useful. The <<civname>> accuse <<himher>> of deliberately sabotaging their war effort, and a fight breaks out in which <<fName>> is <<inlineInjureCrewMember "injured" `"was killed by the "+Civs.getKnownName($civilisations[$currentSystem.planets[$planetNumber].nativeCiv])+" after failing to develop weapons for them"`>>.</p>\n<p><<nextEventLink>></p>
<<name>> looks for a way to give the weapons to the other side of the conflict as well
<p><<name>> manages to arrange for the weapons' designs to be smuggled to the other side of the conflict. While the weapons will lead to more deaths, the overall balance of power is not changed, and <<fName>> learns about <<inlineGainData "the culture of the other group" xenotechnology small>>.</p>\n<<unlockAchievement "event_outcome_both_sides">>\n<p><<nextEventLink>></p>
<p>The <<civname>> catch the <<name>> trying to smuggle the technology to the other side, and a fight breaks out in which <<fName>> is <<inlineInjureCrewMember "injured" `"was killed by the "+Civs.getKnownName($civilisations[$currentSystem.planets[$planetNumber].nativeCiv])+" after giving weapons to their enemies"`>>.</p>\n\n<p><<nextEventLink>></p>
<<name>> tries to find a diplomatic way to refuse the request
<p>Using examples from both human and <<civname>> history, <<name>> explains to the <<civname>> why advancing their weapons technology to give an edge in one conflict would only harm their civilisation in the long run. The nation's leaders are not happy, but they don't press the issue, and <<fName>> gains some insights into the <<planetNoun>>'s <<inlineGainData "conflict-riddled history" xenotechnology small>>.</p>\n<p><<nextEventLink>></p>
<p><<name>> tries to defuse the situation diplomatically, but only makes things worse. The <<civname>> accuse <<theExplorers>> of siding with their enemies, and a fight breaks out in which <<fName>> is <<inlineInjureCrewMember "injured" `"was killed by the "+Civs.getKnownName($civilisations[$currentSystem.planets[$planetNumber].nativeCiv])+" after refusing to give them weapons"`>>.</p>\n<p><<nextEventLink>></p>
<<TheExplorers>> <<eVerb fabricate>> some laser guns
<p><<TheExplorers>> <<eVerb fabricate>> a dozen small laser projectors, of the kind that the Chiron Project designed to be used as a last resort against hostile wildlife. The <<civname>> watch in awe as <<randomCrewMember>> demonstrates one of the weapons, and the delegation excitedly returns home to study their acquisitions. <<TheExplorers>> <<eVerb are is>> confident that the <<civname>> will not be able to reproduce the weapons or repair them when they inevitably break, so <<they>> <<eVerbpn hope>> that their impact on <<planetName>>'s conflict will be limited and short-lived.</p>\n<p><<nextEventLink>></p>
<p><<TheExplorers>> <<eVerb fabricate>> a dozen small laser projectors, of the kind that the Chiron Project designed to be used as a last resort against hostile wildlife. When the <<civname>> test our their new armaments, however, the human-designed grips and triggers prove awkward for the aliens' manipulators. One of the <<civname>> accidentally discharges a weapon, shooting <<randomCrewMember>> and <<inlineInjureCrewMember "burning through" "was accidentally shot by an alien">> <<hisher>> suit.</p>\n<p><<nextEventLink>></p>
<<TheExplorers>> <<eVerb refuse>> to give the <<civname>> any weapons technology
<p>The <<civname>> are angry and attempt to take <<theExplorerss>> technology by force, but <<theExplorers>> <<eVerb manage>> to get away without being injured.</p>\n<p><<nextEventLink>></p>
<p>The <<civname>> try to take <<theExplorerss>> technology by force. <<TheExplorers>> <<eVerb manage>> to get away, but not before <<randomCrewMember>> has been <<inlineInjureCrewMember "injured" `"was killed by the "+Civs.getKnownName($civilisations[$currentSystem.planets[$planetNumber].nativeCiv])+" after refusing to give them weapons"`>>.</p>\n<p><<nextEventLink>></p>
<<set $eventTitle = "Ghosts in the Machine">>\n\n<<if $contextTraits.includes("cExtinct")>>\n\t<p>Unknown millennia after the <<civname>> became extinct in the 'real' world, the computer system running their simulated world still buzzes with activity. Ancient terminals tempt with the possibility of contact with the virtual world, and there are even arcane devices that may be the neural interfaces the <<civname>> used to enter the simulation. The last <<civname>> may still be in there...if <<theExplorers>> <<eVerb can>> find a way to reach them.</p>\n<<else>>\n\t<p>Many members of the <<civname>> civilisation exist as artificial intelligences in the <<planetNoun>>-spanning computer system, but the simulated world they experience is still mysterious to <<theExplorers>>. The embodied <<civname>> can temporarily enter the simulated world using advanced neural interfaces, and communicate with those inside using more conventional computer terminals, but neither of these are immediately understandable to <<theExplorers>>.</p>\n<</if>>\n\n<p>\n\t<<opt "CivExCiv Virtual World Biologist" "eBiologist" "hard" "sDamageBiolab">>\n\t<<opt "CivExCiv Virtual World Engineer" "eEngineer" "medium" "">>\n\t<<opt "CivExCiv Virtual World Xenologist" "eXenologist" "medium" "sUpgradeTranslator">>\n\t<<nextEventLink "CivExCiv Virtual World Decline Option">>\n</p>
<<name>> attempts to adapt the alien neural interface for human brains
<p>Using what <<heshe>> <<verb has have>> learned of <<civname>> biology, <<fName>> creates an adapter to convert the output of the <<civname>> neural interface into something that the human brain can perceive. When <<heshe>> <<verb puts>> on the electrode helmet, external reality fades away and <<heshe>> can see, hear, and smell the simulated world as if it was real.</p>\n<<include [[CivExCiv Virtual World Describe World]]>>\n<p><<nextEventLink>></p>
<p>Using what <<heshe>> <<verb has have>> learned of <<civname>> biology, <<fName>> creates an adapter to convert the output of the <<civname>> neural interface into something that the human brain should be able to perceive. When <<heshe>> <<verb puts>> on the electrode helmet and activates it, however, <<heshe>> experiences a barrage are incomprehensible sensory stimuli and a <<inlineDepressCrewMember "pervasive sense of wrongness">>. Either <<fName>>'s converter failed, or the <<civname>> is so different from external reality as to be inaccessible to the human mind.</p>\n<p><<nextEventLink>></p>
<<name>> studies the workings of the system and looks for a way to communicate with it
<p><<fName>> manages to tap into the data stream travelling between two nodes of the computer network, and eventually creates an algorithm that can make sense of it. In the <<shipName>>'s control room, the cascade of alien data resolves into an image of the world inside the simulation.</p>\n<<include [[CivExCiv Virtual World Describe World]]>>\n<p><<nextEventLink>></p>
<p><<fName>> manages to tap into the data stream travelling between two nodes of the computer network, and eventually creates an algorithm that can make sense of it. Neither <<hisher>> suit nor <<hisher>> engineering kit have the processing power to handle that much data, so <<theExplorers heshe>> <<eVerbpn retreat>> to the <<shipName>> and set its computer to the task.</p>\n<p>Once <<fName>> activates <<hisher>> program, however, cascading errors flash across all the control room's screens. Whether by accident or as the result of <<aCivname>> cyber-defence system, attempting to process the alien data has created a hostile program that is attempting to corrupt the ship's <<shipName>>'s systems. <<fName>> manages to shut the program down and purge it from the computer, but not before it has done <<inlineDamageShip "serious damage" "was destroyed by an alien computer program">>.</p>\n<p><<nextEventLink>></p>
<<name>> attempts to interface with the system using the <<civname>>'s controls
<p>The nodes of the computer network include terminals with visual and auditory outputs, designed to allow the <<civname>> to observe the interior of the simulation without fully entering. At first glance these are incomprehensible, but <<fName>>'s knowledge of <<civname>> language and ergonomics allows <<himher>> to decipher them. Contorting <<hisher>> hands to fit the alien controls, <<heshe>> activates the terminal, and an image of the simulated world appears on the screen.</p>\n<<include [[CivExCiv Virtual World Describe World]]>>\n<p><<nextEventLink>></p>
<p>The nodes of the computer network include terminals with visual and auditory outputs, designed to allow the <<civname>> to observe the interior of the simulation without fully entering. <<fName>> attempts to decipher the system, and activates what <<heshe>> <<verb believes>> is the correct control--but <<is>> thrown back by a <<inlineInjureCrewMember "powerful electric shock" "electrocuted when attempting to use an alien computer terminal">>. <<HeShe>> either inadvertently attempted to use a damaged terminal, or activated some defence the terminal had against unauthorised use.</p>\n<p><<nextEventLink>></p>
<<set _r = 0>>\n<<if $contextTraits.includes("cExtinct")>>\n\t<<set _r = random(0,3)>>\n<<else>>\n\t<<set _r = random(2,5)>>\n<</if>>\n<<switch _r>>\n\t\t/% Only extinct ones %/\n\t<<case 0>>\n\t\t<p>The simulated world is an idyllic version of <<planetName>>, seemingly designed as a perfect environment for the <<civname>> to live carefree lives--but it is empty. <<fName>> manages to access the logs, and finds that the population of the simulation long ago dwindled to nothing, either due to a too-realistic simulation of natural death, a glitch in the program, or simulated individuals deciding that they had had enough of a perfect immortal life. Since then the system has continued to run, faithfully simulating the <<inlineGainData "physics" planetary_science small>> and <<inlineGainData "wildlife" planetary_science small>> of a depopulated world.</p>\n\t<<case 1>>\n\t\t<p>The simulated world resembles the <<civname>> equivalent of an enormous university campus, with amphitheatre-like lecture halls and serene libraries. Simulated <<civname>> wander the halls and gardens. It appears that this once once a repository of knowledge, where simulations of past <<civname>> thinkers would impart <<inlineGainData "their wisdom" xenotechnology large>> to temporary visitors to the simulation. Now the visitors no longer come, but the simulation's inhabitants appear content to enjoy their environment and discuss arcane philosophical topics with one another, the simulation having not simulated their capacity for boredom.</p>\n\t\t/% Extinct or existing %/\n\t<<case 2>>\n\t\t<p>The simulated world is an idyllic version of <<planetName>>, as it existed in a real or imagined past. Simulated <<civname>> individuals live carefree lives of <<inlineGainData "leisure and culture" xenotechnology medium>>, or take part in lives of adventure facilitated by the simulation's AI. It seems that the <<civname>> created the simulation as an ideal world for themselves, and <<if $contextTraits.includes("cExtinct")>>decided as a civilisation<<else>>large parts of their population decided<</if>> to migrate to the simulation and abandon the less forgiving real world.</p>\n\t<<case 3>>\n\t\t<p>The simulated world is beautiful but bizarre, bearing almost no relation to the real surface of <<planetName>>, or even to the physics of the real world. Vast geometric shapes float in a glowing void, pulsating with complex patterns of colour and sound. These are the <<civname>>, or their simulated descendants, but their simulated world has diverged so far from the real world that it is <<inlineGainData "almost incomprehensible" xenotechnology small>> to the human mind.</p>\n\t\t/% Existing %/\n\t<<case 4>>\n\t\t<p>The simulated world resembles the <<civname>> equivalent of an enormous university campus, with amphitheatre-like lecture halls and serene libraries. Simulated <<civname>> <<inlineGainData "deliver lectures" xenotechnology large>> to the avatars of visitors to the simulation, or wander the halls and gardens, patiently answering visitors' questions. The simulation is a repository of living knowledge, where simulations of past <<civname>> thinkers continue to impart their knowledge to new generations.</p>\n\t<<case 5>>\n\t\t<p>The simulated world closely resembles the real version of <<planetName>>, even with the same individuals existing in both real and simulated versions. As <<fName>> continues to investigate, however, <<heshe>> <<verb sees>> some notable differences: different laws, or changes to the civilisation's infrastructure. The simulation is an <<inlineGainData "experimental test environment" xenotechnology medium>>, allowing the <<civname>> authorities to try out changes before implementing them in the real world.</p>\n<</switch>>
<<TheExplorers>> leave the aliens to their dream world
<<set $eventTitle = "Silent Corridors">>\n\n<p><<TheExplorers>> <<eVerb board>> the derelict <<alienShipNoun>> through one of the many holes in its hull, and spend days <<inlineGainData "mapping its silent interior" xenotechnology small>>. No traces remain of the beings that once crewed it, \n<<revealMeddlingCivTrait "cQuadrupedal" "cAvian" "cAquatic" "cWormlike" "cBipedal" "cAmorphous">>\n<<set _knownTraits = $civilisations[$currentSystem.planets[$planetNumber].interstellarCiv].knownTraits>>\n<<if _knownTraits.includes("cQuadrupedal")>>\n\talthough the wide doorways and stool-like chairs suggest that they were <<printDesc "&quadrupedal==cQuadrupedal&">>.\n<<elseif _knownTraits.includes("cAvian")>>\n\talthough the huge pressurised spaces and high, perch-like structures suggest they they were <<printDesc "&avian==cAvian&">>.\n<<elseif _knownTraits.includes("cAquatic")>>\n\talthough the interior spaces were once filled with liquid, suggesting that they were <<printDesc "&aquatic==cAquatic&">>.\n<<elseif _knownTraits.includes("cWormlike")>>\n\talthough the gently curving, circular corridors suggest that they might have been shaped like <<printDesc "&giant worms==cWormlike&">>.\n<<elseif _knownTraits.includes("cBipedal")>>\n\talthough the tall, narrow doorways and comparatively human-like furniture suggest that they were <<printDesc "&bipeds==cBipedal&">>.\n<<elseif _knownTraits.includes("cAmorphous")>>\n\talthough the bizzarre design of the interior spaces suggests that they were <<printDesc "&amorphous==cAmorphous&">>.\n<</if>>\n</p>\n<p><<nextEventLink>></p>
<<set $eventTitle = "Derelict Machine">>\n\n<p>Severe damage to the <<alienShipNoun>>'s outer hull has laid its interior bare for <<theExplorerss>> inspection, although it also means that all but the most robust structure has disintegrated. Nevertheless, <<theExplorers>> <<are>> able to piece together some information about <<inlineGainData "its builders' technology" xenotechnology small>>.</p>\n<p><<nextEventLink>></p>
<<set $eventTitle = "Ancient Defence System">>\n\n<p><<TheExplorers>> <<eVerb manage>> to gain entry to the derelict through a breach in its hull, and <<eVerb make>> <<their>> way to more intact interior section. Suddenly, a long-dormant <<meddlingCivName>> system shudders to life, and an energy beam narrowly misses <<randomCrewMember>>. <<TheExplorers HeShe>> frantically <<eVerbpn take takes>> cover as the ancient defence turret begins scanning for a new target.</p>\n\n<p>\n<<opt "Board Derelict Defence System Engineer" "eEngineer" "easy">>\n<<opt "Board Derelict Defence System Xenologist" "eXenologist" "medium">>\n<<opt "Board Derelict Defence System Attack" "" "hard" "sUpgradeSuitsArmour">>\n<<opt "Board Derelict Defence System Run" "" "medium" "sUpgradeSuitsArmour">>\n</p>
<<name>> tries to disable the defence system
<p>Using what <<heshe>> has learned so far about <<meddlingCivName>> technology, <<fName>> is able to spot a weakness in the defence system's targeting mechanism and send a signal that jams it. With the turret temporarily disabled, <<heshe>> <<verb rushes rush>> over and <<verb severs>> a key connection, rendering it permanently inert. With the emergency over, dissecting the system gives <<fName>> <<inlineGainData "new insights" xenotechnology small>> into <<meddlingCivName>> technology.</p>\n<p><<nextEventLink>></p>
<p><<fName>> sends a signal that jams the defence system's targeting mechanism, and leaps into action to dismantle the turrent permanently. Unfortunately, the system is able to adapt to the jamming, and comes back online when <<fName>> is out of cover. <<inlineInjureCrewMember `"A beam pierces "+TextUtils.hisher()+" suit"` "was killed by an ancient defence system">> before <<heshe>> <<verb manages>> to yank out the correct component and disable the turret.</p>\n<p><<nextEventLink>></p>
<<name>> tries to find the shutdown command
<p><<name>> dodges to a control panel and taps what <<heshe>> <<verb "hopes" "hope">> is the shut down command. To the <<theExplorerss hisher>> relief, the turret folds back into the wall and the <<alienShipNoun>> goes quiet. <<fName>> <<verb is are>> able to spend time <<inlineGainData "studying the defence system's control scheme" xenotechnology small>>.</p>\n<p><<nextEventLink>></p>
<p><<name>> dodges to a control panel and taps what <<heshe>> <<verb "hopes" "hope">> is the shut down command, but <<heshe>> only <<verb "manages" "manage">> to attract attention to <<himherself>>. <<fName>> is <<inlineInjureCrewMember "burned by an energy beam" "was killed by an ancient defence system">> and <<theExplorers X>> <<are>> forced to retreat to the <<shipName>>.</p>\n<p><<nextEventLink>></p>
<<TheExplorers>> <<eVerb make>> a break for the <<shipName>>
<p><<TheExplorers>> <<eVerb dart>> out of cover and <<eVerb hurry hurries>> back towards the <<shipName>>. The defence turret fires again, but its targeting system has decayed with age, and every shot goes wide.</p>\n<p><<nextEventLink>></p>
<p><<TheExplorers>> <<eVerb make>> a break for it, but <<randomCrewMember>> is too slow and an energy beam <<inlineInjureCrewMember `"cuts through "+TextUtils.hisher()+" leg"` "was killed by an ancient defence system">> before <<theExplorers heshe>> <<are>> out of range.</p>\n<p><<nextEventLink>></p>
<<TheExplorers>> <<eVerb attack>> the turret and <<eVerb try tries>> to disable it
<p>The defence system must have decayed with age, or else be calibrated for intruders that move more slowly than humans. Before the turret can find its mark, <<theExplorers>> <<eVerb rush rushes>> over and <<eVerb smash smashes>> its already decayed systems to pieces. <<TheExplorers>> <<eVerb learn>> some things about <<inlineGainData "alien technology" xenotechnology small>> from the pieces, although not as much as if <<they>> had been able to study it intact.</p>\n<p><<nextEventLink>></p>
<p><<TheExplorers>> <<eVerb hope>> that the ancient turret will not be able to aim quickly enough if <<they>> <<eVerbpn rush rushes>> it, but the <<meddlingCivName>> built their defence system to last. <<randomCrewMember>> takes an energy beam directly in the face. \n<<if $crew.length > 2>>\n\tThe other explorers manage to smash the turret before it fires again, but <<fName>> was killed instantly.\n<<elseif $crew.length == 2>>\n\t<<randomCrewMember2 not1>> manages to smash the turret before it fires again, but <<fName>> was killed instantly.\n<<else>>\n\tThe intruder dealt with, the turret folds itself back into the wall and the defence system shuts down.\n<</if>>\n</p>\n<<killCrewMember "was killed by an ancient defence system">>\n<p><<nextEventLink>></p>
<<set $eventTitle = "Derelict">>\n<<include [[Explore Trait Discover Features]]>>\n/%<<nextEventFromList "boardDerelict">>%/\n<<addEventFromListToQueue "boardDerelict" end>>\n<p><<nextEventLink>></p>
<<set $eventTitle = "Built to Last">>\n<p><<meddlingCivName>> starship construction techniques were centuries or millennia more advanced than those of humanity, as evidenced by the fact that the derelict ship is still intact to be discovered. Close inspection of its outer hull reveals tiny scars from impacts that would have shattered the <<shipName>>. If <<theExplorers>> could reverse-engineer even a fraction of this technology, it could be applied to make the <<shipName>> more resilient.</p>\n<p>\n<<opt "Board Derelict Armour Unlock Engineer" "eEngineer" "medium" "" "Board Derelict Armour Unlock No Engineer" "hard">>\n<<nextEventLink "Log Findings Move On Move On Option">>\n</p>
<<name>> looks for design techniques that could be applied to the <<shipName>>'s construction
<p><<name>> takes samples of armour from across the <<meddlingCivName>> ship, and compiles detailed schematics of its design. With some work, the Chiron Project should be able to apply some of the insights to refitting the <<shipName>>.</p>\n<<unlockUpgrade "sUpgradeArmourXeno">>\n<p><<nextEventLink>></p>
<p>Unfortunately, part of what made the <<meddlingCivName>> ship so resilient was some kind of active defence system, which is still partially functioning after all this time. <<name>> is trying to retrieve a hull sample when an energy surge <<inlineInjureCrewMember `"blasts "+TextUtils.himher()+" away"` "triggered an alien ship's defence system">>.</p>\n<p><<nextEventLink>></p>
<<TheExplorers>> <<eVerb look>> for design techniques that could be applied to the <<shipName>>'s construction
<<silently>><<randomCrewMember>><</silently>>\n<<include [[Board Derelict Armour Unlock Engineer Success]]>>
<<silently>><<randomCrewMember>><</silently>>\n<<include [[Board Derelict Armour Unlock Engineer Failure]]>>
<<set $eventTitle = "Masters of Design">>\n<p>The cavernous spaces of the alien <<alienShipNoun>> swallow <<theExplorerss>> torch beams, and its corridors and galleries feel endless. <<TheExplorerss>> scanners confirm that the interior is no larger than expected, but <<theExplorers heshe>> <<eVerbpn are is>> astonished by how much the <<meddlingCivName>> managed to fit inside.</p>\n<p>\n<<opt "Board Derelict Crew Capacity Unlock Engineer" "eEngineer" "medium" "" "Board Derelict Crew Capacity Unlock No Engineer" "hard">>\n<<nextEventLink "Log Findings Move On Move On Option">>\n</p>
<<name>> looks for design techniques that could be applied to the <<shipName>>'s construction
<p>Equipped with laser range-finders, <<fName>> methodically creates a 3D model the <<meddlingCivName>> <<alienShipNoun>>. It should provide Chiron Base with alien design techniques that could be applied to making the <<shipName>>'s crew spaces more compact.</p>\n<<unlockUpgrade "sUpgradeCrewCapacityXeno">>\n<p><<nextEventLink>></p>
<p><<fName>> explores the twisting corridors of the <<meddlingCivName>> <<alienShipNoun>>, but succeeds only in getting hopelessly lost. At last <<heshe>> <<verb finds>> <<hisher>> way back to the <<shipName>>, <<inlineDepressCrewMember "unable to coherently describe">> the route <<heshe>> took.</p>\n<p><<nextEventLink>></p>
<<TheExplorers>> <<eVerb look>> for design techniques that could be applied to the <<shipName>>'s construction
<<silently>><<randomCrewMember>><</silently>>\n<<include [[Board Derelict Crew Capacity Unlock Engineer Success]]>>
<<silently>><<randomCrewMember>><</silently>>\n<<include [[Board Derelict Crew Capacity Unlock Engineer Failure]]>>
<<set $eventTitle = "Asteroid Defence System">>\n<p><<TheExplorers>> <<eVerb board>> the derelict and begin cataloguing its surviving systems. Most of them are are identifiable based on their form, but one remains mysterious despite being largely intact. <<meddlingCivName>> symbols indicate that it is some kind of asteroid defence system.</p>\n<p>\n<<opt "Board Derelict AntiAsteroid Unlock Engineer" "eEngineer" "medium" "" "Board Derelict AntiAsteroid Unlock No Engineer" "hard">>\n<<nextEventLink "Log Findings Move On Move On Option">>\n</p>
<<name>> dismantles the system to try to understand it
<p><<name>> carefully opens the system's protective shell and takes detailed scans of its components. As far as <<heshe>> can tell, it originally projected some kind of energy field around the <<alienShipNoun>> which gently deflected asteroids that would otherwise hit it. The scientifical principles behind it are strange, but <<fName>>'s notes might allow the Chiron Project to reverse-engineer it for the <<shipName>>.</p>\n<<unlockUpgrade "sUpgradeShipAsteroids">>\n<p><<nextEventLink>></p>
<p><<name>> opens up the system's protective shell and investigates its components, but one piece that appeared to be inert proves to be charged with some kind of residual energy. A momentary energy surge <<inlineInjureCrewMember `"blasts "+TextUtils.himher()+" away"` "was killed while investigating an alien derelict">>, and the shockwave shatters the system beyond further investigation.<p><<nextEventLink>></p>
<<TheExplorers>> <<eVerb dismantle>> the system to try to understand it
<<silently>><<randomCrewMember>><</silently>>\n<<include [[Board Derelict AntiAsteroid Unlock Engineer Success]]>>
<<silently>><<randomCrewMember>><</silently>>\n<<include [[Board Derelict AntiAsteroid Unlock Engineer Failure]]>>
<<set $eventTitle = "Trapped">>\n\n<p><<TheExplorers>> find a breach in the <<alienShipNoun>>'s hull, and cautiously begin exploring its interior. Once inside, however, ancient <<meddlingCivName>> machinery moves unexpectedly, trapping <<randomCrewMember2>> within a strange construction of metal. It is not clear whether some residual power caused the machinery to briefly reactivate, or whether it simply shifted due to <<theExplorerss hisher>> movements, but <<fName2>> is thoroughly stuck.</p>\n<<if $crew.length == 1>>\n\t<p>With no one else left to save <<himher2>>, <<fName2>> dies alone in the alien wreck.</p>\n\t<<killCrewMember2 "was trapped in a derelict alien machine">>\n\t<p><<nextEventLink>></p>\n<<else>>\n\t<p>\n\t\t<<opt "Board Derelict Explorer Trapped Engineer" "eEngineer not2" "medium" "sUpgradeSuitsArmour">>\n\t\t<<opt "Board Derelict Explorer Trapped Xenologist" "eXenologist not2" "medium" "sUpgradeSuitsArmour">>\n\t\t<<opt "Board Derelict Explorer Trapped Cut" "" "hard" "sUpgradeSuitsArmour">>\n\t\t<<opt "Board Derelict Explorer Trapped Pull">>\n\t</p>\n<</if>>
<<name>> carefully dismantles the machinery
<p><<fName>> examines the tangle of alien metals trapping <<fName2>>, and <<hisher>> engineer's instinct begins to understand the obscure shapes as the mechanical components that they are. Eventually <<heshe>> <<verb identifies identify>> where the ancient machinery can be cut into safely to release <<fName2>>. Soon <<fName2>> is free, and the explorers are able to <<inlineGainData "examine the machinery" xenotechnology small>> from the inside out.</p>\n<p><<nextEventLink>></p>
<p><<fName>> sizes up the machinery, and believes that <<heshe>> can see a way of freeing <<fName2>> without damaging it. Unfortunately, it turns out that the machinery is too badly decayed, and the deteriorating metal behaves unpredictably. A component shatters, <<inlineInjureCrewMember "piercing" "killed by machinery in an alien derelict">> <<fName2>>'s suit even as <<fName>> pulls <<himher2>> free.</p>\n<p><<nextEventLink>></p>
<<name>> tries to work out the machinery's original function to get it to release <<fName2>>
<p>Using what <<heshe>> <<verb knows>> of <<meddlingCivName>> technology, <<fName>> works out how this part of the machine originally functioned, and spots the safety features that the <<meddlingCivName>> built into it for just this eventuality. Soon <<fName2>> is free, and <<fName>> is able to <<inlineGainData "study the machinery" xenotechnology small>> at <<hisher>> leisure.</p>\n<p><<nextEventLink>></p>
<p>Using what <<heshe>> already <<verb knows>> of <<meddlingCivName>> technology, <<fName>> thinks that <<heshe>> <<verb has have>> found a safety feature that the <<meddlingCivName>> installed for just this eventuality--but when <<heshe>> <<verb triggers>> it, the machinery only <<inlineInjureCrewMember2 "closes more tightly" "killed by machinery in an alien derelict">> around <<fName2>> before eventually releasing <<himher2>>.</p>\n<p><<nextEventLink>></p>
<<if $crew.length==2>>\n\t<<randomCrewMember not2>> tries\n<<else>>\n\tThe other explorers try\n<</if>>\nto cut <<fName2>> free without injuring <<himher2>>
<p>The cutting beams make short work of the alien machinery and <<fName2>> floats free, winded but unharmed.</p>\n<p><<nextEventLink>></p>
<<silently>><<randomCrewMember not2>><</silently>>\n<p>The tools cut through the alien machinery, but cutting through the metal triggers the release of some ancient pent-up tension. Sharp metal cables whip around and <<inlineInjureCrewMember "slice" "killed by machinery in an alien derelict">> into <<name>>'s suit, while the machinery <<inlineInjureCrewMember2 "crushes" "killed by machinery in an alien derelict">> <<name2>>.\n</p>\n<p><<nextEventLink>></p>
<<if $crew.length==2>>\n\t<<randomCrewMember not2>> pulls\n<<else>>\n\tThe other explorers pull\n<</if>>\n<<fName2>> free, injuring <<himher2>>
<p>It is impossible to pull <<fName2>> free without injuring <<himher2>>, but the consequences of meddling with the unknown <<meddlingCivName>> machinery could be worse. <<randomCrewMember2>> grits <<hisher2>> teeth while\n<<if $crew.length==2>>\n\t<<randomCrewMember not2>> pulls\n<<else>>\n\tthe other explorers pull\n<</if>>\n<<himher2>> free, <<hisher2>> suit deforming around <<hisher2>> <<inlineInjureCrewMember2 "cracking ribs" "killed by machinery in an alien derelict">>.</p>\n<p><<nextEventLink>></p>
<<set $eventTitle = "Ancient Reflex">>\n<p>As <<bestPilot>> brings the <<shipName>> alongside, some ancient proximity sensor awakens in the depths of the alien <<alienShipNoun>>. Parts of the derelict shudder to life, and uncontrolled bursts from half-intact engines push it onto a collision course with the <<shipName>>.</p>\n<p>\n\t<<opt "Board Derelict Fail Damage Ship Pilot" "ePilot" "easy" "sDamageLandingEngine" "Board Derelict Fail Damage Ship Accelerate" "hard">>\n\t<<opt "Board Derelict Fail Damage Ship Engineer" "eEngineer" "medium">>\n\t<<opt "Board Derelict Fail Damage Ship Brace">>\n</p>
<<name>> carefully moves the <<shipName>> out of the way <<showFuelCost tiny>>
<p><<fName>> straps <<himherself>> into the control couch and switches to manual controls. The derelict's engines are shaking it apart, so avoiding it is not a case of moving aside but of weaving through the flying debris. <<fName>>'s hands <<inlineLoseFuel "play over the thruster controls" tiny>>, narrowly avoiding ancient fragments of hull and machinery, until the space around the <<shipName>> is clear. There is not enough left of the derelict to study, although <<inlineGainData "observing how it broke up" xenotechnology tiny>> has given the <<theExplorers>> some insights into its design.</p>\n<p><<nextEventLink>></p>
<p><<fName>> <<inlineLoseFuel "fires the engines" tiny>> and manages to avoid the main body of the <<alienShipNoun>>, but its awakening has shaken parts of its hull loose, and one of these hits the <<shipName>>, <<inlineDamageShip "puncturing its hull" "collided with an alien derelict">>.</p>\n<p><<nextEventLink>></p>
<<name>> looks for a way to remotely disable the alien <<alienShipNoun>>
<p>The derelict is dark to the naked eye, but the <<shipName>>'s sensors reveal a circulatory system of energy relays gradually awakening. <<fName>> identifies a weak point in the system and fires the <<shipName>>'s sample laser, neatly severing the connection providing energy to the engines. The engines splutter out, and <<theExplorers>> <<are>> able to <<inlineGainData "perform a survey" xenotechnology small>> of the wreck.</p>\n<p><<nextEventLink>></p>
<p>The derelict is dark to the naked eye, but the <<shipName>>'s sensors reveal a circulatory system of energy relays gradually awakening. <<fName>> identifies a weak point in the system and fires the <<shipName>>'s sample laser, severing the power supply to the engines. Rather than shutting down, however, the derelict explodes, and a wave of debris <<inlineDamageShip `"slams into the //"+$ship.name+"//"` "was destroyed by an exploding alien derelict">>.</p>\n<p><<nextEventLink>></p>
<<TheExplorers>> <<eVerb fire>> the engines <<showFuelCost small>>
<p>Holding tight to handholds, <<theExplorers>> <<eVerb override>> the autopilot and <<eVerb fire>> the <<shipName>>'s engines at <<inlineLoseFuel "maximum power" small>>. The ship lurches forward, out of the path of the disintegrating alien <<alienShipNoun>>, and <<theExplorers>> <<eVerb are is>> thrown around the cabin but avoid serious injury. At last the space around the <<shipName>> is clear, and the autopilot stabilises its trajectory and brings it back into a safe orbit.</p>\n<p><<nextEventLink>></p>
<p>Holding tight to handholds, <<theExplorers>> <<eVerb override>> the autopilot and <<eVerb fire>> the <<shipName>>'s engines at <<inlineLoseFuel "maximum power" small>>. The ship avoids contact with the core of the alien <<alienShipNoun>>, but the derelicts engines caused it to shake apart, filling the nearby space with debris. Some of this debris <<inlineDamageShip "slams into the ship" "collided with an alien derelict">>, and <<randomCrewMember>> is thrown across the cabin to <<inlineInjureCrewMember "hit the far wall" "was killed during a collision with an alien derelict">>.</p>\n<p><<nextEventLink>></p>
<<TheExplorers>> <<eVerb strap>> <<themselves>> into acceleration couches to avoid injury
<p><<TheExplorers>> <<eVerb strap>> <<themselves>> into their acceleration couches, moments before the alien <<alienShipNoun>> slams into the <<shipName>>. The impact leaves the ship <<inlineDamageShip "damaged" "collided with an alien derelict">>, but the restraints save <<theExplorers>> from injury.\n<p><<nextEventLink>></p>
<<set $eventTitle = "Ancient Organism">>\n<p>The wreckage of the ancient <<alienShipNoun>> appears dead, until <<randomCrewMember2>>'s suit raises a biohazard warning. A potentially harmful microorganism has managed to survive all this time in the derelict, and has somehow found its way into <<fName2>>'s suit.</p>\n<<if $crew.length == 1>>\n\t<p>With no one to help <<himher2>>, <<fName2>> dies alone on the alien <<alienShipNoun>>.</p>\n\t<<killCrewMember2 "died from a fast-acting alien infection">>\t\n\t<p><<nextEventLink>></p>\n<<else>>\n<p>\n\t<<opt "Board Derelict Fail Infection Biologist" "eBiologist" "easy" "sDamageBiolab">>\n\t<<opt "Board Derelict Fail Infection Medic" "eMedic" "medium" "sDamageMedbay sUpgradeFirstAid">>\n\t<<opt "Board Derelict Fail Infection Xenologist" "eXenologist" "hard" "sUpgradeTranslator">>\n\t<<opt "Shared Infection Treat" "" "hard" "sDamageMedbay sUpgradeFirstAid">>\n\t<<opt "Shared Infection Quarantine">>\n</p>\n<</if>>
<<name>> bolsters <<fName2>>'s immune system
<p>The organism must be incredibly resilient to have survived here, but it evolved to affect <<meddlingCivName>> hosts, not humans. <<fName>>'s quick response helps <<if $selectedCrewMember==$selectedCrewMember2>><<hisher>><<else>><<fName2>>'s<</if>> immune system to fight off the infection before it can establish a foothold. <<TheExplorers HeShe>> may never really know what infected <<fName2>>, but <<hisher2>> bio-readings return to normal.</p>\n<p><<nextEventLink>></p>
<p>The organism must be incredibly resilient to have survived here, and that same resilience appears to make it resist <<fName>>'s treatments. The infection takes hold, and <<fName2>> begins feeling <<inlineGiveCrewMember2Trait "severely ill" "eAlienInfection">>.</p>\n<p><<nextEventLink>></p>
<<name>> studies the organism to find a way to eliminate it
<p><<fName>> examines everything that <<fName2>>'s suit might have touched on <<theExplorerss hisher>> journey through the derelict, and eventually identifies <<inlineGainData "a sample of the dormant organism" xenobiology small>>. Carefully studying it in the <<shipName>>'s lab lays bare its strengths and weaknesses, allowing the <<shipName>>'s medical fabricator to create an effective treatment.</p>\n<p><<nextEventLink>></p>
<p><<fName>> examines everything that <<fName2>>'s suit might have touched on <<theExplorerss hisher>> journey through the derelict, and finds what <<heshe>> <<verb thinks>> is a sample of the organism. The <<shipName>>'s biolab can make no sense of it, however. It is definitely the same organism that <<fName2>>'s suit detected, and it should not be able to infect human tissue--but it does. By the time <<fName>> realises that understanding the organism is beyond <<hisher>> current skills, the infection in <<fName2>> has <<inlineGiveCrewMember2Trait "taken hold" "eAlienInfection">>.</p>\n<p><<nextEventLink>></p>
<<name>> tries to find <<meddlingCivName>> records with information about the organism
<p><<fName>> manages to restore power to <<aMeddlingCiv>> information storage system, and hunts through it for anything related to the organism. Eventually <<heshe>> learns that <<theMeddlingCiv>> were <<inlineGainData "aware of the organism" xenotechnology small>> and regarded it as a pervasive pest, but had developed <<inlineGainData "treatments" xenobiology small>>. <<fName>> manages to use the <<shipName>>'s medical fabricator to adapt these treatments to human biology, and <<fName2>> is quickly cured.</p>\n<p><<nextEventLink>></p>
<p><<fName>> manages to restore power to <<aMeddlingCiv>> information storage system, but struggles to find anything related to the organism. Eventually <<heshe>> <<verb realises>> that it was not originally a disease at all, but an essential part of the <<alienShipNoun>>'s workings; but by the time <<heshe>> <<verb makes>> this connection it is too late to stop <<fName2>>'s infection from <<inlineGiveCrewMember2Trait "taking hold" "eAlienInfection">>.</p>\n<p><<nextEventLink>></p>
<<set $eventTitle = "Alien Gate Drive">>\n<p><<TheExplorers>> <<eVerb find>> <<their>> way in to what looks like it was once the alien <<alienShipNoun>>'s drive section. Once inside, <<randomCrewMember2>> feels traces of the peculiar nausea that the explorers have come to associate with Gate travel. There may be a still-active <<meddlingCivName>> Gate drive nearby which could teach <<theExplorers>> more about <<meddlingCivName>> technology, if <<they>> <<eVerb are is>> willing to brave the possible radiation and spatial warping.</p>\n<p>\n<<opt "Board Derelict Find Gate Drive Engineer" "eEngineer" "medium" "sDamageFabricator">>\n<<opt "Board Derelict Find Gate Drive Medic" "eMedic" "medium" "sDamageMedbay sUpgradeAntiRadiation">>\n<<opt "Board Derelict Find Gate Drive Try" "" "hard" "sUpgradeAntiRadiation">>\n<<nextEventLink "Board Derelict Find Gate Drive Leave Option">>\n</p>
<<name>> uses a remote probe to recover the Gate drive safely
<p><<fName>>'s probe locates the Gate drive amid the wrecked machinery, still somehow glowing with energy and emitting radiation that clouds the probe's transmissions with static. Working through the probe's limbs as if they were <<hisher>> own, <<fName>> neatly severs the drive's connections to the rest of the machinery and carries it back to a waiting radiation-proof container. Study of the Gate drive will teach the Chiron Project's scientists a great deal about the <<inlineGainData "alien technology" xenotechnology small>> behind the Gate network, and the logs from the probe's sensors will reveal more about the <<inlineGainData "precise ways in which it warps space" planetary_science small>>.</p>\n<p><<nextEventLink>></p>
<p><<fName>>'s probe locates the Gate drive amid the wrecked machinery, still somehow glowing with energy and emitting radiation that clouds the probe's transmissions with static. <<fName>> attempts to use the probe to sever the drive's connections to the rest of the derelict, but signal interference causes the probe's cutting tool to miss its target and hit the drive's delicate core. The release of energy shakes the derelict, and <<fName>> is <<inlineInjureCrewMember "caught in the explosion" "was killed by an exploding Gate drive">>.</p>\n<p><<nextEventLink>></p>
<<name>> inoculates <<himherself>> against wormhole radiation so that <<heshe>> can recover the drive
<p><<fName>> understands the peculiarities of wormhole radiation well enough to concoct a drug that temporarily suppresses its effects. <<HisHer>> immune system boosted by the drug, <<heshe>> <<verb follows>> <<hisher>> radiation tracker to the <<meddlingCivName>> Gate drive, cuts its connections to the derelict, and puts it into a radiation-proof container. Study of the Gate drive will teach the Chiron Project's scientists a great deal about the <<inlineGainData "alien technology" xenotechnology medium>> behind the Gate network, and the medical logs of <<fName>>'s experimental treatment will reveal more about <<inlineGainData "extreme biology" xenobiology small>>.</p>\n<p><<nextEventLink>></p>
<p><<fName>>'s experimental treatment suppresses the symptoms of wormhole sickness, but not the underlying radiation damage. By the time <<fName>> realises that the radiation is damaging <<hisher>> tissues and turns back, <<heshe>> <<verb has have>> already received a <<inlineGiveCrewMemberTrait "dangerous dose" "eRadiationSickness">>.</p>\n<p><<nextEventLink>></p>
<<TheExplorers>> <<eVerb decide>> not to risk disturbing the alien Gate drive
<<TheExplorers>> <<eVerb study studies>> the Gate drive
<p><<TheExplorers>> <<eVerb brave>> the spatial warping and exotic radiation to make a <<inlineGainData "close examination" xenotechnology small>> of the <<meddlingCivName>> Gate drive. As <<they>> had hoped, the drive's radiation shielding was as resilient as its power supply, although <<name2>> continues to feel <<inlineGiveCrewMember2Trait "nauseous" "eWormholeSickness">> even after <<they>> <<eVerbpn return>> to the <<shipName>>.</p>\n<p><<nextEventLink>></p>
<p><<TheExplorers>> <<eVerb locate>> the Gate drive, but as soon as <<they>> <<eVerb get>> close to it <<their>> radiation <<eNoun alarms>> sound. <<They>> <<eVerbpn beat>> a hasty retreat, but <<randomCrewMember>> has received a <<inlineGiveCrewMemberTrait "dangerous dose" "eRadiationSickness">>.</p>\n<p><<nextEventLink>></p>
<<set $eventTitle = "Mining Machine">>\n<p>Deep in the ancient mining tunnels, <<theExplorers>> <<eVerb find>> the decaying remains of a mining machine, apparently abandoned when <<theMeddlingCiv>> left the <<planetNoun>>.</p>\n<p>\n<<opt "ExMeddlingCiv Mining Machine Decode" "eXenologist" "medium">>\n<<opt "ExMeddlingCiv Mining Machine Dismantle" "eEngineer" "easy" "" "ExMeddlingCiv Mining Machine Dismantle No Engineer">>\n<<nextEventLink "Log Findings Move On Move On Option">>\n</p>
<<name>> studies the machine's controls for information about its makers
<p><<fName>> manages to access the machine's data store, and learns about both <<inlineGainData "its makers" xenotechnology medium>> and the <<inlineGainData "geological features" planetary_science small>> they built the machine to overcome.</p>\n<p><<nextEventLink>></p>
<p>As soon as <<fName>> begins connecting to the data banks, the mining machine comes to life and lurches towards <<himher>>. <<fName>> has no time to get away before <<heshe>> <<is>> in the clutches of its mining claws.</p>\n<<include [[ExMeddlingCiv Mining Machine Common Failure]]>>
<<name>> takes the machine apart to examine its workings
<p><<fName>> carefully removes part of the machine's casing and takes <<inlineGainData "detailed images of its workings" xenotechnology medium>>.</p>\n<p><<nextEventLink>></p>
<p><<fName>> pulls away part of the machine's casing, but the motion causes the machine to lurch forward and grab <<fName>> in its claws.</p>\n<<include [[ExMeddlingCiv Mining Machine Common Failure]]>>
<<TheExplorers>> <<eVerb take>> the machine apart to examine its workings
<p><<TheExplorers>> <<eVerb remove>> part of the machine's casing and <<eVerb take>> <<inlineGainData "detailed images of its workings" xenotechnology small>>.</p>\n<p><<nextEventLink>></p>
<p><<TheExplorers>> <<eVerb pull>> away part of the machine's casing, but the motion causes the machine to lurch forward and grab <<randomCrewMember>> in its claws.</p>\n<<include [[ExMeddlingCiv Mining Machine Common Failure]]>>
<<set $selectedCrewMember2 = $selectedCrewMember>>\n<<if $crew.length == 1>>\n\t<p>With no one else left to pull <<himher2>> out, <<fName2>> is killed by the alien mining machine beneath the surface of <<planetName>>.</p>\n\t<<killCrewMember2 "was killed by an alien mining machine">>\n\t<p><<nextEventLink>></p>\n<<else>>\n\t<p>\n\t<<opt "ExMeddlingCiv Mining Machine Common Failure Xenologist" "eLinguist not2" "medium">>\n\t<<opt "ExMeddlingCiv Mining Machine Common Failure Engineer" "eEngineer not2" "medium">>\n\t<<opt "ExMeddlingCiv Mining Machine Common Failure Pull" "" "medium">>\n\t</p>\n<</if>>
<<TheExplorers>> <<eVerb try tries>> to pull <<fName2>> from the machine's grip
<p><<TheExplorers>> <<eVerb manage>> to pull <<fName2>> from the machine's grip, although the struggle <<inlineInjureCrewMember2 `"broken several of "+TextUtils.hisher($crew[$selectedCrewMember2])+" bones"` "was killed by an alien mining machine">>.</p>\n<p><<nextEventLink>></p>
<p><<TheExplorers>> <<eVerb try tries>> to pull <<fName2>> from the machine's grip, but it is too strong, and <<heshe2>> <<is2>> crushed to death.\n<<killCrewMember2 "was killed by an alien mining machine">>\n<p><<nextEventLink>></p>
<<name>> tries to find the shutdown command on the machine's controls
<p><<fName>> uses what <<heshe>> knows of the <<meddlingCivName>> language to guess which of the controls is the emergency shutdown. <<HeShe>> <<verb stabs>> the control and the machine immediately shuts down and spits <<fName2>> out onto the tunnel floor, shaken but unharmed.</p>\n<p><<nextEventLink>></p>
<p><<fName>> uses what <<heshe>> knows of the <<meddlingCivName>> language to guess which of the controls is the emergency shutdown. <<HeShe>> <<verb stabs>> the control and the machine immediately spits <<fName2>> out onto the tunnel floor, but the time <<fName>> took finding the control means that the machine has already <<inlineInjureCrewMember2 `"broken several of "+TextUtils.hisher($crew[$selectedCrewMember2])+" bones"` "was killed by an alien mining machine">>.</p>\n<p><<nextEventLink>></p>
<<name>> tries to disable the machine
<p><<fName>> quickly takes in the alien machine's workings and spots a place where the casing is damaged and the mechanism could be jammed. <<HeShe>> <<verb grabs>> a shard of rock from the floor and pushes it into the weak spot, which immediately grinds to a halt. <<fName2>> falls to the tunnel floor, shaken but unharmed.</p>\n<p><<nextEventLink>></p>
<p><<fName>> quickly analyses the machine's workings, but it is hard to understand the alien technology while the machine is in motion. At last <<heshe>> <<verb spots>> a place where the casing is damaged and jams a shard of rock into the machine's workings. <<fName2>> falls to the floor, but the machine has already <<inlineInjureCrewMember2 `"broken several of "+TextUtils.hisher($crew[$selectedCrewMember2])+" bones"` "was killed by an alien mining machine">>.</p>\n<p><<nextEventLink>></p>
<<set $eventTitle = "Alien Research Data">>\n<p>Inside the tangled wreck of the <<alienShipNoun>>, one small section has survived relatively unscathed. Examining it, <<theExplorers>> <<eVerb find>> an intact computer system that could contain data that the <<meddlingCivName>> collected while studying <<planetName>>.</p>\n<p>\n<<opt "Board Derelict Database Xenologist" "eXenologist" "easy">>\n<<opt "Board Derelict Database Engineer" "eEngineer" "medium">>\n<<opt "Board Derelict Database Extract" "" "hard">>\n<<nextEventLink "Log Findings Move On Move On Option">>\n</p>
<<name>> tries to find the data storage mechanism and extract the data
<p>Bypassing the systems that the <<meddlingCivName>> would have used to access the data, <<fName>> identifies where the data is physically stored and creates an interface that can download it to the <<shipName>>'s computer. <<include [[Board Derelict Database Common Success]]>></p>\n<p><<nextEventLink>></p>
<p>Creating an interface between two different species' computer systems proves too difficult for <<fName>>.</p>\n<p><<nextEventLink>></p>
<<name>> attempts to reactivate the <<meddlingCivName>> system
<p><<fName>> restores power to the alien computer system, and eventually deciphers enough of the interface to access the data. <<include [[Board Derelict Database Common Success]]>></p>\n<p><<nextEventLink>></p>
<p><<fName>> restores power to the computer system, but the interface is designed based on non-human psychological principles and <<heshe>> can make no sense of it.</p>\n<p><<nextEventLink>></p>
<<TheExplorers>> physically <<eVerb remove>> the data storage device for analysis at Chiron Base
<p><<TheExplorers>> <<eVerb are is>> not equipped to analyse the <<meddlingCivName>> data in the field, but Chiron Base's Xenology Group is. The data storage device comes free with minimal damage, and rests safely in the <<shipName>>'s sample bay. <<include [[Board Derelict Database Common Success]]>></p>\n<p><<nextEventLink>></p>
<p><<TheExplorers>> <<eVerb attempt>> to cut the device out of the <<meddlingCivName>> <<alienShipNoun>>, but the structure is more fragile than <<they>> had anticipated and <<their>> actions trigger a collapse. <<They>> <<eVerb make>> it back to the <<shipName>>, but not before <<randomCrewMember>> has been <<inlineInjureCrewMember "injured" "killed while trying to extract an alien data storage device">>.</p>\n<p><<nextEventLink>></p>
Full analysis of the data will take the Chiron Project's scientists some time, but it appears to contain\n<<if $contextTraits.includes("psCiv")>>\n\tthe <<meddlingCivName>>'s remote observations of <<planetName>>'s <<inlineGainData "native civilisation" xenotechnology medium>>.\n<<elseif $contextTraits.includesAny("psAnimalLife","psPlantLife","psMicrobialLife")>>\n\tthe <<meddlingCivName>>'s study of <<planetName>>'s <<inlineGainData "native life" xenobiology medium>>.\n<<else>>\n\tthe <<meddlingCivName>>'s study of <<planetName>>'s <<inlineGainData "physical properties" planetary_science medium>>.\n<</if>>
<<set $eventTitle = "Still Observing">>\n<p>At first glance the <<meddlingCivName>> <<alienShipNoun>> appeared dead, but after <<theExplorers>> <<eVerb board>> it <<they>> <<eVerb detect>> low levels of power running through parts of its outer surface. It appears that the <<alienShipNoun>> was outfitted with an array of astronomical scanners, and some of them have kept functioning all this time, gathering data about the <<systemName>> system.</p>\n<p>\n<<opt "Board Derelict Useful Scanners Engineer" "eEngineer" "easy">>\n<<opt "Board Derelict Useful Scanners Xenologist" "eXenologist" "medium" "sUpgradeTranslator">>\n<<opt "Board Derelict Useful Scanners Tap" "" "hard">>\n<<nextEventLink "Log Findings Move On Move On Option">>\n</p>
<<name>> taps into the data feed
<<include [[Board Derelict Useful Scanners General Success]]>>\n<p><<fName>> taps into the feeds that send the raw data from the scanners to whatever was once meant to process them, and, after some trial and error, converts the data into a format that the <<shipName>> can use. <<TheExplorers HeShe>> <<eVerbpn are is>> none the wiser about how the scanners work or what the <<meddlingCivName>> were here for, but <<they>> now <<eVerbpn have has>> <<keywordTooltip "scanner data" "Planet traits revealed" "solar-system">> on all bodies in the <<systemName>> system.</p>\n<p><<nextEventLink>></p>
<p><<fName>> combs through every inch of the derelict, trying to track down the enigmatic signals, but without success. Clearly the sensors transmitted data to the rest of the <<alienShipNoun>> //somehow//, but the system is too alien for <<fName>> to usefully interact with.</p>\n<p><<nextEventLink>></p>
<<name>> deciphers the <<meddlingCivName>> control system and accesses the ship's logs
<<include [[Board Derelict Useful Scanners General Success]]>>\n<p>Re-activating the system is not difficult, but puzzling out a control scheme based on alien psychology is a challenge. At last <<fName>> manages it, and compiles a report on what the scanners reveal both about <<keywordTooltip "the system they were studying" "Planet traits revealed" "solar-system">> and <<inlineGainData "the explorers who used them" xenotechnology large>>.</p>\n<p><<nextEventLink>></p>
<p>Re-activating the system is not difficult, but puzzling out a control scheme based on alien psychology proves to be impossible. Bizarre symbols confront <<fName>>, teasing layers of meaning that <<heshe>> <<verb feels>> as if <<heshe>> could understand if <<heshe>> could only make the right mental leap. Even after conceding defeat, <<fName>> finds <<himher>>self <<inlineDepressCrewMember "haunted">> by the images.</p>\n<p><<nextEventLink>></p>
<<set _scannerFilter = function(traitName) {\t\n\treturn (traitName in Traits) && ("revealedBy" in Traits[traitName]);\n}>>\n<<for _n = $currentSystem.planets.length-1; _n >= 0; _n-->>\n\t\n\t/% Reveal planet traits based on ship scanners %/\n\t<<set $currentSystem.planets[_n].knownTraits = $currentSystem.planets[_n].knownTraits.concatUnique($currentSystem.planets[_n].traits.filter(_scannerFilter, $ship.upgrades))>>\n\t<<set $currentSystem.planets[_n].knownTraits.sort(traitSort).reverse()>>\n<</for>>
<<TheExplorers>> <<eVerb attempt>> to tap into the data feed
<<include [[Board Derelict Useful Scanners General Success]]>>\n<p><<TheExplorers>> <<eVerb tap>> into the feeds that send the raw data from the scanners to whatever was once meant to process them, and, after some trial and error, <<eVerb convert>> the data into a format that the <<shipName>> can use. <<TheExplorers HeShe>> <<eVerbpn are is>> none the wiser about how the scanners work or what the <<meddlingCivName>> were here for, but <<they>> now <<eVerbpn have has>> <<keywordTooltip "scanner data" "Planet traits revealed" "solar-system">> on all bodies in the <<systemName>> system.</p>\n<p><<nextEventLink>></p>
<p><<TheExplorers>> <<eVerb comb>> through every inch of the derelict, trying to track down the enigmatic signals, but without success. <<They>> <<eVerb do does>>, however, stumble upon the power source that has kept the scanners running for all this time, and <<randomCrewMember>> accidentally receives a <<inlineGiveCrewMemberTrait "dangerous dose of radiation" "eRadiationSickness">>.</p>\n<p><<nextEventLink>></p>
<<set $eventTitle = "Biolab">>\n<p>The explorers find an intact building that was evidently once some kind of biological laboratory. A few of the microbial samples are still intact, as are some of the apparatus the <<civname>> were using to study them.</p>\n\n<p>\n<<opt "ExCiv Biolab Biologist" "eBiologist" "easy" "sDamageBiolab">>\n<<opt "ExCiv Biolab Xenologist" "eXenologist" "medium">>\n<<opt "ExCiv Biolab Take" "" "hard">>\n<<nextEventLink "Log Findings Move On Move On Option">>\n</p>
<<name>> removes the samples from their containment and studies them using the <<shipName>>'s equipment
<p><<fName>> successfully transfers some of the ancient biological samples into the <<shipName>>'s laboratory and sets about studying them. The samples reveal a great deal about <<planetName>>'s <<inlineGainData "indigenous life" xenobiology medium>>, and the way in which they were stored tells the explorers more about <<inlineGainData "the civilisation that built the laboratory" xenotechnology small>>.</p>\n<p><<nextEventLink>></p>
<p><<fName>> attempts to transfer the ancient biological samples to the <<shipName>>'s laboratory, but the sample containers prove to be more complex and more fragile then the explorers expected. The microorganisms begin to multiply, and some of them escape to <<inlineGiveCrewMemberTrait `"infect "+TextUtils.himher()` eAlienInfection>>.</p>\n<p><<nextEventLink>></p>
<<name>> attempts to reactivate the <<civname>> apparatus and study the samples //in situ//
<p><<fName>> manages to decipher the <<civname>> equipment and reactivate it. Its databanks contain a wealth of information about the <<inlineGainData "biological samples" xenobiology small>> that the <<civname>> were studying, and even more about <<inlineGainData "the scientists themselves" xenotechnology medium>>.</p>\n<p><<nextEventLink>></p>
<p><<fName>> manages to reactivate the ancient equipment, but misinterprets its controls and accidentally causes it to release the microorganism. Even after all this time, the organism proves to be extremely virulent, and <<fName>>'s suit seals are <<inlineGiveCrewMemberTrait "not enough to keep it contained" eAlienInfection>>.</p>\n<p><<nextEventLink>></p>
<<TheExplorers>> <<eVerb remove>> the samples for analysis back at Chiron Base
<p>Extracting the biological samples from the ancient and unfamiliar machinery is difficult, but <<theExplorers>> eventually <<eVerb have has>> them safe in the <<shipName>>'s sample containers. Back at Chiron Base, they should make valuable <<inlineGainData "research material" xenobiology small>> for the Xenobiology Group.</p>\n<p><<nextEventLink>></p>
<p><<TheExplorers>> <<eVerb begin>> to transfer the samples from the ancient <<meddlingCivName>> sample containers to the <<shipName>>'s ones, but the brittle containers shatter and a piece pierces <<randomCrewMember's>> suit. The suit's self-repair system closes the gap and <<fName>> is not seriously harmed, but <<heshe>> later <<verb learns>> that <<inlineGiveCrewMemberTrait "a hostile alien microorganism" eAlienInfection>> has entered <<hisher>> bloodstream.</p>\n<p><<nextEventLink>></p>
<<set $eventTitle = "Epic">>\n<p>In the ruins of <<planetName>>, <<theExplorers>> <<eVerb find>>\n<<if $contextTraits.includesAny("ctSpacefaring","ctDigital")>>an ancient data storage device containing\n<<else>>a set of well-preserved stone tablets inscribed with<</if>>\nwhat appears to be an epic work of literature. Normally <<theExplorers>> would scan it and leave it for Earth-based scholars to study it in detail, but <<crewMemberWithWithoutTrait eXenologist eInspired>> becomes fascinated with it and wants to spend time translating it in full and delving into its meaning.</p>\n\n<p>\n<<opt "ExCiv Document Obsession Study" "only1" "medium">>\n<<opt "ExCiv Document Obsession Leave">>\n</p>
The explorers leave the document for Earth-based scholars
<p>In-depth study of an alien document could be better done by Earth-based scholars rather than the crew of a starship. The explorers file away <<inlineGainData "the document" xenotechnology small>> for later.</p>\n<p><<nextEventLink>></p>
The explorers stop while <<name>> studies the document in depth
<p><<name>> spends days poring over the document, barely stopping to eat and sleep. The story is an <<inlineGainData "epic drama" xenotechnology medium>>, possibly inspired by real historical events, dealing with themes that manage to be both specific to <<civname>> culture but also applicable to all intelligent life. At the end of <<hisher>> study, the explorers find <<fName>> changed, <<inlineInspireCrewMember "filled with a new enthusiasm">> for exploration.</p>\n<p><<nextEventLink>></p>
<p><<name>> spends days poring over the document, barely stopping to eat and sleep. The story is an <<inlineGainData "epic drama" xenotechnology small>>, possibly inspired by real historical events, but <<fName>> feels that there is a deeper level of meaning that eludes <<himher>>. <<fName>> <<verb becomes>> convinced that the ancient <<civname>> author had an essential message to convey about the meaning of all intelligent life, and becomes <<inlineDepressCrewMember "intensely depressed">> about <<hisher>> inability to understand it.</p>\n<p><<nextEventLink>></p>
<<set $eventTitle = "Dormant Nanites">>\n<p>The surface of <<planetName>> is covered in ancient, dormant nanomachines. It might be possible to reactivate a small number the nanites in order to learn about their makers.</p>\n<p>\n<<opt "ExMeddlingCiv Dormant Nanites Engineer" "eEngineer" "easy">>\n<<opt "ExMeddlingCiv Dormant Nanites Xenologist" "eXenologist" "medium">>\n<<opt "ExMeddlingCiv Dormant Nanites Reactivate" "" "medium">>\n<<nextEventLink "Log Findings Move On Move On Option">>\n</p>
<<name>> studies the nanites without reactivating them
<p>The <<shipName>>'s electron microscope reveals the nanites to be complex and ingenious, potentially capable of disassembling any kind of matter. <<fName>> concludes that it would be too dangerous to attempt to reactivate them, although without doing so <<heshe>> <<verb is are>> only able to learn a <<inlineGainData "limited amount" xenotechnology small>> about their workings.</p>\n<p><<nextEventLink>></p>
<p>The nanites as revealed by the <<shipName>>'s electron microscope are complex and confusing. <<fName>> concludes that reactivating them would pose too great a risk to the ship, but without doing so <<heshe>> <<verb is are>> unable to learn anything of substance.</p>\n<p><<nextEventLink>></p>
<<name>> reactivates some nanites to learn about their makers
<p><<fName>> carefully isolates a sample of the nanites in a portable lab and manages to examine their workings. Their minuscule size means they only have a rudimentary control system, but <<fName>> nevertheless learns about the <<meddlingCivName>>'s approach to <<inlineGainData "nanotechnology" xenotechnology medium>>.</p>\n<p><<nextEventLink>></p>
<p><<fName>> carefully isolates a sample of the nanites in a portable lab, but their control system is too rudimentary for <<himher>> to infer anything about their builders.</p>\n<p><<nextEventLink>></p>
<<TheExplorers>> <<eVerb reactivate>> some nanites to see what happens
<p><<TheExplorers>> <<eVerb secure>> a sample of nanites in the <<shipName>>'s lab, and <<eVerb bombard>> them with energy until they reactivate. The nanites seethe and multiply, and <<theExplorers>> <<eVerb are is>> able to <<inlineGainData "observe their behaviour" xenotechnology small>> before they shut down again.</p>\n<p><<nextEventLink>></p>
<p><<TheExplorers>> <<eVerb secure>> a sample of nanites in the <<shipName>>'s lab, and <<eVerb bombard>> them with energy until they reactivate. The nanites seethe and multiply, and to <<theExplorerss>> horror they escape from the laboratory and <<inlineDamageShip "eat away at the ship" "was dismantled by alien nanites">> before <<theExplorers>> <<eVerb manage>> to shut them down.</p>\n<p><<nextEventLink>></p>
<<set $eventTitle = "Dormant Robot">>\n<p>In the ruins, <<theExplorers>> <<eVerb come>> across a \n<<if $contextTraits.includes("cBipedal")>>\n\tbipedal\n<<elseif $contextTraits.includes("cQuadrupedal")>>\n\tquadrupedal\n<<elseif $contextTraits.includes("cWormlike")>>\n\tworm-like\n<<elseif $contextTraits.includes("cAquatic")>>\n\tsquid-like\n<<elseif $contextTraits.includes("cAvian")>>\n\tbird-like\n<<elseif $contextTraits.includes("cAmorphous")>>\n\themispherical\n<</if>>\nmachine--evidently a robot made in the image of the <<planetNoun>>'s extinct civilisation. \n\n<<if $contextTraits.includes("cAICiv")>>\n\tThis is a worker drone, not a member of the robotic <<civname>> civilisation, but\n<<else>>\n\tIts power supply has long since run out, but it is otherwise well-preserved, and\n<</if>>\nit might be possible to reactivate it and learn about its makers.</p>\n<p>\n<<opt "ExCiv Dormant Robot Engineer" "eEngineer" "easy">>\n<<opt "ExCiv Dormant Robot Xenologist" "eXenologist" "medium">>\n<<opt "ExCiv Dormant Robot Reactivate" "" "medium">>\n<<nextEventLink "Log Findings Move On Move On Option">>\n</p>
<<name>> dismantles the robot to learn more about its technology
<p><<fName>> leads the explorers in dismantling the ancient robot. Its shell has protected its internal systems from decay, and <<fName>> is able to learn a little more about <<inlineGainData "its makers' technology" xenotechnology small>>, although whatever details were stored in its memory banks remain unknown.</p>\n<p><<nextEventLink>></p>
<p><<fName>> pries open the robot's shell, but its inner workings proved more fragile than <<heshe>> expected, and they collapse before <<heshe>> can learn much about its technology.</p>\n<p><<nextEventLink>></p>
<<name>> reactivates the robot and attempts to communicate with it
<p><<TheExplorers>> <<eVerb restore>> power to the robot, and <<fName>> manages to find the command to reactivate it. It is still too badly damaged to move, and was never sophisticated enough to hold a conversation, but <<fName>> is able to interrogate its databanks and <<inlineGainData "learn about its makers" xenotechnology medium>>.</p>\n<p><<nextEventLink>></p>
<p><<fName>> attempts to restore power to the robot, but misinterprets its power system, and sets of a chain reaction that damages the robot beyond repair.</p>\n<p><<nextEventLink>></p>
<<TheExplorers>> <<eVerb reactivate>> the robot to see what it does
<p><<TheExplorers>> <<eVerb restore>> power to the robot, which immediately begins moving around and attempting to perform various menial tasks. It seems to be either unaware of or uninterested in <<theExplorers himher>>, and <<they>> <<eVerbpn are>> able to take extensive notes on <<inlineGainData "its behaviour" xenotechnology medium>>.\n<p><<nextEventLink>></p>
<p><<TheExplorers>> <<eVerb restore>> power to the robot, which immediately lurches towards <<randomCrewMember>> and begins pummelling <<himher>> with metallic limbs. It is not clear if it is some kind of military or security robot that is deliberately attacking <<fName>> or just a dangerous malfunction, but either way <<fName>> is <<inlineInjureCrewMember "seriously injured" "killed by a reactivated alien robot">> by the time\n<<if $crew.length > 2>>\n\tthe other explorers manage to pull <<himher>> away.\n<<elseif $crew.length==2>>\n\t<<randomCrewMember2 not1>> manages to pull <<himher>> away.\n<<else>>\n\t<<heshe>> manages to get away.\n<</if>>\n</p>\n<p><<nextEventLink>></p>
<p>\n\tPLACEHOLDER: Explorers find many artworks that suggest that the <<civname>> knew of their own demise, and that it was preventable, but that their leaders lacked the political will to prevent it.\n</p>\n<<gainData xenotechnology 10>>\n<p>\n\t<<opt "ExCiv Extinction Artworks Study" "eXenologist" "hard">>\n\t<<nextEventLink "Log Findings Move On Move On Option">>\n</p>
<<name>> studies the artworks for clues about the <<civname>>'s final years
<p>PLACEHOLDER: <<fName>> learns a lot.</p>\n<<gainData xenotechnology 50>>\n<<nextEventLink>>
<p>PLACEHOLDER: <<fName>> doesn't learn much, and also becomes <<inlineDepressCrewMember "depressed">>.</p>\n<<gainData xenotechnology 10>>\n<<nextEventLink>>
<<set $eventTitle = "Oncoming Storm">>\n<p><<TheExplorers>> <<are>> studying one of the ruined floating cities when <<they>> <<eVerb see>> a violent storm on the horizon. The city itself must have withstood many of these in the past, but being on the island when it hits could damage the <<shipName>>.</p>\n<p>\n\t<<opt "ExCiv Floating City Storm Pilot" "ePilot" "medium" "sDamageLandingEngine">>\n\t<<opt "ExCiv Floating City Storm Xenologist" "eXenologist" "medium">>\n\t<<opt "ExCiv Floating City Storm Generic" "" "medium">>\n\t<<nextEventLink "ExCiv Floating City Storm Leave Option">>\n</p>
<<TheExplorers>> <<eVerb abandon>> <<their>> exploration and <<eVerb get>> to safety
<<TheExplorers>> <<eVerb stay>> on the city for as long as <<they>> <<eVerbpn dare>>
<p>Waves lash against the city and wind howls through its passages as <<theExplorers>> <<eVerb complete>> <<their>> study of its <<inlineGainData "alien architecture" xenotechnology small>>. <<They>> <<eVerbpn run>> back to the <<shipName>> and take off, moments before a heavy wave hits the plaza where the ship was standing.</p>\n<p><<nextEventLink>></p>
<p><<TheExplorers>> <<eVerb leave>> it too late, and <<eVerb run>> back to the <<shipName>> in time to see a huge wave lift it and <<inlineDamageShip "smash it into a building" "was destroyed when a storm hit a floating city">>. In the scramble to get back aboard and stabilise the ship, <<they>> <<eVerb lose>> all the records they had made in the city.\n<p><<nextEventLink>></p>
<<name>> takes off and circles so that <<theExplorers heshe>> can watch the storm hit the city <<showFuelCost tiny>>
<p><<fName>> <<inlineLoseFuel "circles through the outer part of the storm" tiny>>, far enough from the centre for the <<shipName>> not to be damaged, but close enough for <<theExplorers>> to see through the spray as the waves hit the city's buildings. From this vantage point, <<they>> can observe the <<inlineGainData "unique atmospheric effects" planetary_science small>> of <<planetName>>'s storms, and how the <<civname>> <<inlineGainData "designed their floating cities" xenotechnology small>> to channel and harmlessly dissipate the storms' energies.</p>\n<p><<nextEventLink>></p>
<p><<fName>> <<inlineLoseFuel "circles through the outer part of the storm" tiny>>, trying to stay close enough that <<theExplorers heshe>> can get a good look at its impact on the city, but <<heshe>> <<verb misjudges>> the storm's severity and a strong wind knocks the <<shipName>> out of the sky. The ship impacts the surface of the ocean at an awkward angle, <<inlineDamageShip "taking serious damage" "was destroyed by a storm">> before <<fName>> can stabilise it.</p>\n<p><<nextEventLink>></p>
<<name>> tries to work out how the <<civname>> secured their structures against storms, and applies the same techniques to the <<shipName>>.
<p>Studying the maps <<heshe>> <<verb has have>> already made of the city, <<fName>> works out how the <<civname>> <<inlineGainData "planned its architecture" xenotechnology medium>> to channel storm energies through the city in a specific way, leaving the buildings unharmed. <<TheExplorers>> <<eVerb move>> the <<shipName>> to a safe area and shelter there while the winds howl and waves crash around them.</p>\n<p><<nextEventLink>></p>
<p><<fName>> is certain that the <<civname>> designed their cities to withstand storms like this one, but the engineering principles are too alien for <<himher>> to work out the details in time. <<TheExplorers>> <<eVerb move>> the <<shipName>> to what should have been a safe area, but a large wave knocks it over and <<inlineDamageShip "smashes it into a building" "destroyed when a storm hit a floating city">>.</p>\n<p><<nextEventLink>></p>
<<set $eventTitle = "The Towers of "+$currentSystem.planets[$planetNumber].name>>\n<p><<planetName>>'s low gravity let the <<civname>> build towers reaching tens of kilometres into the sky. Most of these now lie shattered along the ground, but a few are still standing, testament to the skill of their creators. Exploring one of these towers could yield insights into <<civname>> culture and construction techniques, but it would be a long and dangerous climb.</p>\n<p>\n\t<<opt "ExCiv Low Grav Tower Pilot" "ePilot" "medium" "sDamageLandingEngine">>\n\t<<if $contextTraits.includesAny("ctInterstellar","ctSpacefaring","ctDigital","ctIndustrial")>>\n\t\t<<opt "ExCiv Low Grav Tower Engineer" "eEngineer" "medium" "sDamageFabricator">>\n\t<</if>>\n\t<<opt "ExCiv Low Grav Tower Trek" "" "medium" "sUpgradeSuitsHighGrav">>\n\t<<nextEventLink "Log Findings Move On Move On Option">>\n</p>
<<name>> lands the <<shipName>> on the top of the tower <<showFuelCost tiny>>
<p>The structure does not look as if it could support the <<shipName>>'s weight, but under the low gravity it does not even tremble as <<fName>> <<inlineLoseFuel "brings the ship down" tiny>> onto the flat roof. <<TheExplorers>> <<eVerb learn>> a lot about the <<civname>> from the <<inlineGainData "well-preserved upper levels" xenotechnology small>>, and observing the <<inlineGainData "weathering" planetary_science small>> on the exterior of the tower during the flight up reveals more about <<planetName>>'s environment.</p>\n<p><<nextEventLink>></p>
<p>The roof of the tower is barely large enough for the <<shipName>>, and the low gravity and the tower's alien architecture cause <<fName>> to misjudge the distance. The ship <<inlineLoseFuel "scrapes across the edge of the roof" tiny>> , doing minor damage to the tower and <<inlineDamageShip "more serious damage to the ship" "collided with a ruined tower">>.</p>\n<p><<nextEventLink>></p>
<<name>> restores power to an ancient elevator
<p>The tower's sturdy walls have protected the ancient elevator mechanism from decay. <<fName>> brings a generator from the <<shipName>> and fabricates a converter to attach it to the alien power system, and the elevator shudders to life. The <<inlineGainData "well-preserved upper levels" xenotechnology small>> of the tower provide new information about <<civname>> culture, and the <<inlineGainData "ergonomic design of the elevator" xenobiology small>> teaches <<theExplorers>> more about their bodies.</p>\n<p><<nextEventLink>></p>
<p><<fName>> brings a generator from the <<shipName>> and fabricates a converter to attach it to the alien power system, and the ancient mechanism shudders to life. More than a kilometre into the ascent, however, the power fails and the elevator begins to fall. The low gravity and partially-working elevator brakes mean that the impact is not as heavy as it would have been on Earth, but <<randomCrewMember2>> <<inlineInjureCrewMember2 "lands heavily" "killed in an elevator accident">>.</p>\n<p><<nextEventLink>></p>
<<TheExplorers>> <<eVerb attempt>> to climb the tower
<p><<TheExplorers>> <<eVerb trek treks>> up the staircase that spirals around the edge of the tower. Even under <<planetName>>'s low gravity the climb takes many hours, but when <<they>> <<eVerb reach reaches>> the top, <<they>> <<eVerb find>> a wealth of cultural information in the <<inlineGainData "well-preserved upper levels" xenotechnology small>>.</p>\n<p><<nextEventLink>></p>
<p><<TheExplorers>> <<eVerb trek treks>> up the staircase that spirals around the edge of the tower. <<planetName>>'s low gravity makes the climb easier than it would otherwise have been, but the staircase was designed for a non-human body shape and some parts of it are in a poor state of repair. Part of the ancient staircase gives out under <<randomCrewMember>>'s feet, and <<heshe>> <<verb falls>> several storeys to <<inlineInjureCrewMember "land heavily" "fell from an alien tower">> on ground level.</p>\n<p><<nextEventLink>></p>
<<set $eventTitle = "Mausoleum">>\n<p>The explorers come across a mausoleum filled with <<civname>> bodies. The bodies appear to have been carefully preserved shortly after death, and the conditions of the area have led to them being undisturbed since the fall of the civilisation. The explorers could learn a lot about the aliens' biology from dissecting some of the bodies, but <<bestXenologist>> feels that to do so would be disrespectful to the dead.</p>\n<p>\n<<set $selectedCrewMember2 = $selectedCrewMember>>\n<<opt "ExCiv Mausoleum Study Bodies Look" "eXenologist" "hard">>\n<<opt "ExCiv Mausoleum Study Bodies Dissect" "eBiologist" "easy" "" "ExCiv Mausoleum Study Bodies Dissect No Biologist" "hard">>\n<<opt "ExCiv Mausoleum Leave">>\n</p>
<<TheExplorers>> <<eVerb leave>> rather than disturbing the alien bodies.
<p>There is no way to know what the dead aliens might or might not find disrespectful. The explorers leave the aliens to their rest.</p>\n<p><<nextEventLink>></p>
<<name>> learns what <<heshe>> can about the bodies without disturbing them
<p><<name>> performs 3D scans of the bodies, being careful not to touch them. <<TheExplorers>> <<eVerb learn>> a few things about the aliens' <<inlineGainData "anatomy" xenobiology tiny>> and <<inlineGainData "burial practices" xenotechnology tiny>>, although not as much as if <<theExplorers heshe>> had studied them more closely.</p>\n<p><<nextEventLink>></p>
<p><<name>> performs 3D scans of the bodies, but without being able to unwrap them, <<heshe>> <<verb learns>> nothing new.</p>\n<p><<nextEventLink>></p>
<<name>> dissects several of the bodies
<p><<fName>> dissects several of the bodies to study the aliens' anatomy. <<TheExplorers>> <<eVerb learn>> a great deal about <<inlineGainData "the biology of an intelligent alien species" xenobiology medium>> and about this civilisation's <<inlineGainData "funeral practices" xenotechnology medium>>, but <<fName2>> is <<inlineDepressCrewMember2 "haunted">> by the feeling that the explorers have desecrated the aliens' graves.</p>\n<p><<nextEventLink>></p>
<p><<name>> dissects seceral of the alien bodies, but <<heshe>> <<verb finds>> that the process that preserved the bodies also rendered them fragile, and they collapse in <<hisher>> hands. <<fName2>> is <<inlineDepressCrewMember2 "haunted">> by the feeling that the explorers have desecrated the aliens' graves for no good reason.</p>\n<p><<nextEventLink>></p>
<<TheExplorers>> <<eVerb dissect>> several of the bodies
<p><<TheExplorers>> <<eVerb dissect>> several of the bodies to study the aliens' anatomy. <<They>> <<eVerbpn learn>> something about about <<inlineGainData "the biology of an intelligent alien species" xenobiology medium>> and about this civilisation's <<inlineGainData "funeral practices" xenotechnology medium>>, but <<fName2>> is <<inlineDepressCrewMember2 "haunted">> by the feeling that the explorers have desecrated the aliens' graves.</p>\n<p><<nextEventLink>></p>
<p><<TheExplorers>> <<eVerb dissect>> several of the alien bodies, but <<they>> <<eVerbpn find>> that the process that preserved the bodies also rendered them fragile, and they collapse. <<fName2>> is <<inlineDepressCrewMember2 "haunted">> by the feeling that the explorers have desecrated the aliens' graves for no good reason.</p>\n<p><<nextEventLink>></p>
<<set $eventTitle = "Monstrous Guardian">>\n<p><<TheExplorers>> find a well-preserved <<civname>> structure that looks like it would yield valuable information about their culture, but on closer inspection they see that it is the lair of a large animal.</p>\n<p>\n<<opt "ExCiv Monster Ruin Biologist" "eBiologist" "medium">>\n<<opt "ExCiv Monster Ruin Engineer" "eEngineer" "medium" "sDamageFabricator">>\n<<opt "ExCiv Monster Ruin Brave" "" "hard" "sUpgradeSuitsArmour">>\n<<nextEventLink "Log Findings Move On Move On Option">>\n</p>
<<name>> finds a way for <<theExplorers himher>> to approach without disturbing the creature so <<they>> can study both it and the building
<p><<fName>> studies the tracks and excretions that the creature has left outside the building, and makes educated guesses about its predators and prey so that <<theExplorers heshe>> can avoid seeming like either. Inside the building, <<heshe>> is able to calm the creature and spend some time <<inlineGainData "studying it" xenobiology small>>, <<if $crew.length>1>>while <<bestXenologist>> takes<<else>>and then take<</if>> detailed scans of the <<inlineGainData "building" xenotechnology small>>.</p>\n<p><<nextEventLink>></p>
<p><<fName>> studies the tracks and excretions that the creature has left outside the building and tries to make educated guesses about its behaviour, but nothing could prepare <<himher>> for how aggressively it defends its territory. Alien claws <<inlineInjureCrewMember "rake through" "killed by an alien animal while exploring a ruin">> <<hisher>> suit and <<theExplorers>> <<eVerb make>> a hasty retreat.\n<p><<nextEventLink>></p>
<<name>> rigs up a device to scare the creature off so that <<theExplorers heshe>> can study the building
<p><<fName>> fabricates a device to generate vibrations that the creature should find unpleasant but not harmful. <<HeShe>> <<verb activates>> it, and the lumbering beast bolts from the far side of the structure and vanishes into the distance. <<TheExplorers>> <<eVerb have has>> plenty of time to <<inlineGainData "study the building" xenotechnology small>> before <<fName>> deactivates the device and the animal comes slinking back.</p>\n<p><<nextEventLink>></p>
<p><<fName>> fabricates a device that <<heshe>> <<verb hopes>> will send the creature fleeing from the opposite side of the structure, but instead it bounds straight towards <<theExplorers>> in an enraged mass of claws and teeth. <<fName>> does not have time to move before the creature smashes the source of its discomfort, <<inlineInjureCrewMember `"knocking "+TextUtils.himher()+" aside"` "killed by an alien animal while exploring a ruin">>, before shambling back into its lair.</p>\n<p><<nextEventLink>></p>
<<TheExplorers>> <<eVerb try tries>> to sneak around the creature
<p><<Their>> <<eNoun hearts>> pounding inside <<their>> <<eNoun suits>>, <<theExplorers>> <<eVerb manage>> to sneak past the fearsome-looking beast and into the building. <<They>> <<eVerbpn study studies>> the parts of the building not occupied by the creature, and gain <<inlineGainData "some insights" xenotechnology small>> into <<civname>> culture.</p>\n<p><<nextEventLink>></p>
<p><<TheExplorers>> <<eVerb sneak>> into the building as quietly as <<they>> can, but the creature's senses are more acute than <<they>> had anticipated. It abruptly wakes, and a powerful alien limb grabs <<randomCrewMember>> and <<inlineInjureCrewMember `"smashes "+TextUtils.himher()+" into the wall"` "killed by an alien animal while exploring a ruin">> before <<theExplorers heshe>> can get away.</p>\n<p><<nextEventLink>></p>
<<set $eventTitle = "Mountaintop Ruin">>\n<p><<planetName>>'s uneven surface projects its highest mountain peaks above the atmosphere and into space. <<TheExplorers>> <<eVerb detect>> <<aCivname>> structure on top of one of one of these high mountains. The vacuum has no doubt preserved it in a better state than most <<civname>> ruins, but there is no obvious way to get there.</p>\n<p>\n\t<<opt "ExCiv Mountaintop Ruin Pilot" "ePilot" "easy" "sDamageLandingEngine sUpgradeShipLandingGear">>\n\t<<opt "ExCiv Mountaintop Ruin PlanetaryScientist" "ePlanetaryScientist" "medium" "sUpgradeSuitsHighGrav" "ExCiv Mountaintop Ruin Climb" "hard">>\n\t<<nextEventLink "Log Findings Move On Move On Option">>\n</p>
<<name>> attempts to land the <<shipName>> on the craggy mountaintop <<showFuelCost tiny>>
<p><<fName>> <<inlineLoseFuel "circles the mountain" tiny>> until <<heshe>> <<verb finds>> a landing site a short distance from the structure. The level area is barely large enough for the <<shipName>>'s landing gear, but <<fName>> manages to set the ship down. <<TheExplorers>> <<eVerb learn>> a great deal from the <<inlineGainData "intact structure" xenotechnology small>>, and <<eVerb find>> several vacuum-preserved <<civname>> <<inlineGainData "bodies" xenobiology small>>.</p>\n<p><<nextEventLink>></p>
<p><<fName>> <<inlineLoseFuel "finds a landing area" tiny>> that should have been large enough for the <<shipName>>'s landing gear, but misjudges the distance. The <<shipName>> <<inlineDamageShip "scrapes the side of the mountain" "crashed while trying to reach a mountaintop ruin">> and <<fName>> is forced to abandon the landing and withdraw.</p>\n<p><<nextEventLink>></p>
<<name>> finds the best route up the mountain and <<if $crew.length>1>>leads a climbing expedition<<else>>climbs up<</if>>
<p>Whatever roads the <<civname>> used to reach the structure have long since eroded away, at least on the lower slopes, but <<fName>> studies the mountain and finds an accessible route up. The multi-day climb leaves <<theExplorers>> exhausted, but gives <<them>> a close-hand view of <<planetName>>'s <<inlineGainData "geology" planetary_science small>> at different altitudes. At the summit, <<they>> <<eVerb are is>> rewarded with a <<inlineGainData "perfectly-preserved example" xenotechnology small>> of <<civname>> architecture.</p>\n<p><<nextEventLink>></p>
<p>Whatever roads the <<civname>> used to reach the structure have long since eroded away from the lower slopes, leaving <<fName>> with no guidance about how to plan the climb. <<TheExplorers>> <<eVerb are is>> a kilometre above ground level when <<randomCrewMember2>> misses a handhold and <<inlineInjureCrewMember2 "falls" "fell while trying to reach a mountaintop ruin">>.</p>\n<p><<nextEventLink>></p>
<<TheExplorers>> <<eVerb try tries>> to climb to the structure
<p>Whatever roads the <<civname>> used to reach the structure have long since eroded away, but <<theExplorerss>> climbing gear allows <<them>> to progress up the slope. A gruelling multi-day climb takes <<theExplorers>> to a plateau less than a kilometre from the summit, from which <<they>> cannot progress further, but <<eVerb are is>> able to take <<inlineGainData "detailed images" xenotechnology small>> of the intact structure.</p>\n<p><<nextEventLink>></p>
<p>Determined to get a better view of the structure even though there is no visible way up, <<theExplorers>> <<eVerb embark>> on a gruelling climb. The slope turns out to be even more treacherous than it looked, however, and <<randomCrewMember2>> misses a handhold and <<inlineInjureCrewMember2 "falls" "fell while trying to reach a mountaintop ruin">>.</p>\n<p><<nextEventLink>></p>
<<set $eventTitle = "Mysterious Diagram">>\n<p><<TheExplorers>> <<eVerb find>> a well-preserved tablet containing a complex series of markings. It does not contain any of the <<civname>>'s written language, but it is detailed enough that it could encode a great deal of information, if encoding information is its purpose. Without knowing what kind of artefact it is, <<theExplorers>> can make no sense of it.</p>\n\n<p>\n<<opt "ExCiv Strange Diagram Planetary Scientist" "ePlanetaryScientist" "hard">>\n<<opt "ExCiv Strange Diagram Biologist" "eBiologist" "hard">>\n<<opt "ExCiv Strange Diagram Xenologist" "eXenologist" "hard">>\n<<nextEventLink "ExCiv Strange Diagram Leave Option">>\n</p>
<<TheExplorers>> just <<eVerb scan>> the diagram and leave
<<name>> speculates that it's a map
<p>The artefact does not resemble an aerial view like most human maps, but <<fName>> notices some correspondences between the symbols and what <<heshe>> <<verb knows>> about <<planetName>>'s geography. When <<heshe>> eventually <<verb decodes>> the system of notation, <<heshe>> <<verb finds>> that the diagram encodes information about <<planetName>>'s <<inlineGainData "geology" planetary_science small>> from when the <<civname>> civilisation was in its prime.</p>\n<p><<nextEventLink>></p>
<p>At first <<fName>> thinks that <<heshe>> can see correspondences between the alien symbols and what <<heshe>> <<verb knows>> about <<planetName>>'s geography, but further connections prove elusive, and the artefact remains mysterious.</p>\n<p><<nextEventLink>></p>
<<name>> speculates that it's a medical diagram
<p>While there is nothing on the diagram that obviously resembles <<civname>> anatomy, <<fName>> notices some correspondences between the symbols and the biochemical structures of the <<planetNoun>>'s life. <<HeShe>> eventually <<verb deciphers>> the system of notation, and <<verb finds>> a wealth of knowledge about <<civname>> <<inlineGainData "medical treatments" xenobiology small>>.</p>\n<p><<nextEventLink>></p>
<p><<fName>>'s speculation that the diagram encodes biological information proves to be a dead end, and <<heshe>> <<verb succeeds>> only in wasting <<theExplorerss hisher>> time.</p>\n<p><<nextEventLink>></p>
<<name>> speculates that it's an artwork
<p><<fName>> stops trying to find definite symbolic meaning in the pattern, and instead clears <<hisher>> mind and opens <<himherself>> up to it as an aesthetic experience. After some time in contemplation, something in <<hisher>> mind seems to 'click', and <<heshe>> <<verb finds>> that <<heshe>> can appreciate the beauty of the <<civname>> abstract artwork. After this revelation, <<fName>> finds echoes of the patterns in simpler and less well preserved forms across the surviving <<civname>> ruins, and feels that <<heshe>> <<verb has have>> made a breakthrough in <<civname>> <<inlineGainData "aesthetics" xenotechnology small>>.</p>\n<p><<nextEventLink>></p>
<p><<fName>> spends hours staring at the pattern, waiting for some kind of aesthetic experience that could bridge the gulf of time and species between <<himherself>> and <<aCivname>> artist, but no such experience comes and <<heshe>> eventually <<verb admits>> defeat.</p>\n<p><<nextEventLink>></p>
<<set $eventTitle = "Collapsing Structure">>\n<<set _r = random(0,9)>>\n<<switch _r>>\n\t<<case 0>><<set $documentFull = "code of laws">><<set $documentShort = "code">>\n\t<<case 1>><<set $documentFull = "statement of beliefs">><<set $documentShort = "statement">>\n\t<<case 2>><<set $documentFull = "creation story">><<set $documentShort = "story">>\n\t<<case 3>><<set $documentFull = "political manifesto">><<set $documentShort = "manifesto">>\n\t<<case 4>><<set $documentFull = "epic poem">><<set $documentShort = "poem">>\n\t<<case 5>><<set $documentFull = "philosophical treatise">><<set $documentShort = "treatise">>\n\t<<case 6>><<set $documentFull = "religious creed">><<set $documentShort = "creed">>\n\t<<case 7>><<set $documentFull = "list of gods">><<set $documentShort = "list">>\n\t<<case 8>><<set $documentFull = "list of rulers">><<set $documentShort = "list">>\n\t<<case 9>><<set $documentFull = "statement of principles">><<set $documentShort = "statement">>\n<</switch>>\n\n<p><<TheExplorers>> <<eVerb find>> a relatively intact structure filled with well-preserved cultural artefacts. As soon as <<they>> <<eVerb enter>>, however, <<their>> footsteps disturb the ancient equilibrium and cause the building to crumble. In a matter of minutes the roof will fall and crush the ancient <<civname>> artefacts, along with <<theExplorers>> if <<they>> <<eVerb "don't" "doesn't">> get away.</p>\n\n<p>\n\t<<opt "ExCiv Structure Collapse Planetary Scientist" "ePlanetaryScientist" "medium">>\n\t<<opt "ExCiv Structure Collapse Biologist" "eBiologist" "medium">>\n\t<<opt "ExCiv Structure Collapse Xenologist" "eXenologist" "medium">>\n\t<<opt "ExCiv Structure Collapse Engineer" "eEngineer" "hard">>\n\t<<opt "ExCiv Structure Collapse Grab" "" "medium">>\n\t<<opt "ExCiv Structure Collapse Run">>\n</p>
<<TheExplorers>> <<eVerb grab>> the nearest artefacts and run
<p>Determined to save something, even if <<they>> can't identify what would be most valuable, <<theExplorers>> <<eVerb grab>> the nearest artefacts that are small enough to carry and race for the exit. <<They>> <<eVerb make>> it out safely, and the pieces <<they>> saved turn out to include a <<inlineGainData "basic encyclopedia" xenotechnology small>> of <<civname>> history and philosophy.</p>\n<p><<nextEventLink>></p>\n<<unset $documentFull, $documentShort>>
<p><<randomCrewMember>> is still in the building's doorway when the roof collapses, <<inlineInjureCrewMember "injuring" "was crushed by a collapsing building">> <<himher>> and crushing the few artefacts that <<theExplorers heshe>> had managed to grab.</p>\n<p><<nextEventLink>></p>\n<<unset $documentFull, $documentShort>>
<<TheExplorers>> <<eVerb abandon>> the artefacts and run
<p><<TheExplorers>> <<eVerb run>> for the exit as the building crumbles around them. After <<they>> <<eVerb reach reaches>> safety <<they>> cannot help but wonder what cultural riches were destroyed--but at least <<they>> <<eVerb are is>> alive to wonder.</p>\n<p><<nextEventLink>></p>\n<<unset $documentFull, $documentShort>>
<<name>> stops the structure from collapsing
<p><<fName>> has already been studying the building's construction methods as <<theExplorers heshe>> walked through it, and <<heshe>> instantly <<verb spots>> a way to shore up an important wall and prevent the collapse before it starts. The building trembles, but <<fName>>'s hasty repair holds. <<TheExplorers>> make digital scans of the artefacts, which include <<civname>> <<inlineGainData "maps of their planet" planetary_science small>>, <<inlineGainData "medical texts" xenobiology small>>, and an ancient <<inlineGainData $documentFull xenotechnology medium>>.</p>\n<p><<nextEventLink>></p>\n<<unset $documentFull, $documentShort>>\n<<unlockAchievement "event_outcome_structure_collapse">>
<p><<fName>> can see a way to shore the building up against collapse, but cannot move fast enough to implement it before a falling stone <<inlineInjureCrewMember "knocks him over" "was crushed by a collapsing building">>. <<TheExplorers>> <<eVerb are is>> forced to retreat, mourning the loss of the ancient <<civname>> artefacts.</p>\n<p><<nextEventLink>></p>\n<<unset $documentFull, $documentShort>>
<<name>> rescues an important <<civname>> <<= $documentFull>>
<p><<fName>> has already seen references to a <<= $documentFull>> that was a foundational document of <<civname>> civilisation. As the building starts to crumble, <<heshe>> at last <<verb spots>> <<inlineGainData "a replica of the stone stele" xenotechnology medium>> that first recorded the <<= $documentShort>>, and <<verb manages>> to grab it before running to safety.</p>\n<p><<nextEventLink>></p>\n<<unset $documentFull, $documentShort>>
<p><<fName>> has already seen references to a <<= $documentFull>> that was a foundational document of <<civname>> civilisation. As the building starts to crumble, <<heshe>> <<verb spots>> a replica of the stone stele that first recorded the <<= $documentShort>>. Unfortunately, the <<civname>> had made the <<= $documentShort>> not only a metaphorical pillar of their civilisation but a literal pillar of this building, and <<fName>> only succeeds in <<inlineInjureCrewMember "bringing the roof down" "was crushed by a collapsing building">> on <<hisher>> head.</p>\n<p><<nextEventLink>></p>\n<<unset $documentFull, $documentShort>>
<<name>> rescues a collection of <<civname>> medical diagrams
<p>Although <<civname>> remains have revealed their body shape and diet, <<fName>> has been desperate to learn about their biology from their own point of view. As the building starts to collapse, <<heshe>> <<verb spots>> a collection of foundational medical texts and grabs it before running to safety. The medical texts reveal a great deal, not only about <<civname>> <<inlineGainData "biology" xenobiology small>> but also about their <<inlineGainData "cultural practices" xenotechnology small>> surrounding medicine.</p>\n<p><<nextEventLink>></p>\n<<unset $documentFull, $documentShort>>
<p>Although <<civname>> remains have revealed their body shape and diet, <<fName>> has been desperate to learn about their biology from their own point of view. As the building starts to collapse, <<heshe>> <<verb spots>> a collection of foundational medical texts and grabs it. Unfortunately, the bindings holding the pages together have decayed due to age, and texts and diagrams scatter across the floor. <<fName>> desperately tries to collect them, but takes too long and <<inlineInjureCrewMember "is caught in the collapsing building" "was crushed by a collapsing building">>.</p>\n<p><<nextEventLink>></p>\n<<unset $documentFull, $documentShort>>
<<name>> rescues <<aCivname>> geological globe of <<planetName>>
<p><<fName>> grabs the heavy globe and staggers out of the building just before it collapses. Studying the globe afterwards, <<theExplorers>> <<eVerb learn>> a great deal about <<inlineGainData `"the geology of "+TextUtils.planetName()` planetary_science small>> at the time of the <<civname>>'s extinction, and about the <<inlineGainData "cultural perspective" xenotechnology small>> with which they studied their world.</p>\n<p><<nextEventLink>></p>\n<<unset $documentFull, $documentShort>>
<p>The globe turns out to be much heavier than it had looked from a distance. <<fName>> gets it free from its stand, but it escapes from <<hisher>> grip and <<inlineInjureCrewMember `"rolls over "+TextUtils.hisher()+" foot"` "was rolled over by an alien globe">>. <<HeShe>> <<verb is are>> forced to abandon the globe and limp out of the building before the room collapses.</p>\n<p><<nextEventLink>></p>\n<<unset $documentFull, $documentShort>>
<<set $locationOverride = "The Wormhole">>\n<<set $eventTitle = "Biolab Anomaly">>\n<p>As the <<shipName>> hurtles along the wormhole tunnel, <<bestBiologist>> notices strange readings from the organic samples in the biolab.</p>\n\n<p>\n\t<<opt "Gateway Biolab Engineer" "eEngineer" "easy" "sDamageBiolab">>\n\t<<opt "Gateway Biolab Medic" "eMedic" "medium" "sDamageMedbay">>\n\t<<opt "Gateway Biolab Biologist" "eBiologist" "hard" "sDamageBiolab" "Gateway Biolab No Biologist">>\n\t<<nextEventLink "Gateway Biolab Ignore Option">>\n</p>
<<name>> examines the biolab's instruments to make sure they are not malfunctioning
<p><<fName>> runs a diagnostic of the biolab's systems and confirms that there is no malfunction: its instruments actually are picking up the <<inlineGainData "subtle effects of the wormhole on organic tissue" xenobiology small>>.</p>\n<p><<nextEventLink>></p>
<p><<fName>> runs a diagnostic of the biolab's instruments, but the environmental effects of the wormhole are beyond what they were designed for, and it is impossible for <<himher>> to tell whether the strange readings are genuine or a malfunction.</p>\n<p><<nextEventLink>></p>
<<name>> examines the <<theExplorers himherself>> to make sure it is not affecting <<their>> biology
<p><<fName>> scans <<theExplorers himherself>> in the medbay, and finds similar effects in <<theExplorerss hisher>> tissues. This time, at least, the effects too subtle to cause wormhole sickness, and <<fName>> is able to closely study <<inlineGainData "the effects of the wormhole on organic tissue" xenobiology small>>.</p>\n<p><<nextEventLink>></p>
<p><<fName>> scans <<theExplorers himherself>> in the medbay, but finds nothing unusual. The effect the wormhole is having on the organic samples remains mysterious, but at least it is not causing health problems.</p>\n<p><<nextEventLink>></p>
<<name>> examines the samples to see what is happening
<p>The biolab's instruments reveal that the anomalies are definitely there, although very subtle. In fact, it is as if the wormhole has been <<inlineGainData "deliberately designed" xenotechnology small>> to keep <<inlineGainData "its effects on organic life" xenobiology small>> to a minimum.</p>\n<p><<nextEventLink>></p>
<p><<fName>> runs the samples through the biolab's machines, but the anomalies are subtle and <<fName>> cannot be sure whether they are real or due to the wormhole interfering with <<hisher>> instruments.</p>\n<p><<nextEventLink>></p>
<<TheExplorers>> <<eVerb examine>> the samples to see what is happening
<p>The biolab's instruments reveal that the anomalies are definitely there, although so subtle that <<theExplorers>> <<inlineGainData "cannot learn much" xenobiology tiny>>.</p>\n<p><<nextEventLink>></p>
<p>The biolab's readings make little sense, and <<theExplorers>> cannot determine whether they are real or a malfunction due to the wormhole environment.</p>\n<p><<nextEventLink>></p>
<<TheExplorers>> <<eVerb ignore>> the samples
<<set $locationOverride = "The Wormhole">>\n<<set $eventTitle = "Strange Energy">>\n<p>PLACEHOLDER: <<randomCrewMember>> has a change to become Changed...</p>\n<p>\n<<opt "Gateway Change Look" "only1" hard>>\n<<opt "Gateway Change Stop">>\n</p>
<<HeShe>> <<verb looks>> deeper into the wormhole
<p>PLACEHOLDER: <<fName>> becomes <<inlineGiveCrewMemberTrait "changed" "eChanged">>.</p>\n<<set $someoneBecameChanged = true>>\n<p><<nextEventLink>></p>
<p>PLACEHOLDER: <<fName>> <<inlineDepressCrewMember "gets depressed">>.</p>\n<p><<nextEventLink>></p>
<<HeShe>> <<verb tears>> <<himherself>> away.
<p><<fName>> turns back to <<hisher>> instruments, and eventually the weird lights of the wormhole give way to a vista of alien stars.</p>\n\n<p><<nextEventLink>></p>
<<set $locationOverride = "The Wormhole">>\n<<set $eventTitle = "Wormhole Sickness">>\n\n<p><<TheExplorers>> <<eVerb find>> <<themselves>> feeling dizzy and nauseous. The twisted spacetime of the wormhole tunnel is affecting <<their>> <<eNoun bodies body>>.</p>\n\n<p>\n<<opt "Gateway Sickness Engineer" "eEngineer" "easy" "sDamageFabricator">>\n<<opt "Gateway Sickness Medic" "eMedic" "medium" "sDamageMedbay sUpgradeFirstAid">>\n<<opt "Gateway Sickness Pilot" "ePilot" "hard" "sDamageInterplanetaryEngine">>\n<<opt "Gateway Sickness Nothing">>\n</p>
<<name>> adjusts the <<shipName>>'s radiation shielding to compensate
<p>Here in Gate-space, neither the radiation nor the <<shipName>>'s radiation shielding function quite as <<fName>> expects, but <<heshe>> <<verb is are>> flexible enough to adjust <<hisher>> approach. <<fName>>'s adjustments come online, and <<theExplorers heshe>> immediately <<eVerbpn feel>> better.</p>\n<p><<nextEventLink>></p>
<p>Here in Gate-space, neither the radiation nor the <<shipName>>'s radiation shielding function quite as <<fName>> expects. \n<<if $crew.length > 1>>\n\tAll the explorers are severely ill for the rest of the wormhole journey, and <<randomCrewMember2>> has <<inlineGiveCrewMember2Trait "lingering symptoms" eWormholeSickness>> even after the <<shipName>> emerges into normal space.\n<<else>>\n\t<<HeShe>> <<verb is are>> severely ill for the rest of the wormhole journey, and has <<inlineGiveCrewMemberTrait "lingering symptoms" eWormholeSickness>> even after the <<shipName>> emerges into normal space.\n<</if>>\n</p>\n<p><<nextEventLink>></p>
<<name>> treats <<theExplorerss hisher>> symptoms
<p><<fName>> examines the symptoms and devises a drug cocktail that quickly suppresses them. The <<shipName>> is back in normal space before prolonged exposure to the warped spacetime does serious harm.</p>\n<p><<nextEventLink>></p>
<<if $crew.length > 1>>\n\t<p><<fName>> does <<hisher>> best, but the sickness is too stubborn to respond to <<hisher>> drugs. All the explorers are severely ill for the rest of the wormhole journey, and <<randomCrewMember2>> has <<inlineGiveCrewMember2Trait "lingering symptoms" eWormholeSickness>> even after the <<shipName>> emerges into normal space.</p>\n<<else>>\n\t<p><<fName>> does <<hisher>> best, but the sickness is too stubborn to respond to <<hisher>> drugs. <<HeShe>> <<verb is are>> severely ill for the rest of the wormhole journey, and has <<inlineGiveCrewMemberTrait "lingering symptoms" eWormholeSickness>> even after the <<shipName>> emerges into normal space.</p>\n<</if>>\n<p><<nextEventLink>></p>
<<name>> adjusts the <<shipName>>'s course to avoid the most severely warped regions of the tunnel
<p>The spatial distortions that are making <<theExplorers>> ill both disrupt the <<shipName>>'s course and make it hard for <<fName>> to stay at the controls, but <<heshe>> <<verb manages>> to stay focused and <<verb guides>> the ship on a course that avoids the worst areas.</p>\n<p><<nextEventLink>></p>
<p>If the spatial distortions only affected the <<shipName>>'s systems, <<fName>> might have been able to counter them, but they also make it hard for <<himher>> to concentrate and <<hisher>> reaction times are not as fast as usual.\n<<if $crew.length > 1>>\n\tThe creaking of the ship's structure under the erratic acceleration matches the groaning of its crew as they suffer from wormhole sickness, and <<randomCrewMember2>> has <<inlineGiveCrewMember2Trait "lingering symptoms" eWormholeSickness>> even after the <<shipName>> emerges into normal space.\n<<else>>\n\t<<fName>> is barely conscious by the time the <<shipName>> reaches the end of the tunnel, and has <<inlineGiveCrewMemberTrait "lingering symptoms" eWormholeSickness>> even after the <<shipName>> emerges into normal space.\n<</if>>\n\n</p>\n<p><<nextEventLink>></p>
<<TheExplorers>> <<eVerb take>> standard anti-nausea drugs
<p>The drugs keep <<theExplorers>> from throwing up all over the <<shipName>>'s cabin, but <<they>> still <<eVerbpn feel>> severely ill, and <<randomCrewMember2>> has <<inlineGiveCrewMember2Trait "lingering symptoms" eWormholeSickness>> even after the <<shipName>> emerges into normal space.</p>\n\n<p><<nextEventLink>></p>
<<set $locationOverride = "The Wormhole">>\n<<set $eventTitle = "They Should Have Sent a Poet">>\n<p><<crewMemberWithWithoutTrait "" eInspired>> stares out of the <<shipName>>'s forward window, mesmerised by the flickering lights of the wormhole.</p>\n<p>\n<<opt "Gateway Inspiration Look" "only1" "hard">>\n<<opt "Gateway Inspiration Stop">>\n</p>
<<HeShe>> <<verb looks>> deeper into the wormhole
<p>There are patterns out there, complex expressions of the alien physics of this place, beautiful in a way that no human being had experienced before the opening of the gate. <<fName>> feels on the brink of <<inlineInspireCrewMember "new vistas of understanding">>.</p>\n<p><<nextEventLink>></p>
<p>Wormhole space is vast, hostile, and fundamentally incomprehensible to the human mind. <<fName>> <<inlineDepressCrewMember "despairs of ever understanding the universe">>.</p>\n<p><<nextEventLink>></p>
<<HeShe>> <<verb tears>> <<himherself>> away.
<p><<fName>> turns back to <<hisher>> instruments, and eventually the weird lights of the wormhole give way to a vista of alien stars.</p>\n\n<p><<nextEventLink>></p>
<<set $locationOverride = "The Wormhole">>\n<<set $eventTitle = "Wormhole Lattice">>\n<p>Just visible through the flickering wormhole light is a dark lattice, as if an immense artificial structure is holding this part of the tunnel in shape.</p>\n<p>\n<<opt "Gateway Lattice Planetary Scientist" "ePlanetaryScientist" "medium">>\n<<opt "Gateway Lattice Xenologist" "eXenologist" "medium">>\n<<opt "Gateway Lattice Pilot" "ePilot" "hard" "sDamageLandingEngine" "Gateway Lattice No Pilot">>\n<<nextEventLink "Gateway Lattice Avoid Option">>\n</p>
<<name>> studies how the lattice interacts with the wormhole vortex
<p>It is unclear exactly //how// the lattice is having its effect, but <<inlineGainData "the texture of spacetime is different here" planetary_science small>>. <<fName>> logs as much data as <<heshe>> can before the lattice vanishes into the maelstrom and the <<shipName>> emerges into normal space.</p>\n<p><<nextEventLink>></p>
<p><<fName>> thinks that the lattice must be having some effect on the wormhole, but <<heshe>> <<verb does do>> not know enough about what is normal for the Gate network to tell exactly what it is doing. <<HeShe>> <<verb collects>> a large volume of raw data, but none of it turns out to be useful.</p>\n<p><<nextEventLink>></p>
<<name>> reconfigures the scanners to study the lattice's construction
<p>The nature of the matter that makes up the lattice--if it is matter at all--is still mysterious, but <<fName>>'s modifications allow the scanners to make out finer details of its structure. Strange as it is, it is both a piece of technology and a work of cultural expression, and <<fName>> comes a little closer to understanding the minds of <<inlineGainData "its alien builders" xenotechnology small>>.</p>\n<p><<nextEventLink>></p>
<p>Although the <<shipName>>'s scanners cannot determine what the lattice is made of, <<fName>> hopes that <<heshe>> can adjust them to resolve finer details and learn something about the Gatebuilders' technology or culture. Unfortunately, the readings are simply too strange, and <<fName>> does not manage to learn anything besides the plain fact of the lattice's existence.</p>\n<p><<nextEventLink>></p>
<<name>> tries to move the <<shipName>> closer in order to get better readings
<p>The spatial distortions become increasingly severe as the <<shipName>> approaches the lattice, but <<fName>> manages to hold the ship steady close enough for the scanners to resolve it. It is composed of <<inlineGainData "a form of matter that could not exist in normal space" planetary_science small>>, but its structure nevertheless grants yields <<inlineGainData "insights into its builders' technology" xenotechnology small>>.</p>\n<p><<nextEventLink>></p>
<p>Too late, <<fName>> realises that the lattice is causing spacetime near it to twist into dangerous eddies. The <<shipName>> is <<inlineDamageShip "flung across the tunnel" "was destroyed by an alien artefact inside the wormhole">> and spins out of control into normal space.</p>\n<p><<nextEventLink>></p>
<<TheExplorers>> <<eVerb move>> the <<shipName>> closer in order to get better readings
<p>The spatial distortions become increasingly severe as the <<shipName>> approaches the lattice, and <<theExplorers>> <<eVerb are is>> forced to retreat back to the middle of the tunnel to avoid damage. Before <<they>> do, however, <<they>> <<eVerb catch catches>> a glimpse of the dark structure's complexity, and detect that it is made of <<inlineGainData "a form of matter that could not exist in normal space" planetary_science small>>.</p>\n<p><<nextEventLink>></p>
<p>Too late, <<theExplorers>> <<eVerb realise>> that the lattice is causing spacetime near it to twist into dangerous eddies. The <<shipName>> is <<inlineDamageShip "flung across the tunnel" "was destroyed by an alien artefact inside the wormhole">> and spins out of control into normal space.</p>\n<p><<nextEventLink>></p>
<<TheExplorers>> <<eVerb ignore>> the structure
<<set $locationOverride = "The Wormhole">>\n<<set $eventTitle = "Gate Drive Overload">>\n<p>The wormhole tunnel flickers violently around the <<shipName>>, and the propulsion system detects strange readings in the Gate drive. The Chiron Project's wormhole physicists created the drive by reverse-engineering the alien technology of the Gate, and even they only partly understand its workings. Now energy flows through it in ways that they didn't anticipate--ways that seem to break the laws of thermodynamics. The <<shipName>> rattles and warning lights blink as the strange energies threaten to overwhelm it.</p>\n\n<p>\n<<opt "Gateway Overload Engineer" "eEngineer" "easy">>\n<<opt "Gateway Overload Planetary Scientist" "ePlanetaryScientist" "medium">>\n<<opt "Gateway Overload Xenologist" "eXenologist" "hard">>\n<<opt "Gateway Overload Trust" "" "medium">>\n</p>
<<name>> manages the energy flows
<p>The Chiron Project may not know how the Gate Drive works, but <<fName>> knows how to control it. <<HeShe>> monitors the energy flows, controlling the drive's various inputs in order to keep the readings in the safe zone.</p>\n<p><<nextEventLink>></p>
<p><<fName>> attempts to keep the readings within the safe zone, but everything <<heshe>> <<verb does do>> seems to destabilise the drive further. By the time the <<shipName>> exits the wormhole, its systems have been <<inlineDamageShip "severely strained" "was destroyed when its Gate Drive overloaded">>.</p>\n<p><<nextEventLink>></p>
<<name>> studies the energy flows
<p>The energy flows are bizarre, counterintuitive, seeming not to obey normal physical laws--but they do obey their own laws. Poring over the readings coming in from the Gate Drive, <<fName>> <<inlineGainData "begins to understand" planetary_science small>> those laws, and identifies the small way the drive needs to be adjusted to safely handle this part of Gate space.</p>\n<p><<nextEventLink>></p>
<p><<fName>> is sure that the energy flows in this part of Gate space must be obeying some kind of laws, but every hypothesis <<heshe>> <<verb tries try>> is quickly disproven. At last the energy flows return to normal, but not before they have placed <<inlineDamageShip "severe strain" "was destroyed when its Gate Drive overloaded">> on the ship.\n\n</p>\n<p><<nextEventLink>></p>
<<name>> tries to work out how the Gatebuilders' own ships interacted with the energy flows
<p>The <<shipName>>'s Gate Drive is an imperfect replica of those used by the mysterious Gatebuilders, who would presumably not have had this problem. <<fName>> approaches the problem from this angle, trying to imagine how the readings might appear to the Gatebuilders' alien psychology. After a few moments, <<heshe>> <<verb reaches reach>> out and <<verb makes>> a subtle change to the drive's configuration, and the drive immediately stabilises. Afterwards, <<heshe>> cannot fully explain what <<heshe>> did, but studying the incident will give Chiron Base valuable data on both <<inlineGainData "wormhole physics" planetary_science small>> and <<inlineGainData "alien technology" xenotechnology small>>.</p>\n<p><<nextEventLink>></p>
<p><<fName>> tries to imagine how the energy readings might have appeared to the alien psychology of the Gatebuilders, and how they would fix their own Gate drive to compensate, but no insight comes. Before <<heshe>> can change <<hisher>> strategy, <<inlineDamageShip "something breaks" "was destroyed when its Gate Drive overloaded">> deep inside the <<shipName>>, before the wormhole spits it back out into normal space.</p>\n<p><<nextEventLink>></p>
<<TheExplorers>> <<eVerb trust>> the Gate Drive to do its work
<p>The strange energy flows increase and the warning lights continue to flash, but the Gate Drive seems to be able to cope with whatever is happening. At last the energy flows return to normal, a moment before the wormhole spits the <<shipName>> out into normal space.</p>\n<p><<nextEventLink>></p>
<p>The strange energy flows do not seem to be damaging the Gate Drive itself, but its connections with the rest of the ship are under increasing strain, and eventually <<inlineDamageShip "something breaks" "was destroyed when its Gate Drive overloaded">>.</p>\n\n<p><<nextEventLink>></p>
<<set $locationOverride = "The Wormhole">>\n<<set $eventTitle = "Wormhole Rock">>\n<p>An object drifts across the <<shipName>>'s path through the wormhole. It is barely visible in the crackling maelstrom, but the scanners manage to resolve it as a solid chunk of rock, a piece of the normal universe somehow intruding into this strange space.</p>\n<p>\n<<opt "Gateway Rock Planetary Scientist" "ePlanetaryScientist" "easy">>\n<<opt "Gateway Rock Engineer" "eEngineer" "medium" "sDamageFabricator">>\n<<opt "Gateway Rock Pilot" "ePilot" "hard" "sDamageLandingEngine" "Gateway Rock No Pilot">>\n<<nextEventLink "Gateway Rock Avoid Option">>\n</p>
<<name>> calibrates the scanners to collect useful data through the wormhole interference
<p><<fName>> has only a few minutes before the asteroid is out of range, but in that time <<heshe>> expertly <<verb calibrates>> the scanners to cut through the wormhole interference and collect a small amount of data about the mysterious rock. It proves to be <<inlineGainData "saturated with wormhole radiation" planetary_science tiny>>, as if it has been in this space for a million years--perhaps even brought in by the Gatebuilders themselves.</p>\n<p><<nextEventLink>></p>
<p><<fName>> adjusts the scanners, but to no avail. Without the ability to physically examine the asteroid, <<heshe>> cannot distinguish genuine readings from wormhole interference. The asteroid vanishes back into the vortex, its mysteries unsolved.</p>\n<p><<nextEventLink>></p>
<<name>> quickly builds a remote probe to intercept the asteroid before it is out of reach
<p><<fName>> has only a few minutes before the asteroid is out of range, but in that time <<heshe>> quickly <<verb puts>> together a remote probe with shielding strong enough to withstand the wormhole and a guidance system smart enough to intercept the asteroid. The probe vanishes into the crackling vortex, but a short time later a faint and distorted signal returns with its findings. The asteroid proves to be <<inlineGainData "saturated with wormhole radiation" planetary_science small>>, as if it has been in this space for a million years--perhaps even brought in by the Gatebuilders themselves.</p>\n<p><<nextEventLink>></p>
<p><<fName>> must hurry to put together a probe before the asteroid is out of range, and does not have time to run as many checks as <<heshe>> should. The probe's shielding protects it from the wormhole environment, but its propulsion system is not powerful enough to overcome the spatial warping. Gravitational currents throw the probe back at the <<shipName>>, and it <<inlineDamageShip "damages the hull" "was destroyed by a probe accident in Gate space">> before vanishing into the vortex to become another lost object endlessly circling the wormhole network.</p>\n<p><<nextEventLink>></p>
<<name>> tries to match velocity with the asteroid so that <<theExplorers heshe>> can study it up close
<p>The manoeuvre would be trivial in normal space, but here in the wormhole <<fName>> must contend with the spatial warping and malfunctioning navigational system. <<HeShe>> <<verb uses>> the environment, rather than fighting against it, letting the gravitational currents pull the <<shipName>> close to the asteroid. With the ship safely alongside the asteroid, <<theExplorers heshe>> <<eVerbpn use uses>> a laser to retrieve <<inlineGainData "samples of rock saturated with a million years of wormhole radiation" planetary_science medium>>.</p>\n<p><<nextEventLink>></p>
<p>The manoeuvre would be trivial in normal space, but here in the wormhole <<fName>> must fight against the spatial warping and malfunctioning navigational system. <<HeShe>> <<verb puts>> the <<shipName>> on course for the asteroid, but finds it is approaching too quickly. A hard burn of the landing engine brings the impact velocity down, but the <<shipName>> still <<inlineDamageShip "crashes against the rock" "collided with an asteroid in Gate space">> before it vanishes again into the vortex.</p>\n<p><<nextEventLink>></p>
<<TheExplorers>> <<eVerb try tries>> to match velocity with the asteroid in order to study it up close
<p>The manoeuvre would be trivial in normal space, but here in the wormhole the <<shipName>> must contend with the spatial warping and malfunctioning navigational system. Somehow, the <<theExplorers>> <<eVerb manage>> to safely come close to the asteroid for a few seconds, letting the scanners get a picture of material <<inlineGainData "saturated with a million years of wormhole radiation" planetary_science small>>.</p>\n<p><<nextEventLink>></p>
<p>The manoeuvre would be trivial in normal space, but here in the wormhole the <<shipName>> must fight against the spatial warping and malfunctioning navigational system. The ship does not come close enough to the asteroid to gather useful data before gravitational eddies tear it away and <<inlineDamageShip "strain its structure" "was destroyed by wormhole instability">>.\n<p><<nextEventLink>></p>
<<TheExplorers>> <<eVerb ignore>> the asteroid
<<set $locationOverride = "The Wormhole">>\n<<set $eventTitle = "Gravitational Storm">>\n<p>This wormhole tunnel is twisted and volatile. A gravitational storm threatens to tear the <<shipName>> apart.</p>\n<p>\n<<opt "Gateway Storm Pilot" "ePilot" "hard" "sDamageInterplanetaryEngine">>\n<<opt "Gateway Storm Engineer" "eEngineer" "hard" "sDamageFabricator">>\n<<opt "Gateway Storm Ride Out">>\n</p>
<<name>> pilots the <<shipName>> through the storm
<p>Gravitational eddies pull the <<shipName>> this way and that but <<fName>> manages to keep it to the relatively safe centre of the narrow wormhole.</p>\n<p><<nextEventLink>></p>
<p><<fName>> wrestles against the gravitational forces but they are too strong. Alarms blare in the cabin as the storm <<inlineDamageShip "strains the spaceship's structure" "was destroyed by a gravitational storm inside the wormhole">>, and rapidly changing G-forces make <<fName>> <<inlineInjureCrewMember "black out" "was killed during a wormhole storm">>.</p>\n<p><<nextEventLink>></p>
<<name>> reinforces the <<shipName>>'s structure
<p>The <<shipName>> was not designed to withstand these exotic forces, but <<fName>> quickly works out how <<heshe>> can counteract them. Metal groans and alarms blare but the <<shipName>> re-enters normal space without serious damage.</p>\n<p><<nextEventLink>></p>
<p>The forces working on the <<shipName>> are like nothing a human engineer has had to contend with before. The gravitational storm <<inlineDamageShip `"tears "+TextUtils.hisher()+" makeshift reinforcements apart"` "was destroyed by a gravitational storm inside the wormhole">> and <<inlineInjureCrewMember `"throws "+TextUtils.himher()+" across the cabin"` "was killed by a gravitationa storm inside the wormhole">>.</p>\n<p><<nextEventLink>></p>
<<TheExplorers>> <<eVerb ride>> out the storm
<p><<TheExplorers>> <<eVerb cower>> in the safest part of the ship while the storm tosses the <<shipName>> to and fro. At last the wormhole spits it out into normal space and <<theExplorers>> <<eVerb emerge>> to take stock of the <<inlineDamageShip "damage" "was destroyed by a gravitational storm inside the wormhole">>.</p>\n<p><<nextEventLink>></p>
<<set $locationOverride = "The Wormhole">>\n<<set $eventTitle = "Encounter in Gate-Space">>\n\n<p>Something moves alongside the <<shipName>> in the chaotic non-space of the wormhole tunnel. It is visible to <<theExplorerss>> eyes as a knot of flickering light, and to the ship's sensors as a fractally complex interplay of energy fields. It moves as if alive and curious, drawing close to the <<shipName>> and then backing away.</p>\n\n<p>\n\t<<opt "Gateway Vortex Being Planetary Scientist" "ePlanetaryScientist" "easy">>\n\t<<opt "Gateway Vortex Being Biologist" "eBiologist" "medium">>\n\t<<opt "Gateway Vortex Being Xenologist" "eXenologist" "hard">>\n\t<<opt "Gateway Vortex Being Scan" "" "medium">>\n\t<<opt "Gateway Vortex Being Avoid">>\n</p>
<<name>> studies it as an energy field
<p>The <<shipName>> holds its course next to the phenomenon for long enough for <<fName>> to perform high-resolution scans of the energy field, which reveal insights about the weird <<inlineGainData "physical laws" planetary_science tiny>> inside the Gate.</p>\n<p><<nextEventLink>></p>
<p><<fName>> holds the <<shipName>> close to the phenomenon while <<heshe>> <<verb tries try>> to analyse its structure, but <<heshe>> <<verb learns>> nothing before close proximity to the spatial anomaly <<inlineDamageShip "damages the ship" "was destroyed by something in Gate-space">>.</p>\n<p><<nextEventLink>></p>
<<name>> studies it as a life form
<p>Observing the phenomenon's movements, <<fName>> becomes more certain that it is alive, and <<inlineGainData "begins to make sense" xenobiology small>> of its bizarre spacetime-based biology.</p>\n<p><<nextEventLink>></p>
<p>The being--if that is what it is--becomes agitated and <<inlineDamageShip "rams into" "was destroyed by something in Gate-space">> the <<shipName>>.</p>\n<p><<nextEventLink>></p>
<<name>> wonders if it might be intelligent
<p>The phenomenon's movements show no signs of more than animal-level intelligence, but somehing about its structure strikes <<fName>>'s intuition as more than that. Although <<heshe>> cannot prove it, <<heshe>> <<verb becomes>> convinced that this phenomenon was <<inlineGainData "created by intelligent beings" xenotechnology medium>>.</p>\n<p><<nextEventLink>></p>
<p>The <<shipName>> holds its course alongside the phenomenon while <<fName>> stares at the scan results, feeling as if <<heshe>> <<verb is are>> on the verge of a profound understanding--until it seems to become agitated and <<inlineDamageShip "rams into" "was destroyed by something in Gate-space">> the <<shipName>>.</p>\n<p><<nextEventLink>></p>
The <<shipName>> stays alongside the phenomenon in order to scan it
<p>The phenomenon stays alongside the <<shipName>> for a few minutes before vanishing into the vortex. <<TheExplorers>> <<eVerb are is>> no closer to understanding it, but the <<shipName>>'s scanners collect <<inlineGainData "physical data" planetary_science tiny>> that should be of use to the scientists back at Chiron Base.</p>\n<p><<nextEventLink>></p>
<p>The scanners begin collecting data, until the phenomenon suddenly changes course and <<inlineDamageShip "rams into" "was destroyed by something in Gate-space">> the <<shipName>>.</p>\n<p><<nextEventLink>></p>
<<TheExplorers>> <<eVerb avoid>> the phenomenon
<p>The <<shipName>> moves away from the phenomenon, which accelerates alongside for a moment but then peels away. <<TheExplorers>> <<eVerb wonder>> if it lost interest, or simply drifted away on the gravitational currents.</p>\n\n<p><<nextEventLink>></p>
<<set $eventTitle = "Alien Infection Continues">>\n<p>\nThe alien microorganism that infected <<crewMember2WithTrait "eAlienInfection">> continues to attack <<hisher2>> body. \n<<if $crew[$selectedCrewMember2].traits.count("eAlienInfection") == Traits["eAlienInfection"].fatalNumber-1>>\n\tUnless its progress can be halted, it will soon cause organ failure and death.\n<<else>>\n\tFor the moment it is still moving slowly through the unfamiliar material of the human body, but if left untreated it will eventually be fatal.\n<</if>>\n</p>\n<<if $crew.length == 1>>\n\t<<if $crew[$selectedCrewMember2].traits.count("eAlienInfection") >= Traits["eAlienInfection"].fatalNumber-1>>\n\t\t<p>With no one left to treat <<himher2>>, <<fName2>> dies alone in space.</p>\n\t\t<<killCrewMember2 "died from an alien infection">>\n\t<<else>>\n\t\t<p>With no one left to treat <<himher2>>, <<fName2>> can only take painkillers as the infection <<inlineGiveCrewMember2Trait "continues to progress" "eAlienInfection">>.</p>\n\t<</if>>\n\t<p><<nextEventLink>></p>\n<<else>>\n\t<p>\n\t<<opt "Interplanetary Alien Infection Worsens Medic" "eMedic not2" "medium" "sDamageMedbay sUpgradeFirstAid">>\n\t<<opt "Interplanetary Alien Infection Worsens Biologist" "eBiologist not2" "medium" "sDamageBiolab">>\n\t<<if $ship.upgrades.includes("sUpgradeLifeSupport")>>\n\t\t<<opt "Interplanetary Alien Infection Worsens Life Support" "sUpgradeLifeSupport">>\n\t<<else>>\n\t\t<<opt "Invent Life Support" "eBiologist not2" "medium" "sDamageMedbay sDamageBiolab">>\n\t<</if>>\n\t<<opt "Interplanetary Alien Infection Worsens Painkillers">>\n\t</p>\n<</if>>
<<name>> tries to boost <<fName2>>'s immune system
<p><<fName>> manages to stop the infection from getting any worse, but warns that <<fName2>> needs medical treatment back in Chiron Base's hospital as soon as possible.</p>\n<p><<nextEventLink>></p>
<<if $crew[$selectedCrewMember2].traits.count("eAlienInfection") >= Traits["eAlienInfection"].fatalNumber-1>>\n\t<p><<fName>> does what <<heshe>> can, but the microorganism is already breaking down <<fName2>>'s organs, and death is inevitable. <<fName>> manages to make <<fName2>>'s final moments painless, and then solemnly seals <<hisher2>> remains in a biohazard container.</p>\n\t<<killCrewMember2 "died from an alien infection">>\n<<else>>\n\t<p><<fName>> does everything <<heshe>> can to bolster <<fName2>>'s immune system, but the alien infection <<inlineGiveCrewMember2Trait "continues to progress" "eAlienInfection">>.</p>\n<</if>>\n\n<p><<nextEventLink>></p>
<<name>> examines the alien organism and looks for a way to destroy it
<p><<fName>> manages to stop the infection from getting any worse, but warns that <<fName2>> needs medical treatment back in Chiron Base's hospital as soon as possible.</p>\n<p><<nextEventLink>></p>
<<if $crew[$selectedCrewMember2].traits.count("eAlienInfection") >= Traits["eAlienInfection"].fatalNumber-1>>\n\t<p><<fName>> does what <<heshe>> can, but the microorganism is already breaking down <<fName2>>'s organs, and death is inevitable. <<fName>> manages to make <<fName2>>'s final moments painless, and then solemnly seals <<hisher2>> remains in a biohazard container.</p>\n\t<<killCrewMember2 "died from an alien infection">>\n<<else>>\n\t<p><<fName>> does everything <<heshe>> can to find weakness in the alien organism, but it proves too virulent and <<inlineGiveCrewMember2Trait "continues to spread" "eAlienInfection">>.</p>\n<</if>>
<<if $crew.length > 2>>\n\tThe other explorers put <<fName2>> into medical stasis\n<<else>>\n\t<<randomCrewMember not2>> puts <<fName2>> into medical stasis\n<</if>>
<p>The life support machine puts <<fName2>> into a deep sleep and slows the progress of the infection. <<fName2>> should survive until <<heshe2>> can be treated back at Chiron Base.</p>\n<<moveToLifeSupport2>>\n\n<p><<nextEventLink>></p>
<<if $crew.length > 2>>\n\tThe other explorers admisinster painkillers\n<<else>>\n\t<<randomCrewMember not2>> admisinsters painkillers\n<</if>>
<<if $crew.length > 2>>\n\t<<if $crew[$selectedCrewMember2].traits.count("eAlienInfection") >= Traits["eAlienInfection"].fatalNumber-1>>\n\t\t<p>With no way to fight the alien infection, the other explorers give <<fName2>> a lethal dose of painkillers to spare <<himher2>> any further suffering, and then solemnly place <<hisher2>> remains in a biohazard container.</p>\n\t\t<<killCrewMember2 "died from an alien infection">>\n\t<<else>>\n\t\t<p>The explorers have no way to fight the infection, and can only give <<fName2>> painkillers as the infection <<inlineGiveCrewMember2Trait "continues to spread" "eAlienInfection">>.</p>\n\t<</if>>\n<<else>>\n\t<<if $crew[$selectedCrewMember2].traits.count("eAlienInfection") >= Traits["eAlienInfection"].fatalNumber-1>>\n\t\t<p>With no way to fight the alien infection, <<randomCrewMember not2>> gives <<fName2>> a lethal dose of painkillers to spare <<himher2>> any further suffering, and then solemnly places <<hisher2>> remains in a biohazard container.</p>\n\t\t<<killCrewMember2 "died from an alien infection">>\n\t<<else>>\n\t\t<p><<randomCrewMember not2>> has no way to fight the infection, and can only give <<fName2>> painkillers as the infection <<inlineGiveCrewMember2Trait "continues to spread" "eAlienInfection">>.</p>\n\t<</if>>\n<</if>>\n<p><<nextEventLink>></p>
<<set $eventTitle = "Medbay Failure">>\n<p><<TheExplorers>> must take regular anti-radiation treatments to withstand cosmic radiation during a long-term space mission, but the damage to the <<shipName>>'s medbay means that some of these treatments are less effective than usual. By the time <<theExplorers>> identify the problem, <<randomCrewMember2>> is showing signs of <<inlineGiveCrewMember2Trait "radiation sickness" "eRadiationSickness">>.</p>\n<p><<nextEventLink>></p>
<<set $eventTitle = "Food-Fab Failure">>\n<p>The <<shipName>>'s fabricator produces everything the crew needs out of stored raw materials, including their food. The damaged food fabricator malfunctions and produces spoiled food, which makes <<randomCrewMember2>> <<inlineGiveCrewMember2Trait "ill" "eTerrestrialInfection">>.</p>\n<p><<nextEventLink>></p>
<<set $eventTitle = "Bio-Containment Failure">>\n<<silently>><<randomCrewMember2>><</silently>>\n<p>The <<shipName>>'s biolab includes secure containment for samples of alien organisms that the explorers have gathered. Damage to the biolab means that power to the containment system briefly fails, allowing harmful alien microbes to escape and <<inlineGiveCrewMember2Trait "infect" "eAlienInfection">> <<name2>>.</p>\n<p><<nextEventLink>></p>
<<set $eventTitle = "Engine Shielding Failure">>\n<p>The <<shipName>>'s interplanetary drive is powered by a miniature nuclear reactor, and the damage that the interplanetary engine has sustained causes the shielding separating it from the rest of the ship to fail. <<TheExplorers>> <<eVerb fix fixes>> the problem, but not before <<randomCrewMember2>> receives a <<inlineGiveCrewMember2Trait "dangerous dose" "eRadiationSickness">>.</p>\n<p><<nextEventLink>></p>
<<set $eventTitle = "Life Support Failure">>\n<p>The <<shipName>>'s damaged life support system is struggling to provide clean air and water for the crew. The Chiron Project's engineers built enough safeguards into it so that it will not fail outright while the <<shipName>> is intact, but a failure of the air scrubbers leads to <<randomCrewMember2>> becoming <<inlineGiveCrewMember2Trait "sick" "eTerrestrialInfection">>.</p>\n<p><<nextEventLink>></p>
<<set $eventTitle = "Landing Engine Failure">>\n<<if $contextTraits.includes("pGasGiant")>>\n\t<p>The <<shipName>> is descending into the gas giant's atmosphere when its damaged landing engine cuts out and it drops like a stone. <<bestPilot>> eventually manages to restore power to the engine, but must accelerate hard to put the ship back on a safe course, and <<randomCrewMember2>> is <<inlineInjureCrewMember2 "thrown across the cabin" "was killed in a crash">>.</p>\n<<else>>\n\t<p>The <<shipName>> is moments from touching down when its damaged landing engine cuts out and it drops like a stone for the last few metres. The impact is not severe enough to cause further damage to the ship, but <<randomCrewMember2>> is <<inlineInjureCrewMember2 "thrown across the cabin" "was killed in a crash">>.</p>\n<</if>>\n<p><<nextEventLink>></p>
<<set $eventTitle = "Nothing but Blackness">>\n<p>Events during the mission have shaken <<crewMember2WithTrait eDepressed>>'s confidence and left <<himher2>> depressed. During planetary exploration <<heshe2>> can keep it together, but the long journeys between planets--during which nothing seems to exist beside the sterile corridors of the <<shipName>> and the infinite blackness beyond--leave <<himher2>> increasingly lethargic and melancholy.\n<<if $crew.length == 2>>\n\t<<randomCrewMember not2>> worries\n<<else>>\n\tThe other explorers worry\n<</if>>\nthat <<fName2>>'s performance may slip enough to put the mission in danger.</p>\n<p>\n\t<<opt "Interplanetary Depression Problem Medic" "eMedic not2" "medium">>\n\t<<opt "Interplanetary Depression Problem Work" "only2" "hard">>\n\t<<opt "Interplanetary Depression Problem Rest" "" "medium">>\n</p>
<<fName2>> pushes through and keeps working
<p><<fName2>> has lost all joy in <<hisher2>> work and often finds it hard to concentrate, but <<hisher2>> training takes over and <<heshe2>> <<verb2 finds>> that <<heshe2>> can perform <<hisher2>> duties well enough by rote.</p>\n<p><<nextEventLink>></p>
<p><<fName2>> tries, but every day is a struggle against the darkness pulling <<himher2>> down. <<HisHer2>> work becomes slower and <<heshe2>> finds it increasingly hard to concentrate, until <<heshe2>> <<verb makes>> a mistake during ship maintenance that leads to a <<inlineDamageShip "system failure" "was destroyed due to crew error">>.</p>\n<p><<nextEventLink>></p>
The explorers relieve <<fName2>> of duty
<p>It's not a judgement of <<fName2>>'s character or commitment, it's just that <<heshe2>> <<verb2 needs>> time to recover <<hisher2>> mental health before returning to full duty. <<fName2>> agrees, and removes <<himher2>>self from duties involving any critical systems.\n<<if $crew.length==2>>\n\t<<randomCrewMember not2>> takes on all the critical duties <<himher>>self,\n<<else>>\n\tThe other explorers take over <<fName2>>'s duties,\n<</if>>\nand <<fName2>> is able to use the time to relax and try to rediscover <<hisher2>> motivation. <<HeShe2>> <<is2>> still depressed, but by the time the <<shipName>> reaches <<= $currentSystem.planets[$destinationPlanet].name>> <<heshe2>> <<is2>> able to return to duty.</p>\n<p><<nextEventLink>></p>
<p><<fName2>> cannot be allowed to make a mistake that could endanger the mission. <<fName2>> agrees that this is the best course of action, and removes <<himher2>>self from duties involving any critical systems. \n<<if $crew.length==2>>\n\t<<randomCrewMember not2>> takes on all the critical duties <<himher>>self,\n<<else>>\n\tThe other explorers take over <<fName2>>'s duties,\n<</if>>\nbut this leaves <<fName2>> without enough activities to fill each day. <<HeShe2>> <<verb ends>> up spending hours each day at the observation window, <<inlineDepressCrewMember2 "staring out into the blackness">>.</p>\n<p><<nextEventLink>></p>
<<name>> counsels <<fName2>> through <<hisher2>> depression
<p><<fName>> schedules regular sessions with <<fName2>> for the rest of the interplanetary journey, and together they work through the mission events that have left <<fName2>> depressed. Therapy is always difficult, but in this case it is helpful, and by the time the <<shipName>> reaches <<= $currentSystem.planets[$destinationPlanet].name>> <<fName2>> is feeling noticeably <<inlineRemoveCrewMember2Trait "less depressed" eDepressed>>.</p>\n<p><<nextEventLink>></p>
<p><<fName>> schedules regular therapy sessions with <<fName2>> for the rest of the interplanetary journey, but the cramped and sterile confines of the <<shipName>> are a constant reminder of the events that shook <<fName2>>, and they do not provide a good space for healing. By the time the <<shipName>> reaches <<= $currentSystem.planets[$destinationPlanet].name>>, the best <<fName>> can say is that <<fName2>>'s depression has not got any worse.</p>\n<p><<nextEventLink>></p>
<<set $eventTitle = "Illness Continues">>\n<p><<crewMember2WithTrait "eTerrestrialInfection">> becomes increasingly weak and feverish. In the artificial environment and microgravity of the <<shipName>>'s cabins, <<hisher2>> immune system is having difficulty fighting off <<hisher2>> illness.</p>\n<<if $crew.length == 1>>\n\t<<if $crew[$selectedCrewMember2].traits.count("eTerrestrialInfection") >= Traits["eTerrestrialInfection"].fatalNumber-1>>\n\t\t<p>With no one left to treat <<himher2>>, <<fName2>> dies alone in space.</p>\n\t\t<<killCrewMember2 "died from a terrestrial infection">>\n\t<<else>>\n\t\t<p>With no one left to treat <<himher2>>, <<fName2>> can only take painkillers as the infection <<inlineGiveCrewMember2Trait "continues to progress" "eTerrestrialInfection">>.</p>\n\t<</if>>\n\t<p><<nextEventLink>></p>\n<<else>>\n\t<p>\n\t<<opt "Interplanetary Illness Worsens Medic" "eMedic not2" "medium" "sDamageMedbay sUpgradeFirstAid" "Interplanetary Illness Worsens No Medic" "hard">>\n\t<<if $ship.upgrades.includes("sUpgradeLifeSupport")>>\n\t\t<<opt "Interplanetary Illness Worsens Life Support" "sUpgradeLifeSupport">>\n\t<<elseif $discoveredTraits.psLife>>\n\t\t<<opt "Invent Life Support" "eBiologist not2" "medium" "sDamageMedbay sDamageBiolab">>\n\t<</if>>\n\t</p>\n<</if>>
<<name>> tries to treat <<himher2>>
<p><<fName>> manages to stop the infection from getting any worse, but warns that <<fName2>> needs medical treatment back in Chiron Base's hospital as soon as possible.</p>\n<<nextEventLink>>
<<if $crew[$selectedCrewMember2].traits.count("eTerrestrialInfection") >= Traits["eTerrestrialInfection"].fatalNumber-1>>\n\t<p><<fName>> does what <<heshe>> can, but <<fName2>>'s immune system is too weak, and in the end <<heshe2>> succumbs to the infection.</p>\n\t<<killCrewMember2 "died from a terrestrial infection">>\n<<else>>\n\t<p><<fName>> does everything <<heshe>> can, but space travel has weakened <<fName2>>'s immune system and the infection <<inlineGiveCrewMember2Trait "continues to progress" "eTerrestrialInfection">>.</p>\n<</if>>\n\n<p><<nextEventLink>></p>
<<TheExplorers>> <<eVerb try tries>> to treat <<himher2>>
<p><<TheExplorers>> <<eVerb manage>> to stop the infection from getting any worse, but <<fName2>> is still sick.</p>\n<p><<nextEventLink>></p>
<<if $crew[$selectedCrewMember2].traits.count("eTerrestrialInfection") >= Traits["eTerrestrialInfection"].fatalNumber-1>>\n\t<p><<TheExplorers>> <<eVerb do does>> what <<they>> can, but <<fName2>>'s immune system is too weak, and in the end <<heshe2>> succumbs to the infection.</p>\n\t<<killCrewMember2 "died from a terrestrial infection">>\n<<else>>\n\t<p><<TheExplorers>> <<eVerb do does>> what <<they>> can, but space travel has weakened <<fName2>>'s immune system and the infection <<inlineGiveCrewMember2Trait "continues to progress" "eTerrestrialInfection">>.</p>\n<</if>>\n<p><<nextEventLink>></p>
<<TheExplorers>> put <<fName2>> in medical stasis
<p>The stasis pod puts <<fName2>> into a deep sleep and slows the progress of the infection. <<fName2>> should survive until <<heshe2>> can be treated back at Chiron Base.</p>\n<<moveToLifeSupport2>>\n\n<p><<nextEventLink>></p>
<<set $eventTitle = "Illness from Home">>\n<p><<randomCrewMember2>> begins to suffer from nausea and finds it hard to concentrate. Medical scans confirm that <<heshe2>> <<is2>> suffering from an infection that explorers brought from Chiron Base. It would not normally be serious, but in the enclosed, artificial environment of the <<shipName>>'s habitat ring any infection is potentially deadly.</p>\n<<if $crew.length == 1>>\n\t<p>With no one left to treat <<himher2>>, <<fName2>> is unable to prevent <<himher2>>self from <<inlineGiveCrewMember2Trait "becoming sick" "eTerrestrialInfection">>.</p>\n\t\n\t<p><<nextEventLink>></p>\n<<else>>\n\t<p>\n\t\t<<opt "Interplanetary Illness Medic" "eMedic not2" "easy" "sDamageMedbay sUpgradeFirstAid" "Interplanetary Illness No Medic" "medium">>\n\t\t<<opt "Interplanetary Illness Quarantine Medic" "eMedic not2" "medium" "sDamageMedbay sUpgradeFirstAid" "Interplanetary Illness Quarantine No Medic" "hard">>\n\t</p>\n<</if>>
<<name>> treats <<himher2>> in the medbay
<p><<fName>> quickly diagnoses and treats the illness, and <<fName2>> is back to normal within a few days.</p>\n<<nextEventLink>>
<p>Something about the microgravity and confined, artificial environment makes it harder to treat the illness, and it fails to respond to <<fName>>'s efforts. <<inlineGiveCrewMember2Trait "The infection" "eTerrestrialInfection">> will cause <<fName2>> problems until it can be properly treated at Chiron Base, and the cramped quarters of the medbay mean that <<fName>> is also <<inlineGiveCrewMemberTrait "infected" "eTerrestrialInfection">>.</p>\n<p><<nextEventLink>></p>
<<TheExplorers>> <<eVerb treat>> <<fName2>> using the automated medbay
<p><<fName2>> responds to the generic medicines from the ship's medbay, and is soon back on duty.</p>\n<p><<nextEventLink>></p>
<p><<fName2>> does not respond to the generic medicines in the ship's medbay. <<HeShe2>> <<verb2 continues>> to be <<inlineGiveCrewMember2Trait "sick" "eTerrestrialInfection">>, and the lack of quarantine procedure means that <<randomCrewMember not2>> also <<inlineGiveCrewMemberTrait "catches it" "eTerrestrialInfection">>.</p>\n<p><<nextEventLink>></p>
<<name>> tries to treat <<himher2>> while isolating <<himher2>> to prevent the infection from spreading
<p><<fName>> isolates <<fName2>> in the medbay while <<heshe>> <<verb works>> on diagnosing the illness. The quarantine procedure makes the job harder, but <<heshe>> nevertheless <<verb manages>> to treat the illness, and <<heshe>> <<verb lets>> <<fName2>> out of quarantine as soon as medical scans confirm that <<heshe2>> <<is2>> no longer infectious.</p>\n<p><<nextEventLink>></p>
<p>Quarantining <<fName2>> in the medbay makes <<fName>>'s job harder, and <<heshe>> <<inlineGiveCrewMember2Trait "fails to treat" "eTerrestrialInfection">> <<fName2>>'s symptoms,\n<<if $crew.length==2>>\n\tbut isolating <<himher2>> keeps <<fName>> safe until <<heshe>> can innoculate <<himher>>self against the infection.\n<<else>>\n\tbut isolating <<himher2>> keeps the explorers safe until <<fName>> can innoculate them against the infection.\n<</if>>\n</p>\n<p><<nextEventLink>></p>
<<TheExplorers>> <<eVerb isolate>> <<fName2>> to prevent the infection from spreading
<p><<fName2>> spends an unpleasant few days in the medbay's tiny isolation chamber, but <<hisher>> symptoms eventually clear up and the quarantine stops <<if $crew.length==2>><<randomCrewMember not2>><<else>>the rest of the ship<</if>> from being infected.</p>\n<p><<nextEventLink>></p>
<p><<fName2>> spends an unpleasant few days in the medbay's tiny isolation chamber as <<hisher2>> symptoms become progressively worse. The medbay cannot prevent the disease from <<inlineGiveCrewMember2Trait "taking hold" "eTerrestrialInfection">>, but the quarantine prevents it from spreading until it is safely past its infectious stage.</p>\n<p><<nextEventLink>></p>
<<set $eventTitle = "Absent Friends">>\n<p>\n\t<<if $crew.length == 1>>\n\t\tThe <<shipName>> left Chiron Base as a tiny, close-knit community, and the habitat ring was filled with the sounds of the explorers at work and play. Now all but <<randomCrewMember>> are dead, and the ring is silent. Half a galaxy away from home, cut off from all contact, <<fName>> is more alone than any human being has ever been.\n\t<<elseif $deadCrew.length == 1>>\n\t\tThe explorers have necessarily become close in the cramped confines of the <<shipName>>'s habitat ring, and <<nameObj $deadCrew[0]>>'s death has left a gaping hole in their little community. <<HisHerObj $deadCrew[0]>> bunk, <<hisherObj $deadCrew[0]>> duty station, <<hisherObj $deadCrew[0]>> usual place at the dining table--all have become reminders of <<hisherObj $deadCrew[0]>> absence, and of the failure of the Chiron Project to protect its own. <<randomCrewMember>> <<if $crew.length>1>>in particular<</if>> finds these reminders hard to bear, and begins falling into a depression.\n\t<<else>>\n\t\tThe explorers have necessarily become close in the cramped confines of the <<shipName>>'s habitat ring, and the <<= TextUtils.numberWord($deadCrew.length)>> deaths have left a gaping hole in their little community. Their bunks, their duty stations, their usual places at the dining table--all have become reminders of their absence and of the failure of the Chiron Project to protect its own. <<randomCrewMember>> <<if $crew.length>1>>in particular<</if>> finds these constant reminders of their absence hard to bear, and begins falling into a depression.\n\t<</if>>\n</p>\n<<set $selectedCrewMember2 = $selectedCrewMember>>\n<p>\n\t<<if $crew.length > 1>>\n\t\t<<opt "Interplanetary Mourning Medic" "eMedic not2" "medium">>\n\t\t<<opt "Interplanetary Mourning Group" "" "medium">>\n\t\t<<opt "Interplanetary Mourning Distract" "only2" "hard">>\n\t<<else>>\n\t\t<<opt "Interplanetary Mourning Distract" "only2" "hard">>\n\t<</if>>\n</p>
<<name>> counsels <<fName2>> through <<hisher2>> grief
<p>The Chiron Project's medic training took into account mental as well as physical health, and <<fName>> was trained in grief counselling techniques. <<HeShe>> <<verb draws>> on this training now, spending hours each day of the interplanetary journey in session with <<fName2>>, helping <<himher2>> to process <<hisher2>> feelings.\n<<if $deadCrew.length==1>>\n\t<<fName2>> still feels <<= $deadCrew[0].firstName>>'s loss deeply, but <<heshe2>> <<is2>> able to honour <<hisherObj $deadCrew[0]>> memory by continuing with the mission.\n<<else>>\n\t<<fName2>> still feels the loss of <<hisher2>> crewmates deeply, but <<heshe2>> <<is2>> able to honour their memories by continuing with the mission.\n<</if>>\n<p><<nextEventLink>></p>
<p>The Chiron Project trained <<fName>> in grief counselling techniques, but a death in a tight-knit group of people, isolated from the rest of their civilisation on a historically important mission, is something no training could have prepared <<himher>> for. <<fName>> and <<fName2>> have daily counselling sessions for the rest of the interplanetary journey, but nothing <<fName>> says stops <<fName2>> from falling into a <<inlineDepressCrewMember2 "deep depression">>.\n<p><<nextEventLink>></p>
The surviving explorers gather to remember <<if $deadCrew.length==1>><<nameObj $deadCrew[0]>><<else>>their absent friends<</if>>
<p>\n\t<<if $deadCrew.length==1>>\n\t\tThe surviving explorers clear their schedules for the evening, have the food-fab produce some appropriate beverages, and sit together swapping stories of <<= $deadCrew[0].firstName>>. <<HeSheObj $deadCrew[0]>> <<verbObj $deadCrew[0] was were>> a friend and colleague, a hero of the Chiron Project, and <<hesheObj $deadCrew[0]>> gave <<hisherObj $deadCrew[0]>> life contributing to a cause <<hesheObj $deadCrew[0]>> believed in.\t<<fName2>> still feels the loss deeply, but the gathering gives <<himher2>> a sense of closure and a new determination to complete the mission.\n\t<<else>>\n\t\tThe surviving explorers clear their schedules for the evening, have the food-fab produce some appropriate beverages, and sit together swapping stories of their departed colleagues. They were friends and colleagues, heroes of the Chiron Project, and they gave their lives contributing to a cause they believed in. <<fName2>> still feels the losses deeply, but the gathering gives <<himher2>> a sense of closure and a new determination to complete the mission.\n\t<</if>>\n</p>\n<p><<nextEventLink>></p>
<p>\n\tThe surviving explorers clear their schedules for the evening, have the food-fab produce some appropriate beverages, and sit together swapping stories of <<if $deadCrew.length==1>><<nameObj $deadCrew[0]>><<else>>their departed colleagues<</if>>. <<fName2>> tries to engage with the gathering, but becomes increasingly quiet, and eventually excuses <<himherself2>> and locks <<himherself2>> in <<hisher2>> cabin. For the rest of the mission <<heshe2>> <<is2>> too preoccupied with <<hisher2>> <<inlineDepressCrewMember2 "grief">> to put <<hisher2>> full energy into <<hisher2>> work.\n</p>\n<p><<nextEventLink>></p>
<<if $crew.length==1>>Alone on the ship, <</if>><<name2>> distracts <<himherself2>> with <<hisher2>> work
<p>Operating the <<shipName>> <<if $crew.length==1>>alone<</if>> provides more than enough work to keep <<fName2>> occupied, and <<heshe2>> <<verb2 collapses>> exhausted into <<hisher2>> bunk every evening with no energy to dwell on <<hisher2>> <<if $deadCrew.length==1>>creamate's death<<else>>crewmates' deaths<</if>>. <<HeShe2>> will grieve properly back at Chiron Base, but for the moment <<heshe2>> <<verb2 holds>> it together and <<verb2 continues>> the mission.</p>\n<p><<nextEventLink>></p>
<<if $crew.length==1>>\n\t<p>Operating the <<shipName>> alone provides more than enough work to keep <<fName2>> occupied, but every time <<heshe2>> <<verb2 performs>> one of <<hisher2>> deceased \n\t<<if $deadCrew.length==1>>crewmate's tasks <<heshe2>> <<is2>> reminded again of <<hisherObj $deadCrew[0]>> loss.\n\t<<else>>crewmates' tasks <<heshe2>> <<is2>> reminded again of their loss.<</if>>\n\tAlone in the <<= $currentSystem.name>> system, an incomprehensible distance from the nearest living human being, <<heshe2>> finds <<hisher2>> energy and motivation <<inlineDepressCrewMember2 "draining away">>.</p>\n<<else>>\n\t<p>Helping to operate the <<shipName>> provides more than enough work to keep <<fName2>> occupied, but every time <<heshe2>> <<verb2 performs>> on of <<hisher2>> deceased\n\t<<if $deadCrew.length==1>>crewmate's tasks <<heshe2>> <<is2>> reminded again of <<hisherObj $deadCrew[0]>> loss.\n\t<<else>>crewmates' tasks <<heshe2>> <<is2>> reminded again of their loss.<</if>>\n\t<<HeShe2>> goes about <<hisher2>> work mechanically, and finds <<hisher2>> energy and motivation <<inlineDepressCrewMember2 "draining away">>.</p>\n<</if>>\n<p><<nextEventLink>></p>
<<set $eventTitle = "Nebula Blindness">>\n<p>The nebula that surrounds the <<systemName>> system provides a magnificent vista for <<theExplorers>>, but the <<shipName>>'s interplanetary navigation sensors were engineered for a complete vacuum, and a dense region of gas causes them to malfunction. The density of the nebula also means it could be hiding any number of asteroids large enough to damage the <<shipName>>.</p>\n<p>\n\t<<opt "Interplanetary Nebula Pilot" "ePilot" "medium" "sDamageInterplanetaryEngine">>\n\t<<opt "Interplanetary Nebula Engineer" "eEngineer" "medium" "sDamageInterplanetaryEngine">>\n\t<<opt "Interplanetary Nebula Change Course" "" "easy" "sDamageInterplanetaryEngine">>\n\t<<opt "Interplanetary Nebula Default" "" "hard">>\n</p>
<<name>> navigates with imperfect sensors
<p>The <<shipName>>'s sensors may be malfunctioning, but <<fName>>'s finely-honed navigational instinct is still sharp. Staring at the nebula and at the partial sensor data, <<hisher>> hands run across the controls, finely-tuned thruster bursts nudging the ship out of the way of asteroids before <<heshe>> <<verb is are>> consciously aware of them. When the ship emerges from the dense region, it is undamaged and perfectly on course.</p>\n<<include [[Interplanetary Nebula Problem Complete Options]]>>
<p>In the Sol system <<fName>> might have been able to navigate without sensors, but strange environment of the nebula throws <<hisher>> instincts off. <<inlineDamageShip "An asteroid punctures the hull" "collided with an asteroid while a nebula interfered with its sensors">>, and precious oxygen mingles with the nebular gases until <<theExplorers>> can patch the hole.</p>\n<<include [[Interplanetary Nebula Problem Complete Options]]>>
<<name>> adjusts the sensors to compensate
<p>Even a dense nebula region is thinner than the planetary atmospheres that the <<shipName>> is designed to enter while landing. By bringing the planetary atmosphere sensors online and adjusting them for deep-space use, <<fName>> is able to compensate for the malfunction and safely guide the ship.</p>\n<<include [[Interplanetary Nebula Problem Complete Options]]>>
<p>In order to complete <<hisher>> modifications, <<fName>> must take the navigation sensors offline briefly. The interruption should only have been for a few moments, but undetected damage prevents the sensors from coming back online at once. <<fName>> eventually fixes the problem, but not before <<inlineDamageShip "micrometeoroid damage" "collided with an asteroid while a nebula interfered with its sensors">> has weakened the hull.</p>\n<<include [[Interplanetary Nebula Problem Complete Options]]>>
<<TheExplorers>> <<eVerb hope>> the <<shipName>> doesn't hit anything
<p><<TheExplorers>> <<eVerb watch watches>> nervously watch as the beautiful but potentially deadly nebular clouds drift past the <<shipName>>. Eventually the sensors indicate that the gas density is down to a safe level, and the <<shipName>> continues its journey.</p>\n<<include [[Interplanetary Nebula Problem Complete Options]]>>
<p><<TheExplorers>> <<eVerb watch watches>> nervously watch as the beautiful but potentially deadly nebular clouds drift past the <<shipName>>. <<They>> <<eVerb think>> that <<they> <<eVerb are is>> in the clear, but as the ship is emerging from the dense region, <<they>> <<eVerb find>> that <<inlineDamageShip "micrometeoroid damage" "disintegrated due to nebular micrometeoroid damage">> has weakened the hull.</p>\n<<include [[Interplanetary Nebula Problem Complete Options]]>>
<<TheExplorers>> <<eVerb change>> course to avoid the dense region of gas <<showFuelCost medium>>
<p>The region of dense nebula is vast, and it takes <<inlineLoseFuel "a long engine burn" medium>> to adjust the <<shipName>>'s course to avoid it. Once the manoeuvre is complete, however, the ship emerges into a clear region of space that grants <<theExplorers>> a spectacular view of nebular clouds illuminated by starlight.</p>\n<<include [[Interplanetary Nebula Problem Complete Options]]>>
<p>The dense nebular region is larger than the initial scan had suggested, and even <<inlineLoseFuel "a long engine burn" medium>> does not take the <<shipName>> out of it. The vibration of the manoeuvre blinds the sensors further, so there is no warning before a small asteroid <<inlineDamageShip "punctures the hull" "collided with an asteroid while a nebula interfered with its sensors">>.</p>\n<<include [[Interplanetary Nebula Problem Complete Options]]>>
<p>\n\t<<if !$researchableUpgrades.includes("sUpgradeShipNebula")>><<opt "Interplanetary Nebula Problem Unlock Upgrade" "ePlanetaryScientist" "hard" "sUpgradeSuitsArmour">><</if>>\n\t<<nextEventLink>>\n</p>
<<name>> experiments with modifying the scanners to cope with nebular interference
<p><<fName>> analyses the sensor logs and performs an EVA to examine the sensors themselves, and eventually comes up with a set of possible modifications that could allow the sensors to compensate for nebular interference.</p>\n<<unlockUpgrade "sUpgradeShipNebula">>\n<p><<nextEventLink>></p>
<p><<fName>>'s experiment requires <<himher>> to take the scanners offline for several minutes while performing an EVA. Unfortunately, this means that <<theExplorers heshe>> <<eVerbpn have has>> no warning when the <<shipName>> drifts into another dense gas region and dust. Nothing hiding in this new region is large enough to damage the <<shipName>>, but <<fName>> is exposed outside the ship when a micrometeoroid <<inlineInjureCrewMember `"pierces "+TextUtils.hisher()+" suit"` "was hit\n by a micrometeoroid while performing an EVA inside a nebula">>.</p>\n<p><<nextEventLink>></p>
<<name>> uses experimental alien biology to put <<fName2>> in suspended animation
<p>It's a long shot, but it might be <<fName2>>'s only chance. <<fName>> has been studying possible interactions between human biology and the alien organisms that the <<shipName>> has discovered, and <<heshe>> <<verb thinks>> <<heshe>> might have found a way to induce a state of low-metabolism hibernation. <<fName2>> croaks <<hisher2>> consent before losing consciousness, and <<fName>> sets to work implementing <<hisher>> idea. After hours of frenzied preparations, <<heshe>> <<verb injects>> <<fName2>> with a modified alien microorganism and <<verb moves>> <<himher2>> to a jury-rigged stasis pod, then anxiously <<verb watches watch>> <<hisher2>> life signs on the medical monitor.</p>
<<include [[Invent Life Support Common]]>>\n<p><<fName2>>'s life signs fade to almost nothing--and then stay there, faint but stable. As long as <<fName2>> stays unconscious in the pod, <<hisher2>> condition will progress so slowly that <<heshe2>> should survive until the <<shipName>> returns to Chiron Base.</p>\n<<moveToLifeSupport2>>\n<<unlockUpgrade "sUpgradeLifeSupport">>\n<p><<nextEventLink>></p>
<<include [[Invent Life Support Common]]>>\n<p>For a while <<fName2>>'s life signs fade smoothly as <<fName>> had predicted, but then they become erratic. <<fName>> fights desperately to save <<fName2>>, modifying the stasis pod and injecting <<himher2>> with new strains of the organism, but eventually the miscalculated treatment combined with <<fName2>>'s original condition is fatal. <<fName>> is <<inlineDepressCrewMember "haunted">> by the knowledge that <<hisher>> failed experiment cost <<fName2>> <<hisher2>> life.</p>\n<<killCrewMember2 "died from a failed suspended animation experiment">>\n<p><<nextEventLink>></p>
<<set $eventTitle = "There's Nebula in this Coffee">>\n<p>PLACEHOLDER: Nebular gas somehow gets into the food fab.</p>\n<p>\n\n\n</p>\n\n\n\n/% \nRewards: PS data\nPenalties: crew get sick, ship damaged\n%/
<<set $eventTitle = "Collision Alert">>\n<p>An alarm blares in the cabin: an asteroid is bearing down on the <<shipName>>. Its low albedo meant that the sensors did not detect it until too late, and the sluggish interplanetary drive cannot provide enough acceleration to move the ship out of danger.</p>\n\n<p>\n\t<<opt "Interplanetary Obstacle Pilot" "ePilot" "medium" "sDamageLandingEngine">>\n\t<<opt "Interplanetary Obstacle Engineer" "eEngineer" "medium" "sDamageInterplanetaryEngine">>\n\t<<opt "Interplanetary Obstacle Brace" "" "hard">>\n</p>
The asteroid slams into the <<shipName>>, <<inlineDamageShip "tearing off chunks of its hull plating" "was hit by an asteroid">> and sending it spinning.
<<name>> uses the landing engines to nudge the <<shipName>> out of the asteroid's path <<showFuelCost tiny>>
The landing engines can produce more thrust over a short time than the interplanetary drive, but they are shut down for interplanetary journeys, and <<fName>> must race to reactivate them in time to avoid the collision.
<p><<include [[Interplanetary Obstacle Pilot Common]]>> The landing engines <<inlineLoseFuel "strain to move the ship" tiny>> after their cold start, but they succeed. The asteroid flashes safely past the <<shipName>>, and <<fName>> gently shuts the landing engines down and moves the ship back to its previous course.</p>\n<p><<nextEventLink>></p>
<p><<include [[Interplanetary Obstacle Pilot Common]]>> The landing engines <<inlineLoseFuel "move the ship" tiny>>, but not fast enough. <<include [[Interplanetary Obstacle Impact]]>></p>\n<p><<nextEventLink>></p>
<<name>> pushes the interplanetary drive past its limits <<showFuelCost small>>
<p>The <<shipName>>'s interplanetary ion drive was designed to provide a small but constant acceleration for weeks at a time, ideal for journeys between planets but ill-suited for unexpected course changes. <<fName>> disengages the drive's safeties and <<inlineLoseFuel "increases its power" small>>, hoping to get enough acceleration out of it to avoid the asteroid without shutting it down.</p>
<<include [[Interplanetary Obstacle Engineer Common]]>>\n<p>The ion drive's panel flashes with danger lights, but the drive smoothly accelerates the <<shipName>> until it is out of danger, and the asteroid flashes harmlessly past the ship. <<fName>> throttles the drive back to its safe level and begins repairing the damage caused by <<hisher>> manouvre.</p>\n<p><<nextEventLink>></p>
<<include [[Interplanetary Obstacle Engineer Common]]>>\n<p>The ion drive overloads and splutters out, leaving the <<shipName>> helpless. <<include [[Interplanetary Obstacle Impact]]>></p>\n<p><<nextEventLink>></p>
Brace for impact!
<p>The asteroid hits the <<shipName>>, but the hull withstands the impact. There is minor damage across the ship, but nothing that <<theExplorers>> can't repair.</p>\n<p><<nextEventLink>></p>
<p><<include [[Interplanetary Obstacle Impact]]>></p>\n<p><<nextEventLink>></p>
<<set $eventTitle = "Out of Fuel">>\n<p>The <<shipName>> does not have enough fuel for a direct journey back to the system's Gate. Emergency fuel reserves could be used to nudge the ship into a long orbit that will end up at the Gate, but the ship's life support reserves will not last that long.</p>\n\n<p>\n\t<<if $contextTraits.includesAny("ePilot","eMedic","eEngineer","sUpgradeLifeSupport")>>\n\t\t<<opt "Interplanetary OOF Pilot" "ePilot" "hard" "sDamageInterplanetaryEngine">>\n\t\t<<opt "Interplanetary OOF Medic" "eMedic" "hard" "sDamageLifeSupport">>\n\t\t<<opt "Interplanetary OOF Engineer" "eEngineer" "hard" "sDamageFabricator">>\n\t\t<<if $ship.upgrades.includes("sUpgradeLifeSupport")>>\n\t\t\t<<opt "Interplanetary OOF Stasis" "sUpgradeLifeSupport" "medium" "sDamageMedbay">>\n\t\t<</if>>\n\t<<else>>\n\t\t<<include [[Interplanetary OOF General Failure]]>>\n\t<</if>>\n</p>
<<name>> plots a daring gravity-assist course that will get the <<shipName>> to the Gate quickly with its remaining fuel
<p><<fName>> spends hours poring over computer simulations of the <<systemName>> system, testing different possible gravity-assist courses. At last <<heshe>> <<verb finds>> one that could work, although there will be almost no margin for error. <<HeShe>> <<verb programs>> the manoeuvres into the piloting system, and <<theExplorers x>> <<eVerbpn strap>> into the acceleration couches.</p>
<<include [[Interplanetary OOF Pilot Common]]>>\n<p>The moment comes. A hard engine burn depletes most of the <<shipName>>'s <<inlineLoseFuel "remaining fuel" 100>> to push it steeply down into <<starName>>'s gravity well, on a precise course to slingshot around the star and back out towards the Gate. The journey on limited rations is still uncomfortable, but <<theExplorerss>> supplies hold out until the <<shipName>> makes it home.</p>\n<<unlockAchievement "event_outcome_oof_success">>\n<p><<nextEventLink>></p>
<<include [[Interplanetary OOF Pilot Common]]>>\n<p>The moment comes. A hard engine burn depletes most of the <<shipName>>'s <<inlineLoseFuel "remaining fuel" 100>> to push it steeply down into <<starName>>'s gravity well, on a course to slingshot around the star and back towards the outer system. As the navigation system analyses the new course, however, it becomes clear that the ship has not gained enough momentum. <<fName>> is able to put the ship on a course that will eventually take it to the Gate, but it is now impossible for <<theExplorerss hisher>> supplies to last.</p>\n<<include [[Interplanetary OOF General Failure]]>>
<<name>> jettisons non-essential ship modules to lighten the ship
<p>The <<shipName>>'s designers gave its every system multiple redundancies, and tried to think of everything it could possibly need for a long journey far from any support. Now <<fName>> looks over the blueprints with the opposite mindset: what is the //minimum// ship that could get <<theExplorers himher>> to the Gate alive?</p>\n<p><<TheExplorers HeShe>> <<eVerbpn move>> what they need into the ship's microgravity core, and then <<fName>> jettisons the habitat ring and sends its detached segments spinning away. The landing gear follows, then the scanners and laboratories. What is left is a stripped-down husk of the <<shipName>>, just engines and a cramped habitat space--but it is light enough to reach the Gate with its remaining fuel.</p>\n<<unlockAchievement "event_outcome_oof_success">>\n<p><<nextEventLink>></p>
<p><<fName>> examines the <<shipName>>'s blueprints and ruthlessly strips away everything the <<theExplorers heshe>> could possibly do without. <<HeShe>> dons an EVA suit and goes around the ship releasing connections, sending the scanners, laboratories, and most of the habitat ring drifting way into space.</p>\n<p>Navigational calculations reveal that <<fName>> has shortened the <<shipName>>'s journey--but not by enough. The supplies will still not last long enough for <<theExplorers himher>> to reach the Gate.</p>\n<<include [[Interplanetary OOF General Failure]]>>
<<name>> looks for a medical way to make the supplies last longer
<p>\n<<if $crew.length==1>>\n\tAfter days experimenting with different treatment regimens, <<fName>> manages to slow <<hisher>> metabolism so that <<heshe>> <<verb consumes>> less food and oxygen. <<HeShe>> spends most of the long journey asleep, using <<hisher>> few waking hours each day to keep the ship on course through a haze of drug-dulled hunger. <<HeShe>> eventually weans <<himher>>self off the treatments for the approach to the Gate, and enjoys a full meal of the last of the food supplies before the wormhole takes <<himher>> home.\n<<else>>\n\tAfter days experimenting with different treatment regimens, <<fName>> manages to slow the explorers' metabolisms so that they consume less food and oxygen. They spend most of the long journey asleep, using their few waking hours each day to keep the ship on course through a haze of drug-dulled hunger. <<fName>> eventually weans them off the treatments for the approach to the Gate, and they enjoy a full meal of the last of the food supplies before the wormhole takes them home.\n<</if>>\n</p>\n<<unlockAchievement "event_outcome_oof_success">>\n<p><<nextEventLink>></p>
<p><<fName>> experiments with different treatment regimens in an attempt to slow the explorers' metabolisms so that they consume less food and oxygen, but nothing <<heshe>> <<verb does do>> makes enough difference.</p>\n<<include [[Interplanetary OOF General Failure]]>>
<<if $crew.length == 1>>\n\t<<nameX 0>> puts <<himherX 0>>self in a stasis pod for the journey\n<<else>>\n\t<<TheExplorers>> put themselves in stasis pods for the journey\n<</if>>
<<if $crew.length == 1>>\n\t<<set $selectedCrewMember = 0>>\n\t<p><<name>> turns the life support systems to minimum, enters the pod, and lets the stasis drugs take <<himher>>. For the next several years, the <<shipName>> follows the long, slow course back to the Gate, its automated systems waking occasionally to perform pre-programmed course adjustments.</p>\n\t<p>At last <<heshe>> <<verb comes>> back to consciousness to the smell of stale air from the long-dormant life support system and the sight of the Gate in the windows. <<HeShe>> <<verb is are>> weak and sickly after the time in stasis, and the <<shipName>> is creaking from years of flight without proper maintenance, but <<heshe>> <<verb is are>> still alive.</p>\n<<else>>\n\t<p>The explorers turn the life support systems to minumum, enter the pods, and let the stasis drugs take them. For the next several years, the <<shipName>> follows the long, slow course back to the Gate, its automated systems waking occasionally to perform pre-programmed course adjustments.</p>\n\t<p>At last the explorers come back to consciousness to the smell of stale air from the long-dormant life support system and the sight of the Gate in the windows. They are weak and sickly after the time in stasis, and the <<shipName>> is creaking from years of flight without proper maintenance, but everyone is still alive.</p>\n<</if>>\n<<unlockAchievement "event_outcome_oof_success">>\n<p><<nextEventLink>></p>
<<silently>><<randomCrewMember>><</silently>>\n<<if $crew.length == 1>>\n\t<p><<name>> turns the life support systems to minimum, enters the pod, and lets the stasis drugs take <<himher>>. For the next several years, the <<shipName>> follows the long, slow course back to the Gate, its automated systems waking occasionally to perform pre-programmed course adjustments.</p>\n<<else>>\n\t<p>The explorers turn the life support systems to minumum, enter the pods, and let the stasis drugs take them. For the next several years, the <<shipName>> follows the long, slow course back to the Gate, its automated systems waking occasionally to perform pre-programmed course adjustments.</p>\n<</if>>\n<<if $crew.length == 1>>\n\t<p>The <<shipName>> reaches the Gate, but <<fName>> does not awaken. Without a conscious crew member to maintain it, <<hisher>> pod has failed, and <<heshe>> <<verb has have>> died in <<hisher>> sleep. Uncontrolled, the <<shipName>> drifts past the Gate, carrying <<fName>>'s frozen into an elliptical orbit of <<starName>>.</p>\n<<elseif $crew.length == 2>>\n\t<p>The <<shipName>> reaches the Gate, and <<randomCrewMember2 not1>> awakens--but <<name>> does not. Without a conscious crew member to maintain it, <<hisher>> pod has failed, and <<heshe>> <<verb has have>> died in <<hisher>> sleep. <<fName2>> can only leave <<fName>>'s frozen body in the pod and pilot the <<shipName>> back to Chiron Base alone.</p>\n<<else>>\n\t<p>The <<shipName>> reaches the Gate, and all the explorers awaken--except for <<name>>. Without a conscious crew member to maintain it, <<hisher>> pod has failed, and <<heshe>> <<verb has have>> died in <<hisher>> sleep. The others can only leave <<fName>>'s frozen body in the pod and pilot the <<shipName>> back to Chiron Base.</p>\n<</if>>\n\n<<killCrewMember "died in a stasis pod failure">>\n<p><<nextEventLink>></p>
<<if $crew.length == 1>>\n\t<<set $selectedCrewMember = 0>>\n\t<p><<fName>> tries to make the remaining supplies last for the journey, but there are simply not enough, and <<heshe>> <<verb runs>> out of oxygen. Uncrewed, the <<shipName>> drifts past the Gate and settles into an elliptical orbit of <<starName>>.</p>\n\t<<killCrewMember "ran out of supplies">>\n\t<<nextEventLink>>\n<<else>>\n\t<p>The mathematics are irrefutable: the <<shipName>>'s supplies cannot keep all the explorers alive for the return journey. With one fewer explorer, however, <<if $crew.length==2>>the other one<<else>>the others<</if>> could make it.</p>\n\t<p>\n\t\t<<for _n = 0; _n < $crew.length; _n++>>\n\t\t\t<<capture _n>>\n\t\t\t\t@@.full-width-link;<<link `"<<nameX _n>> volunteers"` "Interplanetary OOF Sacrifice Volunteer">><<set $selectedCrewMember = _n>><</link>>@@\n\t\t\t<</capture>>\n\t\t<</for>>\n\t\t<<opt "Interplanetary OOF Sacrifice Lots">>\n\t</p>\n<</if>>
The explorers draw straws to see who dies
<p>Gathered silently in the <<shipName>>'s common area, the explorers cut <<= TextUtils.numberWord($crew.length)>> lengths of wire, one of them shorter than the others. One by one they take their straws, and <<randomCrewMember>> is left with the shortest. The explorers say their goodbyes, and then <<fName>> solemnly goes to the airlock and does what needs to be done.</p>\n\n<<killCrewMember `"drew the short straw when not everyone could make it back to the Gate"`>>\n<p><<nextEventLink>></p>
<<if $crew.length==2>>\n\t<p><<fName>> gets up and leaves the common area. <<randomCrewMember2 not1>> <<verb2 assumes>> that <<heshe>> <<verb wants>> to be alone to process the situation, until <<heshe2>> <<verb2 hears>> the sound of the airlock beginning to cycle.</p>\n\t<p><<fName2>> presses <<hisher2>> face against the airlock window and sees <<fName>> sitting against the outer door, already losing consciousness as the airlock pumps out the precious oxygen. <<fName2>> can only make eye contact and silently thank <<fName>> for <<hisher>> sacrifice, before the outer door opens and <<fName>> topples out into the void.</p>\n<<else>>\n\t<p><<fName>> gets up and leaves the common area. The others assume that <<heshe>> <<verb wants>> to be alone to process the situation, until they hear the sound of the airlock beginning to cycle.</p>\n\t<p>The remaining explorers crowd around the airlock window and see <<fName>> sitting against the outer door, already losing consciousness as the airlock pumps out the precious oxygen. The others can only make eye contact and silently thank <<fName>> for <<hisher>> sacrifice, before the outer door opens and <<fName>> topples out into the void.</p>\n<</if>>\n<<killCrewMember `"sacrificed "+TextUtils.genderSwitch($crew[$selectedCrewMember].traits, 'himself', 'herself', 'themself')+" so the others could make it back to the Gate"`>>\n<p><<nextEventLink>></p>
<<set $eventTitle = "Radiation Sickness Worsens">>\n<p><<crewMember2WithTrait "eRadiationSickness">> succumbs to a bout of intense nausea and vomiting. Medical scans indicate that <<hisher2>> radiation sickness is worsening, and the <<shipName>> does not have the medical resources to fully treat <<himher2>>.</p>\n\n<<if $crew.length == 1>>\n\t<<if $crew[$selectedCrewMember2].traits.count("eRadiationSickness") >= Traits["eRadiationSickness"].fatalNumber-1>>\n\t\t<p>With no one left to treat <<himher2>>, <<fName2>> dies alone in space.</p>\n\t\t<<killCrewMember2 "died from radiation sickness">>\n\t<<else>>\n\t\t<p>With no one left to treat <<himher2>>, <<fName2>> can only take painkillers as the radiation sickness <<inlineGiveCrewMember2Trait "continues to progress" "eRadiationSickness">>.</p>\n\t<</if>>\n\t<p><<nextEventLink>></p>\n<<else>>\n\t<p>\n\t<<opt "Interplanetary Radiation Sickness Worsens Medic" "eMedic not2" "medium" "sDamageMedbay sUpgradeFirstAid" "Interplanetary Radiation Sickness Worsens No Medic" "hard">>\n\t<<if $ship.upgrades.includes("sUpgradeLifeSupport")>>\n\t\t<<opt "Interplanetary Radiation Sickness Worsens Life Support" "sUpgradeLifeSupport">>\n\t<<elseif $discoveredTraits.psLife>>\n\t\t<<opt "Invent Life Support" "eBiologist not2" "medium" "sDamageMedbay sDamageBiolab">>\n\t<</if>>\n\t</p>\n<</if>>
<<name>> tries to treat <<himher2>>
<p><<fName>> puts together a cocktail of drugs that relieves <<fName2>>'s symptoms. It is only a temporary solution, but <<heshe>> <<verb hopes>> it will keep <<fName2>> alive and functioning until the <<shipName>> gets back to Chiron Base.</p>\n<p><<nextEventLink>></p>
<<if $crew[$selectedCrewMember2].traits.count("eAlienInfection") >= Traits["eAlienInfection"].fatalNumber-1>>\n\t<p><<fName>> does what <<heshe>> can, but <<fName2>>'s radiation sickness is too severe to be treated with the resources on board the <<shipName>>, and all <<fName>> can do is make <<hisher2>> last few hours more comfortable.</p>\n\t<<killCrewMember2 "died from radiation sickness">>\n<<else>>\n\t<p><<fName>> does what <<heshe>> can, but <<fName2>>'s radiation sickness is too severe to be treated with the resources on board the <<shipName>>, and all <<fName>> can do is relieve <<hisher2>> symptoms while the sickness <<inlineGiveCrewMember2Trait "continues to progress" "eRadiationSickness">>.</p>\n<</if>>\n<p><<nextEventLink>></p>
<<TheExplorers>> <<eVerb try tries>> to treat <<himher2>>
<p><<TheExplorers>> <<eVerb apply applies>> the cocktail of anti-radiation drugs provided with the <<shipName>>'s first aid kits. <<fName2>>'s energy gradually returns and the symptoms of radiation sickness subside for the time being.</p>\n<p><<nextEventLink>></p>
<<if $crew[$selectedCrewMember2].traits.count("eRadiationSickness") >= Traits["eRadiationSickness"].fatalNumber-1>>\n\t<p><<TheExplorers>> <<eVerb apply applies>> the cocktail of anti-radiation drugs provided with the <<shipName>>'s first aid kits, but <<fName2>>'s radiation sickness is too severe, and all they can do is relieve <<hisher2>> symptoms while <<heshe2>> <<verb2 slips>> away.</p>\n\t<<killCrewMember2 "died from radiation sickness">>\n<<else>>\n\t<p><<TheExplorers>> apply the cocktail of anti-radiation drugs provided with the <<shipName>>'s first aid kits, but <<fName2>>'s radiation sickness is too severe, and all they can do is relieve <<hisher2>> symptoms while the sickness <<inlineGiveCrewMember2Trait "continues to progress" "eRadiationSickness">>.</p>\n<</if>>\n<p><<nextEventLink>></p>
<<TheExplorers>> put <<fName2>> into medical stasis
<p>The stasis pod puts <<fName2>> into a deep sleep and slows the progress of the radiation sickness so that <<heshe2>> should survive until the <<shipName>> is back at Chiron Base.</p>\n<<moveToLifeSupport2>>\n<p><<nextEventLink>></p>
<<set $eventTitle = "Love in Outer Space">>\n<p>Working together in the cramped confines of the <<shipName>>, isolated from the rest of the human race, the explorers necessarily form strong bonds. Now, \n<<if $currentSystem.traits.includes("tNebula")>>\n\tamid the colourful clouds of the <<systemName>> nebula,\n<<elseif $currentSystem.traits.includes("tAsteroids")>>\n\tamid the crowded skies of the <<systemName>> system,\n<<else>>\n\tamid the alien stars of the <<systemName>> system,\n<</if>>\nthe bond between <<randomCrewMember>> and <<randomCrewMember2 not1>> begins blossoming into a romance. The Chiron Project does not forbid relationships between crew members, but they both know that interpersonal drama could interfere with their duties.</p>\n<p>\n\t<<opt "Interplanetary Romance Pursue" "" "medium">>\n\t<<opt "Interplanetary Romance Stop">>\n</p>
They try to make it work
/% One or the other of these two (randomly) gets inspired %/\n<p><<fName>> and <<fName2>> have plunged together into the danger and mystery of the Chiron Gate--what is a new relationship compared to that? They begin spending most of their off-duty time alone together, and soon move into shared quarters.\n<<if random(0,1)==0>><<set $selectedCrewMember = $selectedCrewMember2>><</if>>\nThey are both professional enough not to let their new relationship interfere with their duties, and <<name>> in particular <<inlineInspireCrewMember "draws strength">> from their connection.</p>\n<<unlockAchievement "event_outcome_romance">>\n<p><<nextEventLink>></p>
<p><<fName>> and <<fName2>> move into shared quarters and begin spending all of their off-duty time together. At first things go well, but after a few days their personalities begin to clash in ways they didn't when they were just colleagues, and the relationship ends messily. They move back into separate quarters, but the <<shipName>>'s cramped habitat ring does not give them space to avoid one another, and the simmering resentment affects <<inlineDepressCrewMember "both">> their <<inlineDepressCrewMember2 "work">>.</p>\n<p><<nextEventLink>></p>
They keep things professional
<p>The mission comes first. <<fName>> and <<fName2>> will be able to pursue a relationship once they are both back at Chiron Base, but for now they mutually decide not to risk endangering their friendship--and possibly the mission--by trying to make it into more.</p>\n<p><<nextEventLink>></p>
/% Find the star with the flares trait %/\n<<set _flareStars = []>>\n<<for _n = 0; _n < $currentSystem.stars.length; _n++>>\n\t<<if $currentSystem.stars[_n].traits.includes("tSolarFlares")>>\n\t\t<<set _flareStars.push(_n)>>\n\t<</if>>\n<</for>>\n<<if _flareStars.length == 0>>\n\t<<run console.error("Interplanetary Solar Flare ran but no stars had tSolarFlares trait!")>>\n\t<<set _flareStars = [0]>>\n<</if>>\n<<set _star = oneOf(_flareStars)>>\n\n<<set $eventTitle = "Stellar Flare">>\n<p><<bestPlanetaryScientist>> notices an energy surge from the star <<starName _star>>, indicating the beginning of a powerful stellar flare. The current readings show only the leading edge of the radiation wave--within hours the <<shipName>> will be bombarded with more radiation than its shielding can handle, putting both its systems and <<theExplorers>> at risk.</p>\n<p>\n\t<<opt "Interplanetary Solar Flare Protect Ship Engineer" "eEngineer" "medium" "sUpgradeAntiRadiation sUpgradeShipRadiationShielding sDamageFabricator" "Interplanetary Solar Flare Protect Ship No Engineer" "hard">>\n\t<<opt "Interplanetary Solar Flare Protect Crew Medic" "eMedic" "medium" "sUpgradeAntiRadiation sUpgradeShipRadiationShielding sDamageMedbay" "Interplanetary Solar Flare Protect Crew No Medic" "hard">>\n</p>
<<name>> braves the radiation to reinforce the shielding protecting the <<shipName>>'s systems
<p><<fName>> has ship's fabricator print thick panels of temporary radiation shielding, and performs an EVA to attach them to the hull to protect the most vulnerable ship systems. <<HisHer>> radiation monitor ticks up alarmingly, but <<heshe>> <<verb finishes finish>> quickly and <<verb takes>> shelter behind the <<shipName>>'s fuel tanks when the radiation hits. The improvised shielding is too unwieldy to stay on the ship during navigational manoeuvres, but it has protected the critical systems from the flare, and <<fName>>'s radiation dose is within safe limits.</p>\n<<include [[Interplanetary Solar Flare Complete Options]]>>
<p><<fName>> has ship's fabricator print temporary radiation shielding panels to attach to the outside of the ship, but the EVA to move the unwieldy panels into place is more difficult than <<heshe>> had anticipated. <<HeShe>> at last <<verb attaches attach>> the last panel, but by that time it is too late to get to safety before the flare hits. Charged particles suffuse the space around the <<shipName>>, blocked by <<fName>>'s shielding but <<inlineGiveCrewMemberTrait "tearing through" "eRadiationSickness">> <<hisher>> body.</p>\n<<include [[Interplanetary Solar Flare Complete Options]]>>
<<TheExplorers>> <<eVerb prioritise>> protecting the ship's systems
<p><<TheExplorers>> <<eVerb use>> the ship's fabricator to print temporary radiation shielding panels to reinforce the shielding surrounding the <<shipName>>'s core systems. Installing them requires an EVA, however, putting <<theExplorers himher>> on the exposed exterior of the ship as the radiation level climbs. The panels hold and the <<shipName>>'s systems are protected, but medical scans afterwards reveal that <<randomCrewMember>> has been subject to <<inlineGiveCrewMemberTrait "too much radiation" "eRadiationSickness">>.</p>\n<<include [[Interplanetary Solar Flare Complete Options]]>>
<p><<TheExplorers>> <<eVerb use>> the ship's fabricator to print temporary radiation shielding panels to reinforce the shielding surrounding the <<shipName>>'s core systems, and <<eVerb perform>> an EVA to attach them. Unfortunately, the flare hits too quickly for <<them>> to attach them unwieldy panels in time. Not only does a dangerous amount of radiation <<inlineDamageShip "penetrate the shielding" "was destroyed by a stellar flare">>, but <<randomCrewMember>> is caught outside the ship and receives a <<inlineGiveCrewMemberTrait "dangerous dose" "eRadiationSickness">>.</p>\n<<include [[Interplanetary Solar Flare Complete Options]]>>
<<name>> makes sure <<theExplorers heshe>> <<eVerbpn suffer>> no ill effects
<p><<fName>> administers anti-radiation treatments, buying <<theExplorers himher>> more time to secure the ship's systems against the flare before the radiation forces <<them>> to retreat. <<TheExplorers HeShe>> eventually <<eVerbpn crawls>> into a narrow space surrounded by fuel tanks and fabricator feedstock at the heart of the ship and <<eVerbpn wait>> until the radiation level returns to normal. Medical scans confirm that <<if $crew.lengh>1>>no one has received a dangerous dose<<else>><<fName>>'s radiation exposure is within the safe limit<</if>>, and the <<shipName>>'s damage control systems report that all is well.</p>\n<<include [[Interplanetary Solar Flare Complete Options]]>>
<p><<TheExplorers>> <<eVerb crawl>> into the most protected part of the <<shipName>>, a narrow space surrounded by fuel tanks and fabricator feedstock, and <<fName>> monitors them and administers treatments as necessarily while radiation bombards the ship. <<fName>>'s diligence protects <<theExplorers himher>> from harm, but the flare <<inlineDamageShip "damages" "was destroyed by a stellar flare">> one of the <<shipName>>'s systems.</p>\n<<include [[Interplanetary Solar Flare Complete Options]]>>
<<TheExplorers>> <<eVerb take>> shelter in the most protected part of the ship
<p><<TheExplorers>> <<eVerb crawl>> into the most protected part of the <<shipName>>, a narrow space surrounded by fuel tanks and fabricator feedstock, and wait for the stellar flare to pass. The density of the surrounding material protects <<them>>, but the delicate systems near the ship's surface have no such protection. Eventually the radiation dies down and <<theExplorers>> <<eVerb emerge>> to survey the <<inlineDamageShip "damage" "was destroyed by a stellar flare">>.</p>\n<<include [[Interplanetary Solar Flare Complete Options]]>>
<p><<TheExplorers>> <<eVerb crawl>> into the most protected part of the <<shipName>>, a narrow space surrounded by fuel tanks and fabricator feedstock, but even that fails to provide complete protection from the flare. Medical scans confirm that <<randomCrewMember>> has received a <<inlineGiveCrewMemberTrait "dangerous dose" "eRadiationSickness">> of radiation, while the flare has <<inlineDamageShip "damaged the ship" "was destroyed by a stellar flare">>.</p>\n<<include [[Interplanetary Solar Flare Complete Options]]>>
<p>\n\t<<if !$researchableUpgrades.includes("sUpgradeShipRadiationShielding")>><<opt "Interplanetary Solar Flare Unlock Upgrade" "eEngineer" "hard" "sUpgradeAntiRadiation">><</if>>\n\t<<nextEventLink>>\n</p>
<<name>> performs an EVA to examine the performance of the shielding in the aftermath of the radiation
<p>Once the flare is over, <<fName>> spacewalks along the <<shipName>>'s hull, taking readings and samples from the radiation-saturated shielding. <<HeShe>> <<verb makes>> preliminary notes about <<hisher>> findings, which should give Chiron Base's scientists a starting point to develop more resilient radiation shielding for the <<shipName>>.</p>\n<<unlockUpgrade "sUpgradeShipRadiationShielding">>\n<p><<nextEventLink>></p>
<p><<fName>> spacewalks along the <<shipName>>'s hull, taking readings and samples from the radiation-saturated shielding. Unfortunately, the stellar flare was not over, but only in a lull, and the radiation level abruptly rises again. <<fName>> hurries back to the airlock, but medical scans indicate that <<heshe>> <<verb has have>> received a <<inlineGiveCrewMemberTrait "dangerous dose of radiation" "eRadiationSickness">>.</p>\n<p><<nextEventLink>></p>
<<set $eventTitle = "Wormhole Sickness Resolves">>\n<p><<crewMemberWithTrait "eWormholeSickness">> recovers from <<hisher>> <<inlineRemoveCrewMemberTrait "wormhole sickness" eWormholeSickness>>.</p>\n<p><<nextEventLink>></p>
<<set $eventTitle = "Recovery">>\n<p>The terrestrial illness affecting <<crewMemberWithTrait "eTerrestrialInfection">> has run its course, and <<heshe>> <<is>> <<inlineRemoveCrewMemberTrait "fully recovered" eTerrestrialInfection>>.</p>\n<p><<nextEventLink>></p>
<<set $eventTitle = "Wax Wings">>\n<p>As the <<shipName>> spirals inwards towards the orbit of <<planetName>>, its hull begins to glow under the radiation from\n<<if $currentSystem.stars.length == 1>>\n\t<<= $currentSystem.stars[0].name>>.\n<<else>>\n\tthe system's <<= TextUtils.numberWord($currentSystem.stars.length)>> stars.\n<</if>>\nWarning lights flicker orange and then red as systems approach their heat tolerances, and the air in the habitat module becomes stuffy as the environmental systems struggle to keep <<theExplorers>> cool.</p>\n<p>\n\t<<opt "Interplanetary Sunshine Abort" "" "easy" "sDamageInterplanetaryEngine sUpgradeShipRadiationShielding">>\n\t<<opt "Interplanetary Sunshine Engineer" "eEngineer" "medium" "sDamageFabricator sUpgradeSuitsHot">>\n\t<<opt "Interplanetary Sunshine Shelter" "" "medium" "sUpgradeShipRadiationShielding">>\n</p>
/% Find first planet in system that isn't very close to star and isn't a moon %/\n/% If there is no such planet (which should never happen, since the wormhole counts), we don't change course %/\n<<for _p = 1; _p < $currentSystem.planets.length; _p++>>\n\t<<if !$currentSystem.planets[_p].traits.includesAny("pIsMoon","pCloseOrbit")>>\n\t\t<<set $planetNumber = _p>>\n\t\t<<set $destinationPlanet = _p>>\n\t\t<<break>>\n\t<</if>>\n<</for>>
<<TheExplorers>> <<eVerb abort>> the journey and <<eVerb move>> the <<shipName>> to a safer orbit <<showFuelCost medium>>
<<include [[Interplanetary Sunshine Abort Pick New Destination]]>>\n<p><<TheExplorers>> <<eVerb rotate>> the <<shipName>> to reposition its interplanetary engine for the course change, and a <<inlineLoseFuel "hard engine burn" medium>> cancels its inward momentum and sets it into a widening orbit. The ship's structure creaks and groans under the changing angle of stellar radiation, but the ship holds together, and the eventually enters a safe, cool orbit of <<planetName>>.</p>\n<p><<nextEventLink>></p>
<<include [[Interplanetary Sunshine Abort Pick New Destination]]>>\n<p>Putting the <<shipName>> on a new course means rotating it to reposition the interplanetary engine, which subjects the ship's structure to new thermal stresses as the angle of stellar radiation changes. When <<theExplorers>> <<eVerb begin>> the <<inlineLoseFuel "hard engine burn" medium>> to put the ship on its new course, part of that structure <<inlineDamageShip "finally gives out" "flew too close to a hot star">>. The ship eventually comes into orbit of <<planetName>>, scorched and melted from its close encounter with\n<<if $currentSystem.stars.length == 1>>\n\t<<= $currentSystem.stars[0].name>>.\n<<else>>\n\tthe <<= TextUtils.numberWord($currentSystem.stars.length)>> stars.\n<</if>>\n</p>\n<p><<nextEventLink>></p>
<<name>> builds a heat shield to protect the <<shipName>>
<p><<fName>> has the fabricator extrude hexagonal panels of ablative shielding material, and spacewalks to assemble these into a heat shield large enough to protect the <<shipName>>. By the time <<heshe>> <<verb gets>> back into the airlock <<heshe>> <<is>> exhausted and dripping with sweat, but <<heshe>> fully <<verb recovers>> in the medbay, and the ship begins to cool as the heat shield takes the brunt of\n<<if $currentSystem.stars.length == 1>>\n\t<<= $currentSystem.stars[0].name>>'s\n<<else>>\n\tthe <<= TextUtils.numberWord($currentSystem.stars.length)>> stars'\n<</if>>\nradiation.</p>\n<p><<nextEventLink>></p>
<p><<fName>> has the fabricator extrude hexagonal panels of ablative shielding material, and spacewalks to assemble these into a heat shield large enough to protect the <<shipName>>. Some of the panels prove to be //too// ablative, however, and disintegrate in <<hisher>> hands as <<heshe>> <<verb slots>> them into place, accidentally exposing <<himher>> to the direct glare of \n<<if $currentSystem.stars.length == 1>>\n\t<<= $currentSystem.stars[0].name>>.\n<<else>>\n\tthe stars.\n<</if>>\n<<HeShe>> <<verb finishes finish>> the heat shield and <<verb makes>> it back to the airlock, but immediately collapses from <<inlineInjureCrewMember "heatstroke" "died from heatstroke while assembling a heat shield">>.</p>\n<p><<nextEventLink>></p>
<<TheExplorers>> <<eVerb shelter>> in the most insulated part of the ship
<p><<TheExplorers>> <<eVerb direct>> the environmental system to focus its cooling on the most insulated part of the <<shipName>>, and <<eVerb take>> shelter there while the autopilot guides the ship deeper into \n<<if $currentSystem.stars.length == 1>>\n\tthe star's\n<<else>>\n\tthe stars'\n<</if>>\nsearing gravity well. Eventually the ship comes into orbit of \n<<if $currentSystem.planets[$destinationPlanet].traits.includes("pBelt")>>\n\ta large belt body\n<<else>>\n\t<<planetName>>\n<</if>>\nand gets some respite from the heat in its shadow, and <<theExplorers>> <<eVerb emerge>> from their shelter.</p>\n<p><<nextEventLink>></p>
<p><<TheExplorers>> <<eVerb direct>> the environmental system to focus its cooling on the most insulated part of the <<shipName>>, and <<eVerb take>> shelter there while the autopilot guides the ship deeper into \n<<if $currentSystem.stars.length == 1>>\n\t<<= $currentSystem.stars[0].name>>'s\n<<else>>\n\tthe <<= TextUtils.numberWord($currentSystem.stars.length)>> stars'\n<</if>>\nsearing gravity well. Taking shelter in this way protects <<theExplorers>>, but <<they>> <<are>> unable to prevent the heat from <<inlineDamageShip "damaging the ship" "flew too close to a hot star">>.</p>\n<p><<nextEventLink>></p>
<<set $eventTitle = "Missile Attack">>\n<<revealPlanetTrait "psCiv">>\n<p>Several objects rise from <<planetName>> to greet the <<shipName>>. Scans indicate that they are <<printDesc "&missiles with explosive warheads==psCiv&">>.</p>\n\n<p>\n<<opt "Landing Missile Attack Pilot" "ePilot" "medium" "sDamageLandingEngine" "Landing Missile Attack No Pilot" "hard">>\n<<opt "Landing Missile Attack Engineer" "eEngineer" "medium">>\n<<opt "Landing Missile Attack Xenologist" "eXenologist" "hard" "sUpgradeTranslator">>\n<<opt "Landing Missile Attack Retreat" "" "easy" "sDamageLandingEngine">>\n</p>
<<name>> attempts to evade the missiles <<showFuelCost tiny>>
<p><<fName>> puts the <<shipName>> into a steep dive followed by <<inlineLoseFuel "a series of gut-wrenching turns" tiny>>. The missiles whip past and try to reacquire their target, but <<fName>> outmanoeuvres them and they eventually run out of fuel and fall back towards the <<planetNoun>>'s surface. <<fName>> quickly puts the horizon between the <<shipName>> and their attacks before they fire again.</p>\n<p><<nextEventLink>></p>
<p><<fName>> puts the <<shipName>> through <<inlineLoseFuel "gut-wrenching dives and corkscrews" tiny>>, but the missiles are just more manoeuvrable. One of them <<inlineDamageShip "explodes" "was destroyed by a missile attack">> just beside the <<shipName>>, and <<fName>> barely manages to set down safely.</p>\n<p><<nextEventLink>></p>
<<name>> improvises countermeasures to confuse the missiles' guidance systems
<p>Not knowing how the missiles track their target, <<fName>> improvises every countermeasure <<heshe>> can think of: electronic jamming, infra-red flares, and even glittering chaff made from scrap metal. One of them must have worked, as the missiles veer off course and explode behind the <<shipName>>. The <<shipName>> finds a landing site well away from the missiles' origin point.</p>\n<p><<nextEventLink>></p>
<p><<fName>> improvises every countermeasure <<heshe>> can think of--electronic jamming, infra-red flares, and even glittering chaff made from scrap metal--but the missiles remain stubbornly on course. One of them <<inlineDamageShip "explodes" "was destroyed by a missile attack">> next to the <<shipName>>, and the damaged ship barely manages to set down safely.</p>\n<p><<nextEventLink>></p>
<<name>> contacts the ground tries to convince the attackers to call off the missiles
<p>There is no chance for <<fName>> to establish real communications before the missiles hit, but <<heshe>> <<verb broadcasts>> greeting messages towards the surface that <<heshe>> <<verb hopes>> will convey that <<theExplorers heshe>> <<eVerb are>> intelligent and not hostile. One of them must have changed the attackers' minds, as the missiles veer off just before they hit the <<shipName>>.</p>\n<p><<nextEventLink>></p>
<p>There is no chance for <<fName>> to establish real communications before the missiles hit, but <<heshe>> <<verb broadcasts>> greeting messages towards the surface that <<heshe>> <<verb hopes>> will convey that <<theExplorers heshe>> <<eVerb are>> intelligent and not hostile. Sadly, whoever launched the missiles either doesn't understand the messages or doesn't care, and the missiles stay on target and <<inlineDamageShip "explode" "was destroyed by a missile attack">> close to the <<shipName>>. The attackers remain silent as the damaged ship impacts the ground.</p>\n<p><<nextEventLink>></p>
<<TheExplorers>> <<eVerb retreat>> back to high orbit
<p><<bestPilot>> opens up the throttle of the landing engine and the <<shipName>> climbs back to high orbit. The missiles eventually run out of fuel and fall away below.</p>\n<<hazardEscapeToOrbit>>
<p>The <<shipName>> climbs towards high orbit, but not quickly enough to outrun the missiles, one of which <<inlineDamageShip "explodes" "was destroyed by a missile attack">> close to the <<shipName>>'s tail.</p>\n<<hazardEscapeToOrbit>>
<<TheExplorers>> <<eVerb attempt>> to evade the missiles <<showFuelCost tiny>>
<p>The autopilot was not designed for <<inlineLoseFuel "combat manouevres" tiny>>, but it seems that neither were the missiles' guidance systems designed to lock on to a ship like the <<shipName>>. The confused missiles veer off into the sky, and the <<shipName>> sets down a safe distance from their origin.</p>\n<p><<nextEventLink>></p>
<p>The autopilot was not designed for <<inlineLoseFuel "combat manouevres" tiny>>, and responds to the objects as if they are asteroids rather than guided missiles. One of them <<inlineDamageShip "explodes" "was destroyed by a missile attack">> next to the <<shipName>>, and the damaged ship barely manages to set down safely.</p>\n<p><<nextEventLink>></p>
<<set $eventTitle = "Molten Surface">>\n<p><<planetName>>'s entire surface is covered by an ocean of molten lava. As the <<shipName>> descends, the dully glowing red orb of the <<planetNoun>> stretches out into a bubbling, spitting hellscape, and temperature warning lights blink on in the control room.</p>\n\n<p>\n<<opt "Landing Lava Ocean Planetary Scientist" "ePlanetaryScientist" "hard" "sDamageLandingEngine">>\n<<opt "Landing Lava Ocean Engineer" "eEngineer" "medium" "sDamageLandingEngine sDamageFabricator" "Landing Lava Ocean Trust" "hard">>\n<<opt "Landing Lava Ocean Abandon">>\n</p>
<<name>> looks for an area of surface cool enough to land on
<<set $suppressLandingFlavourText = true>>\n<p><<fName>> identifies an area where geological forces have created a thick crust of mostly solid rock above the lava, which <<heshe>> <<verb judges>> is sturdy enough to support the <<shipName>>. The <<shipName>>'s landing gear sinks into the semi-solid rock, but the platform and the ship's heat shielding both hold.</p>\n<<unlockAchievement "event_outcome_molten_landing">>\n<p><<nextEventLink>></p>
<<set $suppressLandingFlavourText = true>>\n<p><<fName>> directs the <<shipName>> towards an area where a crust of solid rock has formed on the top of the ocean, but when the <<shipName>> sets down its landing gear pushes through the crust and into the lava beneath. The crust takes enough of the ship's weight to stop it from sinking, but the intense heat of the landing <<inlineDamageShip "damages it" "sank into an ocean of molten lava" sDamageLandingEngine>>.</p>\n<p><<nextEventLink>></p>
<<name>> creates a heat shield sturdy enough for the <<shipName>> to rest on
<<set $suppressLandingFlavourText = true>>\n<p>The <<shipName>> already has heat shielding to protect it from re-entry friction, and one of the fabricator's main jobs is to repair this heat shielding when it is damaged. <<fName>> adapts this design and has the fabricator extrude a thick platform of insulated material, which splashes down into the lava ocean and floats there. Once <<theExplorers heshe>> <<eVerbpn have has>> determined that the platform is stable, the <<shipName>> gently touches down <<fName>>'s artificial island.</p>\n<<unlockAchievement "event_outcome_molten_landing">>\n<p><<nextEventLink>></p>
<<set $suppressLandingFlavourText = true>>\n<p>The <<shipName>> already has heat shielding to protect it from re-entry friction, and one of the fabricator's main jobs is to repair this heat shielding when it is damaged. <<fName>> adapts this design and has the fabricator extrude a thick platform of insulated material, which splashes down into the lava ocean. Even this cannot survive the heat, however, and <<theExplorers heshe>> <<eVerbpn watch watches>> as it breaks up and sinks into the molten rock. If even a specially-designed heat shield cannot survive <<planetName>>'s surface, the <<shipName>> has no chance, so <<theExplorers>> <<eVerb abandon>> the landing and <<inlinePreventLanding "return to the safety of orbit">>.</p>\n<<hazardEscapeToOrbit>>
<<TheExplorers>> <<eVerb land>> in the lava ocean, trusting the <<shipName>>'s heat shiedling to protect it
<<set $suppressLandingFlavourText = true>>\n<p>The <<shipName>>'s designers back at Chiron Base would have thrown a fit if they knew what <<theExplorers>> <<eVerb were was>> putting their creation through, but the heat shielding miraculously holds as the ship touches down in the lava ocean and floats there.</p>\n<<unlockAchievement "event_outcome_molten_landing">>\n<p><<nextEventLink>></p>
<<set $suppressLandingFlavourText = true>>\n<p>The <<shipName>> is still a hundred metres from the <<planetNoun>>'s surface when the intense heat causes its structure to <<inlineDamageShip "buckle" "sank into an ocean of molten lava">>. <<TheExplorers>> <<eVerb struggle>> to regain control of the ship and ascend back to orbit, <<their>> plans to land on <<planetName>> <<inlinePreventLanding "abandoned">>.</p>\n<<hazardEscapeToOrbit>>
<<TheExplorers>> <<eVerb abandon>> the landing and return to orbit
<p><<TheExplorers>> <<eVerb decide>> that the molten surface makes landing on <<planetName>> is <<inlinePreventLanding "impossible">>. The <<shipName>> rises from the hellish landscape and returns to the safety of orbit.</p>\n<<hazardEscapeToOrbit>>
<<set $eventTitle = "No Place to Land">>\n<p>As the <<shipName>> descends from orbit, <<planetName>>'s craggy surface unfolds with fractal complexity. Areas that looked relatively flat from high altitude prove to be covered in cracks and ridges that look too uneven for the ship's landing gear to cope with.</p>\n\n<p>\n<<opt "No Landing Site Pilot" "ePilot" "medium" "sDamageLandingEngine" "No Landing Site Autopilot" "medium">>\n<<opt "No Landing Site Abandon">>\n</p>
<<name>> attempts to set the <<shipName>> down despite the craggy terrain
<<set $suppressLandingFlavourText = true>>\n<p><<name>> finds a mostly flat area just barely large enough for the <<shipName>>'s landing legs, and manages to set the ship down.</p>\n<<include [[No Landing Site Complete Options]]>>
<<set $suppressLandingFlavourText = true>>\n<p><<name>> brings the <<shipName>> down carefully, but the landing gear scrapes against the surface and the ship <<inlineDamageShip "slides down a rough slope" "crashed due to an uneven surface">> before eventually coming to a lopsided rest.</p>\n<<include [[No Landing Site Complete Options]]>>
<<TheExplorers>> <<eVerb trust>> the autopilot to set the ship down
<<set $suppressLandingFlavourText = true>>\n<p><<TheExplorers>> <<eVerb wait>> anxiously, but the ground proves not to be as uneven as it appeared from above, and the autopilot manages to find a flat enough area. The <<shipName>> comes to a rest leaning at a noticeable angle, but otherwise safe.</p>\n<<include [[No Landing Site Complete Options]]>>
<<set $suppressLandingFlavourText = true>>\n<p>The autopilot locates an area that appears flat and stable, but the <<shipName>>'s landing gear slips and the ship <<inlineDamageShip "slides down a rough slope" "crashed due to an uneven surface">> before coming to a rest.</p>\n<<include [[No Landing Site Complete Options]]>>
<<TheExplorers>> <<eVerb abandon>> the landing and return to orbit
<p>The inaccessible landscape recedes in the viewscreens as the <<shipName>> <<inlinePreventLanding "returns to orbit">>.</p>\n<<hazardEscapeToOrbit>>
<p>\n\t<<if !$researchableUpgrades.includes("sUpgradeShipLandingGear")>><<opt "No Landing Site Unlock Upgrade" "eEngineer" "hard">><</if>>\n\t<<nextEventLink>>\n</p>
<<name>> experiments with modifying the <<shipName>>'s landing legs to cope with uneven surfaces
<p>Prototypes of the <<shipName>>'s landing legs were of course tested on a variety of planets and moons in Earth's solar system, but nothing compares to study of how they perform on an unknown planet. <<fName>> walks around the base of the precariously balanced ship, examining how the wide, flat feet of the landing legs rest on <<planetName>>'s <<surfaceAdj>> surface. It will take data from more planets to complete the work, but <<heshe>> <<verb begins>> to see how the landing legs could be made more adaptable.</p>\n<<unlockUpgrade "sUpgradeShipLandingGear">>\n<p><<nextEventLink>></p>
<p>Prototypes of the <<shipName>>'s landing legs were of course tested on a variety of planets and moons in Earth's solar system, and computer models on thousands more, but nothing compares to study of how they perform on an actual alien planet. <<fName>> walks around the base of the precariously balanced ship, examining how the wide, flat feet of the landing legs rest on <<planetName>>'s <<surfaceAdj>> surface. As <<heshe>> <<verb does do>> so, however, one of the feet slips slightly--not enough to endanger the <<shipName>>, but enough to knock <<fName>> off <<hisher>> feet and send <<himher>> <<inlineInjureCrewMember "tumbling down a slope" "killed in an accident while trying to improve the ship's landing gear">>.</p>\n<p><<nextEventLink>></p>
<<set $eventTitle = "Radio Contact">>\n<<revealPlanetTrait "psCiv" "cNotExtinct">>\n<<revealNativeCivTrait "cNotExtinct">>\n<<discoverNativeCiv>>\n<p>As the <<shipName>> begins its counter-orbit burn, its sensors detect a <<printDesc "&radio signal==psCiv&">> being deliberately <<printDesc "&beamed==cNotExtinct&">> at it from the <<planetNoun>>'s surface.</p>\n\n<p>\n<<opt "Landing Radio Contact Xenologist" "eXenologist" "medium" "sUpgradeTranslator" "Landing Radio Contact No Xenologist" "hard">>\n<<opt "Landing Radio Contact Ignore" "" "medium">>\n<<opt "Landing Radio Contact Retreat">>\n</p>
The <<shipName>> remains in orbit while <<name>> establishes communications
<p><<fName>> transmits the interspecies greetings that the Chiron Project's Xenology Division designed for this situation. After a lot of back-and-forth between the orbiting <<shipName>> and the <<planetNoun>>'s inhabitants, <<heshe>> <<verb establishes>> basic communications.</p>\n<<include [[Landing Radio Contact Success Common]]>>
<<set $civilisations[$currentSystem.planets[$planetNumber].nativeCiv].knownTraits.pushUnique("cKnowName")>>\n<<set $civilisations[$currentSystem.planets[$planetNumber].nativeCiv].traits.pushUnique("cKnowName")>>\n<<set $currentSystem.planets[$planetNumber].traits.pushUnique("cKnowName")>>\n\n<p>The natives introduce themselves as the <span class="keyword"><<civname>><<civNameTooltip $currentSystem.planets[$planetNumber].nativeCiv>></span>, and invite the <<shipName>> to land at a particular set of coordinates so that they can establish proper communications.</p>\n<p><<nextEventLink>></p>
<p><<fName>> pores over the signal looking for meaning, and transmits the interspecies greetings that the Chiron Project's Xenolinguistics Division designed for just this situation, but <<hisher>> attempts to establish communications are fruitless.</p>\n<p>\n<<opt "Landing Radio Contact Ignore" "" "medium">>\n<<opt "Landing Radio Contact Retreat">>\n</p>
The <<shipName>> remains in orbit while <<theExplorers>> <<eVerb attempt>> to establish communications
<p><<TheExplorers>> <<eVerb transmit>> the interspecies greetings that the Chiron Project's Xenology Division designed for this situation. The aliens appear to understand the greeting, and respond with a longer message. After a lot of back-and-forth between the orbiting <<shipName>> and the <<planetNoun>>'s inhabitants, the aliens manage to teach <<theExplorers>> a rudimentary version of their language.</p>\n<<include [[Landing Radio Contact Success Common]]>>
<p><<TheExplorers>> <<eVerb transmit>> the interspecies greetings that the Chiron Project's Xenology Division designed for this situation, the aliens show no signs of understanding it and their follow-up message is similarly incomprehensible. There is no way of telling whether it is an invitation to land, a warning to stay away, or something else.</p>\n<p>\n<<opt "Landing Radio Contact Ignore" "" "medium">>\n<<opt "Landing Radio Contact Retreat">>\n</p>
<<TheExplorers>> ignore the transmission and continue with the landing
<<include [[Landing Missile Attack]]>>
<p>The <<shipName>> continues to descend towards the planned landing site, and eventually the transmission stops.</p>\n<p><<nextEventLink>></p>
<<TheExplorers>> <<eVerb abort>> the landing
<p>Not knowing what the message says, <<theExplorers>> <<eVerb decide>> that it is safer <<inlinePreventLanding "not to approach">> the <<planetNoun>>.</p>\n\n<<hazardEscapeToOrbit>>
<<set $eventTitle = "Wind Vortex">>\n<p>The <<shipName>> is caught in a powerful wind vortex, which throws it around with such force that it is in danger of being shaken apart or\n<<if $currentSystem.planets[$planetNumber].traits.includes("pSurfaceGiant")>>\n\tsucked into the crushing depths of the gas giant's atmosphere.\n<<else>>\n\tdashed against the <<surfaceAdj>> surface.\n<</if>></p>\n<p>\n<<opt "Wind Vortex Pilot" "ePilot" "medium" "sDamageLandingEngine" "Wind Vortex Autopilot" "medium">>\n<<opt "Wind Vortex Planetary Scientist" "ePlanetaryScientist" "medium" "sDamageLandingEngine">>\n<<opt "Wind Vortex Escape" "" "easy" "sDamageLandingEngine">>\n</p>
<<name>> flies the ship through the storm <<showFuelCost tiny>>
<p><<name>> takes full manual control of the <<shipName>> and <<inlineLoseFuel "throws it into the wind currents" tiny>>, expertly judging when to ride out the rushing winds and when to wrestle against them. The engines strain in protest, and <<theExplorers>> <<are>> thrown violently around in <<their>> straps, but <<fName>> manages to maintain control until the vortex dies down and the sky becomes clear again.</p>\n<<include [[Wind Vortex Complete Options]]>>
<p><<fName>> takes full manual control of the <<shipName>> and <<inlineLoseFuel "throws it into the wind currents" tiny>>, but the storm proves too unpredictable for <<himher>>, and the ship is pulled into a down-draft too powerful to escape.</p>\n\n<<include [[Wind Vortex General Failure]]>>
<<TheExplorers>> <<eVerb trust>> the autopilot to set the ship down
<p><<TheExplorers>> <<eVerb have has>> faith in the work of the Chiron Project engineers who designed the autopilot. This time, at least, <<their>> faith is rewarded. The wind vortex tosses the <<shipName>> this way and that, but the autopilot keeps it from crashing, and at last the winds die down.</p>\n<<include [[Wind Vortex Complete Options]]>>
<p><<TheExplorers>> <<eVerb have has>> faith in the work of the Chiron Project engineers who designed the autopilot--but this faith proves to be misplaced. Winds overwhelm the ship and the autopilot tries to abort the landing, but it is too late.</p>\n<<include [[Wind Vortex General Failure]]>>
<<name>> predicts the storm's movements and plots a safe course
<p><<fName>> works feverishly with the <<shipName>>'s computer to build a model of the atmospheric vortex, and uses it to remain one step ahead of the storm until the sky clears.</p>\n<<include [[Wind Vortex Complete Options]]>>
<p><<fName>> works feverishly with the <<shipName>>'s computer to build a model of the atmospheric vortex, but <<heshe>> cannot complete it fast enough and the ship is pulled into a down-draft too powerful to escape.</p>\n<<include [[Wind Vortex General Failure]]>>
<<TheExplorers>> <<eVerb abort>> the mission and return to orbit
<p><<TheExplorers>> <<eVerb pull>> the <<shipName>> up sharply and <<eVerb attempt>> to steer around the top of the vortex. <<TheExplorers>> <<are>> buffeted nauseatingly from side to side, but the whirling winds eventually give way to the darkness of space and the ship is once again <<inlinePreventLanding "safe in orbit">>.</p>\n<<hazardEscapeToOrbit>>
<p>The <<shipName>> climbs sharply and attempts to steer around the top of the vortex, but a strong current grabs the ship and pulls it down.</p>\n<<include [[Wind Vortex General Failure]]>>
<<if $currentSystem.planets[$planetNumber].traits.includes("pSurfaceGiant")>>\n\t<p>The light from the windows grows dim as the <<shipName>> descends too deep into the gas giant's atmosphere for <<starName>>'s light to penetrate. <<TheExplorers>> <<eVerb watch watches>> in terror as the external pressure gauge ticks up into the danger zone and the <<inlineDamageShip "groaning of tortured metal" "was crushed by a gas giant atmosphere">> fills the cabin.</p>\n\t<p>After buffeting the <<shipName>> around for hours, another wind current pushes it into a somewhat calmer area of the atmosphere, and its flight stabilises.</p>\n<<else>>\n\t<p>The <<shipName>> spins out of control towards the <<surfaceAdj>> surface of <<planetName>>. Alarms blare through the cabin. <<bestPilot>> wrestles with the controls and manages to reduce the angle of descent but is not able to bring the ship out of its dive before it smashes into the <<planetNoun>>'s surface. <<randomCrewMember2>>'s straps break and <<heshe2>> <<verb2 is are>> <<inlineInjureCrewMember2 "thrown across the cabin" "was killed in a crash">>. The <<shipName>> <<inlineDamageShip "carves a trench across the surface" "crashed due to a wind vortex">> until it finally comes to a stop.</p>\n<</if>>\n<<include [[Wind Vortex Complete Options]]>>
<<set $suppressLandingFlavourText = true>>\n<p>\n\t<<if !$researchableUpgrades.includes("sUpgradeShipWings")>><<opt "Wind Vortex Unlock Upgrade" "eEngineer" "hard">><</if>>\n\t<<nextEventLink>>\n</p>
<<name>> goes out in the wind-storm to study how the <<shipName>>'s aerodynamics could be improved
<p>Wind roars past the outer airlock door as <<fName>> suits up and triple-checks <<hisher>> tether. <<HeShe>> <<verb ventures>> out and <<verb clambers>> across the exterior of the <<shipName>> to study how the alien atmosphere flows around the habitat ring, sensors, solar panels and heat sinks. There are tense moments, but eventually <<heshe>> <<verb makes>> it safely back to the airlock, and <<verb writes>> up extensive notes about how the ship's aerodynamics could be improved.</p>\n<<unlockUpgrade "sUpgradeShipWings">>\n<p><<nextEventLink>></p>
<p>Wind roars past the outer airlock door as <<fName>> suits up and triple-checks <<hisher>> tether. <<HeShe>> <<verb ventures>> out and <<verb clambers>> across the exterior of the <<shipName>>, studying how the alien atmosphere flows around its structure.</p>\n<p>Despite <<hisher>> precautions, a sudden gust of wind dislodges <<himher>> from <<hisher>> handhold and sends <<himher>> flying. <<HisHer>> tether saves <<himher>> from being lost in the wind, but <<heshe>> <<inlineInjureCrewMember `TextUtils.verb("slams","slam")+" against the side of the hull"` "killed in a windstorm while trying to improve the ship's aerodynamics">> and <<verb is are>> unconscious as the tether reels <<himher>> back into the airlock.</p>\n<p><<nextEventLink>></p>
<<set $eventTitle = "Sleeping Animals">>\n<<revealPlanetTrait "psLifeAnimals">>\n<p><<TheExplorers>> <<eVerb come>> across a group of <<animalAdj>> <<printDesc "&animals==psLifeAnimals&">> that appear to be resting. This would be the perfect opportunity to make some close-up observations, but there is no knowing how the creatures would react if they notice <<theExplorers himher>>.</p>\n\n<p>\n<<opt "Surface Animals Risk Biologist" "eBiologist" "medium" "" "Surface Animals Risk No Biologist" "hard">>\n<<nextEventLink "Surface Animals Risk Leave Option">>\n</p>
<<TheExplorers>> <<eVerb leave>> the animals alone
<<name>> carefully studies the animals without startling them
<p><<fName>> softly moves up to the animals and makes observations. One of them begins to wake, but <<fName>> is able to calm it, and <<hisher>> recording of the close encounter will yield <<inlineGainData "valuable data" xenobiology medium>> for the Chiron Project's xenobiologists.</p>\n<p><<nextEventLink>></p>
<p><<fName>> is almost touching one of the creatures when it wakes suddenly, and a huge limb swings around with startling speed to <<inlineInjureCrewMember `"knock "+TextUtils.himher()+" off "+TextUtils.hisher()+" feet"` "disturbed a sleeping animal">>.</p>\n<p><<nextEventLink>></p>
<<TheExplorers>> get close to the animals and hope they don't wake
<p><<TheExplorers>> cautiously move up to the animals, <<inlineGainData "make a few observations" xenobiology small>>, and manage to get away without waking them.</p>\n<p><<nextEventLink>></p>
<p><<randomCrewMember>> is engrossed in taking close readings of one of the animals and does not notice it waking up. The huge creature whips a massive limb around and <<inlineInjureCrewMember `"smashes "+TextUtils.himher()+" into the ground"` "disturbed a sleeping animal">>.</p>\n<p><<nextEventLink>></p>
<<set $eventTitle = "Terror from the Deep">>\n<<if $crew.length > 1>>\n\t<p>A dark shape moves in the water below <<theExplorers>>, and then something like a tentacle grabs <<randomCrewMember2>> and pulls <<himher2>> into the depths.<p>\n\t<<opt "Aquatic Predator Biologist" "eBiologist not2" "medium" "sUpgradeSuitsArmour">>\n\t<<opt "Aquatic Predator Engineer" "eEngineer not2" "medium" "sDamageFabricator">>\n\t<<opt "Aquatic Predator Wrestle" "" "medium" "sUpgradeSuitsArmour">>\n\t</p>\n<<else>>\n\t<p>A dark shape moves in the water below <<randomCrewMember2>>, and then something like a tentacle grabs <<himher2>> and pulls <<himher2>> into the depths. With no one else left to rescue <<himher2>>, <<fName2>> is eaten alive by the aquatic predator on <<planetName>>.</p>\n\t<<killCrewMember2 "was eaten by an aquatic predator">>\n\t<p><<nextEventLink>></p>\n<</if>>
<<name>> quickly improvises a weapon
<p>Nothing the explorers carry was designed as a weapon, but the grappling hook projector used for climbing difficult terrain is not too different from a harpoon. <<name>> manages to make the few needed modifications while the alien creature is still in range, and fires. Purple alien blood blossoms from the wound, and the creature drops <<fName2>> and slinks off into the depths to recover.</p>\n<p><<nextEventLink>></p>
<p>Nothing the explorers carry was designed as a weapon, but the grappling hook projector used for climbing difficult terrain is not too different from a harpoon. <<name>> manages to make the few needed modifications while the alien creature is still in range, and fires, but the shot goes wide. Before <<heshe>> can make <<hisher>> improvised harpoon gun ready to fire again, <<fName>> is out of sight and the feed from <<hisher2>> suit has cut off.</p>\n<<killCrewMember2 "was eaten by an aquatic predator">>\n<p><<nextEventLink>></p>
<<name>> identifies the creature's weak point and attacks
<p><<fName>> immediately sees what <<heshe>> must do, and darts quickly into the creature's clutches before it can retreat. For a moment it looks as if the creature has got two meals for the price of one, until it spasms and releases both explorers, <<fName>>'s utility knife stained from penetrating its central nerve cluster.</p>\n<p><<nextEventLink>></p>
<p><<fName>> immediately darts into the creature's clutches, utility knife bared, seeking the nerve cluster that will cause it to release <<fName2>>. The alien creature is too strong for <<himher>>, however, and tosses <<himher>> away before vanishing into the depths. Moments later <<fName2>>'s feed cuts off and a blood-red cloud erupts far below.</p>\n<<killCrewMember2 "was eaten by an aquatic predator">>\n<p><<nextEventLink>></p>
<<if $crew.length > 2>>\n\tThe other explorers wrestle\n<<else>>\n\t<<randomCrewMember not2>> wrestles\n<</if>>\n<<fName2>> from the predator's grasp
<p><<randomCrewMember not2>> manages to grab the creature before it can swim away with <<fName2>>, and a desperate underwater struggle ensues. The explorers are not able to seriously harm the creature, but it eventually seems to decide that the squirming, hard-shelled prey is not worth the effort and vanishes empty-tentacled into the depths.</p>\n<p><<nextEventLink>></p>
<p>\nThe creature effortlessly swats \n<<if $crew.length > 2>>\n\tthe other explorers\n<<else>>\n\t<<randomCrewMember not2>>\n<</if>>\naway and vanishes. Moments later <<fName2>>'s feed cuts off and a blood-red cloud erupts from the depths.</p>\n<<killCrewMember2 "was eaten by an aquatic predator">>\n<p><<nextEventLink>></p>
<<set $eventTitle = "Carnivorous Plant">>\n<p><<randomCrewMember2>> is investigating a large plant when it suddenly closes on <<himher2>>. Taut cables of vegetable matter resist <<hisher2>> struggles, and some kind of digestive acid begins to work on <<hisher2>> suit.</p>\n\n<<if $crew.length == 1>>\n\t<p>With no one else left to rescue <<himher2>>, <<fName2>> is eaten alive by the carnivorous plant on <<planetName>>.</p>\n\t<<killCrewMember2 "was consumed by a carnivorous plant">>\n\t<p><<nextEventLink>></p>\n<<else>>\n\t<p>\n\t<<opt "Carnivorous Plant Biologist" "eBiologist not2" "easy">>\n\t<<opt "Carnivorous Plant Pull" "" "medium" "sUpgradeSuitsHighGrav">>\n\t<<opt "Carnivorous Plant Hope" "" "medium" "sUpgradeSuitsArmour">>\n\t</p>\n<</if>>
<<name>> looks for a way to make the plant release <<fName2>>
<p><<fName>>'s experience of xenobiology allows <<himher>> to <<inlineGainData "spot the nerve-like structures" xenobiology tiny>> that the plant uses to control its grip. <<HeShe>> quickly <<verb pulls>> out a utility knife and <<verb severs>> them, and the plant releases <<fName2>> onto the ground.\n<<if $contextTraits.includes("sUpgradeSuitsArmour")>>\n\t<<fName2>>'s armoured spacesuit means <<heshe2>> <<is>> unharmed.\n<<else>>\n\t<<fName2>> is alive and <<hisher2>> suit is intact, but the force of the plant's bite has left <<himher>> <<inlineInjureCrewMember "injured" "was mortally wounded by a carnivorous plant">>.\n<</if>>\n</p>\n<p><<nextEventLink>></p>
<p><<fName>> identifies what <<heshe>> <<verb thinks>> is a weak spot on the plant's exterior, but its tough skin proves impervious to <<hisher>> utility knife. The plant eventually gives up on trying to digest <<fName2>>'s spacesuit and spits <<himher2>> out, but by that time <<heshe2>> <<is2>> dead.</p>\n<<killCrewMember2 "was consumed by a carnivorous plant">>\n<p><<nextEventLink>></p>
<<if $crew.length > 2>>\n\tThe other explorers pull\n<<else>>\n\t<<randomCrewMember not2>> pulls\n<</if>>\n<<fName2>> free
<p><<randomCrewMember>> grabs <<fName2>>'s hand and pulls<<if $contextTraits.includes("sUpgradeSuitsHighGrav")>>, assisted by <<hisher>> suit's powered exoskeleton<</if>>. There is a horrible sucking sound and <<fName2>> comes free,\n<<if $contextTraits.includes("sUpgradeSuitsArmour")>>\n\tunharmed thanks to <<hisher2>>'s armoured spacesuit.\n<<else>>\n\tundigested but <<inlineInjureCrewMember "injured" "was mortally wounded by a carnivorous plant">> inside <<hisher2>> suit.\n<</if>>\n</p>\n<p><<nextEventLink>></p>
<p><<randomCrewMember not2>> grabs <<fName2>> as quickly as <<heshe>> can, but is only in time to feel <<hisher2>> hand slip away. The plant eventually gives up on trying to digest <<fName2>>'s spacesuit and spits <<himher2>> out, but by that time <<heshe2>> <<is>>dead.</p>\n<<killCrewMember2 "was consumed by a carnivorous plant">>\n<p><<nextEventLink>></p>
<<if $crew.length > 2>>\n\tThe other explorers trust\n<<else>>\n\t<<randomCrewMember not2>> trusts\n<</if>>\n<<fName2>>'s suit to withstand the digestive acids
<p>The Chiron Project designed the spacesuits to withstand meteor bombardment and cosmic radiation--what's a little digestive acid going to do? The plant eventually gives up on eating <<fName2>> and spits <<himher2>> back out, and\n<<if $crew.length > 2>>\n\tthe other explorers are\n<<else>>\n\t<<randomCrewMember not2>> is\n<</if>>\nable to learn about its biology by <<inlineGainData "observing the process" xenobiology tiny>>.</p>\n<p><<nextEventLink>></p>
<p>The Chiron Project designed the spacesuits to resist acidic alien environments, but it seems that the planet's usual prey has evolved a similar resistance, and the digestive acid is extremely strong. The acid works its way through <<fName2>>'s suit joints, after which <<hisher2>> death is mercifully swift.</p>\n<<killCrewMember2 "was eaten by a carnivorous plant">>\n<p><<nextEventLink>></p>
<<set $eventTitle = "Ambush Predator">>\n<p>There is a sudden burst of movement and <<randomCrewMember2>> is whisked off <<hisher2>> feet. A whip-like tentacle has wrapped around <<hisher2>> legs and is dragging <<himher2>> towards a nearby cave entrance.</p>\n<<if $crew.length == 1>>\n\t<p>With no one else left to save <<himher2>>, <<fName2>> is eaten alive by the cave-dwelling ambush predator on <<planetName>>.</p>\n\t<<killCrewMember2 "was eaten by a cave-dwelling ambush predator">>\n\t<p><<nextEventLink>></p>\n<<else>>\n\t<p>\n\t<<opt "Cave Ambush Predator Biologist" "eBiologist not2" "medium">>\n\t<<opt "Cave Ambush Predator Grab" "" "hard" "sUpgradeSuitsArmour">>\n\t<<opt "Cave Ambush Predator Abandon">>\n\t</p>\n<</if>>
<<TheExplorers>> <<eVerb abandon>> <<fName2>> and run
<p><<TheExplorers>> <<eVerb run>> away from the cave, ignoring the screams, wet crunching sounds, and eventual silence from <<fName2>>'s suit radio.</p>\n<<killCrewMember2 "was eaten by a cave-dwelling ambush predator">>\n<p><<nextEventLink>></p>
<<name>> identifies the predator's weakness and makes it drop <<fName2>>
<p><<fName>> notices what <<heshe>> <<verb thinks>> are spots on the inner surface of the tentacle where <<inlineGainData "nerve clusters" xenobiology tiny>> are close to the skin. <<HeShe>> jabs <<hisher>> utility knife into one of these spots, and the tentacle immediately convulses and drops <<fName2>>. The tentacle whips back into the cave, defeated, leaving <<fName2>> startled but unharmed.</p>\n<p><<nextEventLink>></p>
<p><<fName>> notices what <<heshe>> <<verb thinks>> are spots on the inner surface of the tentacle where nerve clusters are close to the skin. <<HeShe>> <<verb jabs>> <<hisher>> utility knife into one of these spots, but the tentacle only tightens its grip on <<fName2>> and swings <<himher2>> around, knocking <<fName>> out of the way, before pulling <<himher2>> the rest of the way into the cave.</p>\n<p>\n<<opt "Cave Ambush Predator Rescue" "" "medium">>\n<<opt "Cave Ambush Predator Abandon">>\n</p>
<<if $crew.length > 2>>\n\tThe other explorers try\n<<else>>\n\t<<randomCrewMember not2>> tries\n<</if>>\nto grab <<fName2>> before <<heshe2>> <<verb2 is are>> dragged into the cave
<p><<TheExplorers>> manage to grab <<fName2>> before <<heshe2>> <<is2>> pulled out of sight, and <<eVerb engage>> in a tug-of-war with the alien creature until it eventually gives up. <<fName2>> collapses to the ground, startled but unharmed.</p>\n<p><<nextEventLink>></p>
<p><<TheExplorers>> <<eVerb grab>> at <<fName2>>'s hand, but the alien creature is too fast, and <<heshe2>> <<is2>> whisked out of <<their>> reach and into the dark cave.</p>\n<p>\n<<opt "Cave Ambush Predator Rescue" "" "medium">>\n<<opt "Cave Ambush Predator Abandon">>\n</p>
<<if $crew.length > 2>>\n\tThe other explorers run\n<<else>>\n\t<<randomCrewMember not2>> runs\n<</if>>\n <<eVerb run>> into the cave to rescue <<fName2>>
<<TheExplorers>> <<eVerb run>> into the cave to find <<fName2>> in the jaws of a huge, vaguely frog-like creature that seems to be growing out of the cave wall.
<p><<include [[Cave Ambush Predator Rescue Common]]>> <<TheExplorers>> <<eVerb manage>> to pull <<himher2>> free and safely away from the cave, but the alien creature's teeth have <<inlineInjureCrewMember `"damaged "+TextUtils.hisher()+" suit"` "was eaten by a cave-dwelling ambush predator">>.</p>\n<<unlockAchievement "event_outcome_cave_monster">>\n<p><<nextEventLink>></p>
<p><<include [[Cave Ambush Predator Rescue Common]]>> <<TheExplorers>> <<eVerb try>> to pull <<himher2>> free, but the creature is too strong, and <<they>> <<are>> forced to watch in horror as <<fName2>> is eaten alive.</p>\n<<killCrewMember2 "was eaten by a cave-dwelling ambush predator">>\n<p><<nextEventLink>></p>
<<set $eventTitle = "Animal Attack">>\n<p><<TheExplorers>> <<are>> startled from <<their>> work by an inhuman bellowing sound, and <<eVerb look>> up to see a pack of alien animals bearing down on <<them>>. It is difficult to read alien creatures' intentions, but they are easily large enough to injure <<theExplorers himher>> if they see <<them>> as prey or a threat.</p>\n<p>\n<<opt "Dangerous Animals Biologist" "eBiologist" "medium">>\n<<opt "Dangerous Animals Planetary Scientist" "ePlanetaryScientist" "medium">>\n<<opt "Dangerous Animals Run" "" "medium" "sUpgradeSuitsHighGrav">>\n<<opt "Dangerous Animals Stay" "" "hard" "sUpgradeSuitsArmour">>\n</p>
<<name>> tries to calm the animals
<p><<name>> notices the sounds that the pack creatures use in their rudimentary communication with one another. By quickly rigging up a suit speaker to make similar sounds, <<heshe>> <<verb is are>> able to make the explorers appear as another, superior pack. The alien animals back down and adopt a submissive posture, and <<fName>> is able to <<inlineGainData "study their anatomy" xenobiology medium>> before they wander away.</p>\n<p><<nextEventLink>></p>
<p><<name>> notices that the creatures use sounds and postures to coordinate the pack's social heirarchy, and rigs up a speaker to mimic their sounds in an attempt to make the explorers appear as a superior pack. <<HeShe>> <<verb misinterprets misinterpret>> the signals, however, and the creatures interpret <<hisher>> sounds as a challenge. The creatures pounce on <<himher>>, and <<heshe>> <<verb is are>> <<inlineInjureCrewMember "badly wounded" "was torn apart by alien animals">> before the other explorers manage to drive the animals off.</p>\n<p><<nextEventLink>></p>
<<name>> locates nearby terrain that the animals won't be able to reach
<p><<name>> spots a <<inlineGainData "high point" planetary_science tiny>> that the animals are unable to reach, and the explorers scramble out of danger and wait tensely until the animals wander off.</p>\n<p><<nextEventLink>></p>
<p><<name>> spots a high point that <<heshe>> <<verb doesn't don't>> think the animals will be able to reach, but <<heshe>> <<verb reckons reckon>> without their extraordinary jumping ability. One animal knocks <<randomCrewMember>> off <<hisher>> perch, <<inlineInjureCrewMember `"badly injuring "+TextUtils.himher()` "was torn apart by alien animals">>, before retreating.</p>\n<p><<nextEventLink>></p>
<<TheExplorers>> run for the ship
<p><<TheExplorers>> <<eVerb manage>> to outrun the animals and reach the safety of the <<shipName>>, where <<they>> <<eVerb wait>> until the animals wander off.</p>\n<p><<nextEventLink>></p>
<p><<TheExplorers>> <<eVerb run>>, but <<randomCrewMember heshe>> trips and the leading animal <<inlineInjureCrewMember `"bites "+TextUtils.hisher()+" leg"` "was torn apart by alien animals">> before <<heshe>> can get away.</p>\n<p><<nextEventLink>></p>
<<TheExplorers>> <<eVerb try tries>> not to look like a threat
<p><<TheExplorers>> <<eVerb stand>> <<their>> ground as the animals bear down on them. Rather than attacking, the animals surround <<theExplorers himher>>, hesitantly moving forward and back, alien sense organs trained on the unfamiliar creatures. Eventually the animals seem to conclude that <<theExplorers>> <<eVerb is are>> neither food nor a threat and slink away, by which time <<theExplorers>> <<eVerb have has>> made a <<inlineGainData "detailed recording" xenobiology small>> of the close encounter.</p>\n<p><<nextEventLink>></p>
<p><<TheExplorers>> <<eNoun hopes>> that the animals will be curious rather than aggressive are dashed when the lead animals runs into <<randomCrewMember>> and <<inlineInjureCrewMember `"tramples "+TextUtils.himher()+""` "was trampled by alien animals">>.</p>\n<p><<nextEventLink>></p>
<<set $eventTitle = "Alien Infection">>\n<p><<randomCrewMember2>> reports feeling nauseous, then collapses unconscious. <<HisHer2>> face is pale and clammy inside <<hisher2>> helmet, and <<hisher2>> suit's medical readouts indicate that <<heshe2>> <<verb2 has have>> fallen prey to a fast-acting alien pathogen that has managed to get into <<hisher2>> suit's oxygen supply.</p>\n\n<<if $crew.length == 1>>\n\t<p>With no one to help <<himher2>>, <<fName2>> dies alone and horribly on <<planetName>>.</p>\n\t<<killCrewMember2 "died from a fast-acting alien infection">>\n\t\n\t<p><<nextEventLink>></p>\n<<else>>\n\t<p>\n\t<<opt "EVA Alien Plague Fast Medic" "eMedic not2" "medium" "sUpgradeFirstAid">>\n\t<<opt "EVA Alien Plague Fast Biologist" "eBiologist not2" "medium">>\n\t<<opt "Shared Infection Treat" "" "hard" "sDamageMedbay sUpgradeFirstAid">>\n\t<<opt "Shared Infection Quarantine">>\n\t</p>\n<</if>>
<<name>> tries to help <<fName2>>'s immune system fight the infection
<p>In <<fName2>>'s tissues, a microscopic war unfolds between the two mutually alien biomes. <<fName>> injects <<fName2>> with drugs to bolster <<hisher2>> body's defences, and watches as they fight the attackers to a standstill. <<fName2>> is <<inlineGiveCrewMember2Trait "still infected" "eAlienInfection">>, but for the moment <<hisher2>> immune system is keeping the infection at bay, and the hospital at Chiron Base should have the resources to win the battle.</p>\n<p><<nextEventLink>></p>
<p>In <<fName2>>'s tissues, a microscopic war unfolds between the two mutually alien biomes. <<fName>> injects <<fName2>> with drugs to bolster <<hisher2>> body's defences, but the attackers are too strong, and <<heshe>> can only watch in horror as <<fName2>>'s organs fail.</p>\n<<include [[EVA Alien Plague Fail Common]]>>
<<name>> tries to identify the infectious agent and find a cure
<p><<fName>> runs a sample of <<fName2>>'s blood through <<hisher>> portable bio-analyser and identifies the infectious agent and the process by which it is attacking <<fName2>>'s cells. <<HeShe>> quickly <<verb synthesises>> a compound that will interfere with the agent and injects it through <<fName2>>'s medical port. The infection is <<inlineGiveCrewMember2Trait "still present" "eAlienInfection">>, but <<fName2>> has greatly slowed its progress, and the hospital at Chiron Base should be able to destroy it completely.</p>\n<p><<nextEventLink>></p>
<p><<fName>> analyses a sample of <<fName2>>'s blood, but the process by which the infection is attacking <<fName2>> is too alien for <<himher2>> to understand.</p>\n<<include [[EVA Alien Plague Fail Common]]>>
<p><<TheExplorers>> <<eVerb instruct>> <<fName2>>'s suit to inject <<himher2>> with a lethal dose of painkillers to spare <<himher2>> any further suffering, and then solemnly take <<hisher2>> body back to the <<shipName>> and place it inside a biohazard container.</p>\n<<killCrewMember2 "died from a fast-acting alien infection">>\n<p><<nextEventLink>></p>
<<set $eventTitle = "Carried Away">>\n<<if $crew.length > 1>>\n\t<p>There is a sudden wind as something big rushes past <<theExplorers>>, and then <<randomCrewMember2>> is gone! <<randomCrewMember not2>> looks up to see <<himher2>> struggling in the grip of a large flying creature as it carries <<himher2>> away towards a distant peak.</p>\n\t<p>\n\t<<opt "Flying Predator PlanetaryScientist" "ePlanetaryScientist not2" "medium" "sUpgradeSuitsArmour">>\n\t<<opt "Flying Predator Biologist" "eBiologist not2" "medium" "sUpgradeSuitsArmour">>\n\t<<opt "Flying Predator Rocks" "" "hard" "sUpgradeSuitsArmour">>\n\t<<opt "Flying Predator Chase" "" "medium" "">>\n\t</p>\n<<else>>\n\t<p>There is a sudden rush of wind, and then <<randomCrewMember2>> finds <<himherself2>> high in the air, struggling in the grip of a huge flying creature! With no one else left to rescue <<himher2>>, <<fName2>> is eaten alive by the flying predator on <<planetName>>.</p>\n\t<<killCrewMember2 "was eaten by a flying predator">>\n\t<p><<nextEventLink>></p>\n<</if>>
<<name>> finds a way to the predator's roost
<p>The flying predator has made its nest on an inaccessible crag, but <<fName>> finds a way to reach it. It was evidently saving <<fName2>> to eat later, as <<hisher2>> suit is still intact and <<hisher2>> injuries are minor and easily healed. <<TheExplorers>> <<eVerb rescue>> <<fName2>> and <<inlineGainData "study the flying creature's nest" xenobiology small>>.</p>\n<p><<nextEventLink>></p>
<p>The climb is difficult, and it takes hours before <<fName>> reaches the creature's nest. The flying predator has tried to eat <<fName2>>, and while it was unable to penetrate <<hisher2>> suit, it has <<inlineInjureCrewMember2 "seriously injured" "was eaten by a flying predator">> <<himher2>> in the attempt.</p>\n<p><<nextEventLink>></p>
<<name>> entices the animal back down
<p><<fName>> has learned enough about <<planetName>>'s ecosystem to identify the predator's usual prey, and has <<hisher>> data pad mimic the distinctive call of that creature before tossing it to one side. Thinking that it has found a more enticing meal, the predator swoops down, drops <<fName2>> onto the <<surfaceAdj>> ground, and claws at the pad until it stops making sounds. By the time the predator gives up on its fake prey, the explorers have reached the safety of the <<shipName>>, and <<fName>> has made some <<inlineGainData "interesting recordings" xenobiology small>> of its behaviour.</p>\n<p><<nextEventLink>></p>
<p><<fName>> has learned enough about <<planetName>>'s ecosystem to identify the predator's usual prey, and has <<hisher>> data pad mimic the distinctive call of that creature before tossing it to one side. By the time <<heshe>> <<verb gets>> it set up, however, the predator has carried <<fName2>> to a dangerous height. The fall <<inlineInjureCrewMember2 `"breaks "+$crew[$selectedCrewMember2].firstName+"'s leg"` "was dropped by a flying predator">>, and <<fName>> drags <<himher2>> away while the predator is focused on its fake prey.</p>\n<p><<nextEventLink>></p>
<<if $crew.length > 2>>\n\tThe other explorers throw\n<<else>>\n\t<<randomCrewMember not2>> throws\n<</if>>\nrocks at the animal
<p>The barrage of rocks eventually forces the creature to drop <<fName2>>, although by the time it does so the creature has reached a dangerous height and <<heshe2>> <<verb is are>> <<inlineInjureCrewMember "injured by the fall" "was dropped by a flying predator">>.</p>\n<p><<nextEventLink>></p>
<p>The flying predator ignores the barrage of rocks, and is soon out of sight. A few minutes later, <<fName2>>'s suit transmits a mercifully brief series of screams and crunching sounds before falling silent.</p>\n<<killCrewMember2 "was eaten by a flying predator">>\n<p><<nextEventLink>></p>
<<if $crew.length > 2>>\n\tThe other explorers chase\n<<else>>\n\t<<randomCrewMember not2>> chases\n<</if>>\nthe predator in the hope that it will drop <<fName2>>
<p>It seems that <<fName2>>'s suit and equipment make <<himher2>> heavier than the predator's usual prey. It steadily loses height, and by the time it gives up and drops <<fName2>>, it is low enough that <<heshe2>> <<verb is are>> not injured by the fall.</p>\n<p><<nextEventLink>></p>
<p>The flying predator easily outpaces \n<<if $crew.length > 2>>\n\tthe explorers,\n<<else>>\n\t<<randomCrewMember not2>>,\n<</if>>\nand is soon out of sight. A few minutes later, <<fName2>>'s suit transmits a mercifully brief series of screams and crunching sounds before falling silent.</p>\n<<killCrewMember2 "was eaten by a flying predator">>\n<p><<nextEventLink>></p>
<<set $eventTitle = "Being Watched">>\n<p><<TheExplorers>> <<eVerb think>> <<they>> can see movement, and <<eVerb feel>> as if someone is watching <<them>>\n\n<<if $contextTraits.includes("cAquatic")>>\n\tfrom beneath the surface of the water.\n<<elseif $contextTraits.includes("cAvian")>>\n\tfrom high above.\n<<elseif $contextTraits.includes("pCaves")>>\n\tfrom inside the <<planetNoun>>'s dark caves.\n<<elseif $contextTraits.includes("pCraggy")>>\n\tfrom around the crags of <<planetNoun>>'s surface.\n<<else>>\n\tfrom just out of sight.\n<</if>>\n</p>\n<p>\n<<opt "Planet Being Watched Xenologist" "eXenologist" "medium" "" "Planet Being Watched No Xenologist" "hard">>\n<<opt "Planet Being Watched Ignore">>\n</p>
<<name>> gently encourages the watchers to show themselves
<<if $contextTraits.includesAll("psCiv","cNotExtinct")>>\n\t<<revealPlanetTrait "psCiv">>\n\t<<revealNativeCivTrait "cQuadrupedal" "cAvian" "cAquatic" "cWormlike" "cBipedal" "cAmorphous" "cNotExtinct">>\n\t<<discoverNativeCiv>>\n\t<p><<fName>> cautiously approaches where <<theExplorers heshe>> <<eVerb thinks>> the watchers are, using open, non-threatening body language that <<heshe>> <<verb hopes>> will translate across species.\n\t<<if $contextTraits.includes("cBipedal")>>\n\t\tEventually a group of <<printDesc "&bipedal==cBipedal&">> creatures approach cautiously.\n\t<<elseif $contextTraits.includes("cQuadrupedal")>>\n\t\tEventually a group of <<printDesc "&quadrupedal==cQuadrupedal&">> creatures approach cautiously.\n\t<<elseif $contextTraits.includes("cWormlike")>>\n\t\tEventually a group of <<printDesc "&worm-like==cWormlike&">> creatures approach cautiously.\n\t<<elseif $contextTraits.includes("cAquatic")>>\n\t\tEventually a group of <<printDesc "&aquatic==cAquatic&">> creatures rise to the surface of the water.\n\t<<elseif $contextTraits.includes("cAvian")>>\n\t\tEventually a group of <<printDesc "&avian==cAvian&">> creatures alight nearby.\n\t<<elseif $contextTraits.includes("cAmorphous")>>\n\t\tEventually a group of <<printDesc "&amorphous==cAmorphous&">> creatures come into view.\n\t<<else>>\n\t\tEventually a group of creatures approach cautiously.\n\t<</if>>\n\tThey retreat again before <<fName>> can establish communications, but <<theExplorers heshe>> got a <<inlineGainData "good look" xenotechnology medium>> at the creatures and <<eVerb are is>> now certain that <<planetName>> is <<printDesc "&home==cNotExtinct&">> to <<printDesc "&intelligent life==psCiv&">>.</p>\n<<else>>\n\t<<revealPlanetTrait "psLifeAnimals">>\n\t<p><<fName>> cautiously approaches where <<theExplorers heshe>> <<eVerb thinks>> the watchers are, using open, non-threatening body language that <<heshe>> <<verb hopes>> will translate across species. Eventually several <<animalAdj>> <<printDesc "&animals==psLifeAnimals&">> emerge, curiously approaching to <<inlineGainData "within metres" xenobiology medium>> of <<fName>> before retreating again.</p>\n<</if>>\n<p><<nextEventLink>></p>
<p><<fName>> tries to use open, non-threatening body language to reassure the mysterious watchers, but there is no response. Either <<heshe>> scared the watchers off, or there was nothing there in the first place.</p>\n<p><<nextEventLink>></p>
<<TheExplorers>> <<eVerb search searches>> for the mysterious watchers
<<if $contextTraits.includesAll("psCiv","cNotExtinct")>>\n\t<<revealPlanetTrait "psCiv">>\n\t<<revealNativeCivTrait "cQuadrupedal" "cAvian" "cAquatic" "cWormlike" "cBipedal" "cAmorphous" "cNotExtinct">>\n\t<<discoverNativeCiv>>\n\t<p><<TheExplorers>> <<eVerb head>> towards the source of the sound, and briefly <<eVerb catch catches>> sight of \n\t<<if $contextTraits.includes("cBipedal")>>\n\t\ta group of <<printDesc "&bipedal==cBipedal&">> creatures running away.\n\t<<elseif $contextTraits.includes("cQuadrupedal")>>\n\t\ta group of <<printDesc "&quadrupedal==cQuadrupedal&">> creatures galloping away.\n\t<<elseif $contextTraits.includes("cWormlike")>>\n\t\ta group of <<printDesc "&worm-like==cWormlike&">> creatures slithering away.\n\t<<elseif $contextTraits.includes("cAquatic")>>\n\t\ta group of <<printDesc "&aquatic==cAquatic&">> creatures retreating into the water.\n\t<<elseif $contextTraits.includes("cAvian")>>\n\t\ta group of <<printDesc "&avian==cAvian&">> creatures taking flight.\n\t<<elseif $contextTraits.includes("cAmorphous")>>\n\t\ta group of <<printDesc "&amorphous==cAmorphous&">> creatures slithering away.\n\t<<else>>\n\t\ta group of creatures retreating.\n\t<</if>>\n\tThere is no chance to establish communications, but <<theExplorers heshe>> <<eVerbpn are is>> now certain that <<planetName>> is <<printDesc "&home==cNotExtinct&">> to <<printDesc "&intelligent life==psCiv&">>.</p>\n<<else>>\n\t<<revealPlanetTrait "psLifeAnimals">>\n\t<p><<fName>> cautiously approaches where <<theExplorers heshe>> <<eVerb thinks>> the watchers are, using open, non-threatening body language that <<heshe>> <<verb hopes>> will translate across species. Eventually several <<animalAdj>> <<printDesc "&animals==psLifeAnimals&">> emerge, curiously approaching to within metres of <<fName>> before retreating again.</p>\n<</if>>\n<p><<nextEventLink>></p>
<p><<TheExplorers>> <<eVerb run>> towards the place where <<they>> thought <<they>> saw movement, hoping to catch whatever was watching <<them>> before it retreats. But the watchers, if there ever were any, vanish, and <<randomCrewMember>> manages to <<inlineInjureCrewMember `"injure "+TextUtils.himher()+"self"` "was injured when trying to catch mysterious watchers">> in <<hisher>> haste.</p>\n<p><<nextEventLink>></p>
<<TheExplorers>> <<eVerb ignore>> the mysterious watchers
<p><<TheExplorers>> <<eVerb continue>> on, and gradually the feeling of being watched disappears. Did the watchers lose interest, or was it all in <<their>> imagination?</p>\n<p><<nextEventLink>></p>
<<set $eventTitle = "Confrontation">>\n<p><<include [[Planet Civ Natives Approach Common]]>>\n<<if $contextTraits.includesAny("ctSpacefaring","ctDigital","ctIndustrial")>>They train what look like firearms on <<theExplorers>>,\n<<elseif $contextTraits.includesAny("ctMedieval","ctIronAge")>>They are wielding steel blades,\n<<elseif $contextTraits.includesAny("ctBronzeAge")>>They are brandishing bronze-tipped spears,\n<<elseif $contextTraits.includesAny("ctNeolithic","ctMesolithic","ctPaleolithic")>>They are brandishing stone-tipped spears,\n<<else>>They are unarmed but physically imposing, <</if>>\nand look like they might attack at any moment.</p>\n\n<p>\n<<opt "Planet Civ Confrontation Xenologist" "eXenologist" "medium" "sUpgradeTranslator" "Planet Civ Confrontation No Xenologist" "hard">>\n<<opt "Planet Civ Confrontation Run" "" "medium" "sUpgradeSuitsArmour">>\n</p>
<<name>> attempts to defuse the situation
<p>Despite the differences between <<inlineGainData "human and alien modes of expression" xenotechnology medium>>, <<fName>> manages to convey through tone and body language that <<theExplorers heshe>> <<eVerbpn mean>> no harm. The aliens cautiously withdraw, perhaps to report back to their community.</p>\n<p><<nextEventLink>></p>
<p><<fName>> tries to use tone and body language to convince the aliens that <<theExplorers>> <<eVerb mean>> no harm, but either the gulf between human and alien expression is too wide, or the aliens are simply not amenable to diplomacy. The aliens\n<<if $contextTraits.includesAny("ctSpacefaring","ctDigital","ctIndustrial")>>open fire on <<fName>>,\n<<elseif $contextTraits.includesAny("ctMedieval","ctIronAge")>>rush <<fName>> with their blades,\n<<elseif $contextTraits.includesAny("ctBronzeAge")>>hurl their bronze-tipped spears,\n<<elseif $contextTraits.includesAny("ctNeolithic","ctMesolithic","ctPaleolithic")>>hurl their stone-tipped spears,\n<<else>>spring on <<fName>>,<</if>>\n<<inlineInjureCrewMember "badly injuring" "was killed by aliens">> <<himher>> before withdrawing.</p>\n<p><<nextEventLink>></p>
<<TheExplorers>> <<eVerb stand>> <<their>> ground but <<eVerb avoid>> making hostile moves
<p><<TheExplorers>> <<eVerb manage manages>> not to flinch as the <<inlineGainData "strange creatures" xenotechnology small>> surround <<them>>,\n<<if $contextTraits.includesAny("ctSpacefaring","ctDigital","ctIndustrial")>>alien firearms\n<<elseif $contextTraits.includesAny("ctMedieval","ctIronAge")>>iron swords\n<<elseif $contextTraits.includesAny("ctBronzeAge")>>bronze-tipped spears\n<<elseif $contextTraits.includesAny("ctNeolithic","ctMesolithic","ctPaleolithic")>>stone-tipped spears\n<<else>>formidable limbs<</if>>\nheld at the ready. Eventually the aliens seem to conclude that the <<eNoun humans>> <<eVerb mean>> them no harm, and withdraw, perhaps to report back to their community.</p>\n<p><<nextEventLink>></p>
<p><<TheExplorers>> <<eVerb stand>> still, keeping <<their>> hands in the open, in the hope that the aliens will see them as non-hostile. Unfortunately, they either misinterpret human body language, or were already set on attacking, and\n<<if $contextTraits.includesAny("ctSpacefaring","ctDigital","ctIndustrial")>>open fire.\n<<elseif $contextTraits.includesAny("ctMedieval","ctIronAge")>>rush <<theExplorers himher>> with their blades.\n<<elseif $contextTraits.includesAny("ctBronzeAge")>>hurl their bronze-tipped spears.\n<<elseif $contextTraits.includesAny("ctNeolithic","ctMesolithic","ctPaleolithic")>>hurl their stone-tipped spears.\n<<else>>charge at <<theExplorers>>.<</if>>\n<<randomCrewMember>> is <<inlineInjureCrewMember "badly injured" "was killed by natives">> before <<they>> <<eVerbpn manage>> to get away.</p>\n<p><<nextEventLink>></p>
<<TheExplorers>> <<eVerb withdraw>> to the <<shipName>>
<p><<TheExplorers>> <<eVerb back>> off, trying to look as non-threatening as possible. The creatures follow them for a while, ready to attack, but eventually seem satisfied that <<theExplorers>> <<eVerb are is>> leaving and stand down.</p>\n<p><<nextEventLink>></p>
<p>Either <<theExplorers>> moved too suddenly or the aliens were already determined to attack. They chase after <<theExplorers>>, and\n<<if $contextTraits.includesAny("ctSpacefaring","ctDigital","ctIndustrial")>>gunfire\n<<elseif $contextTraits.includesAny("ctMedieval","ctIronAge")>>a steel blade\n<<elseif $contextTraits.includesAny("ctBronzeAge")>>a bronze spear\n<<elseif $contextTraits.includesAny("ctNeolithic","ctMesolithic","ctPaleolithic")>>a stone spear\n<<else>>one of them<</if>>\nhits <<randomCrewMember>> <<inlineInjureCrewMember "in the back" "was killed by aliens">>.</p>\n<p><<nextEventLink>></p>
<<set $eventTitle = "Welcoming Party">>\n<p><<include [[Planet Civ Natives Approach Common]]>> They advance cautiously, speaking slowly in an alien language, as if trying to establish communications.</p>\n<p>\n<<opt "Civ Contact Xenologist" "eXenologist" "easy" "sUpgradeTranslator" "Civ Contact No Xenologist" "medium">>\n<<opt "Civ Contact Avoid">>\n</p>
<<name>> tries to establish communications
/% Successful contact - learn any interesting mysteries %/\n<<set $civilisations[$currentSystem.planets[$planetNumber].nativeCiv].knownTraits.push("cKnowName")>>\n<<set $civilisations[$currentSystem.planets[$planetNumber].nativeCiv].traits.push("cKnowName")>>\n/% Replace temp name of planet with the natives' own name %/\n/%<<set $currentSystem.planets[$planetNumber].name = $currentSystem.planets[$planetNumber].civPlanetName>>%/\n\n<p><<fName>> manages to make peaceful contact with the aliens and the two groups exchange basic cultural information. They call themselves the <span class="keyword"><<civname>><<civNameTooltip $currentSystem.planets[$planetNumber].nativeCiv>></span>, and they invite <<theExplorers>> to visit a nearby community in order to learn more.</p>\n\n<p><<nextEventLink>></p>
<p><<TheExplorers>> manage to learn about the natives through observation, but their language and culture prove too alien for <<name>> to establish communications.</p>\n<p><<nextEventLink>></p>
<<TheExplorers>> try to establish communications
/% Successful contact - learn any interesting mysteries %/\n<<set $civilisations[$currentSystem.planets[$planetNumber].nativeCiv].knownTraits.push("cKnowName")>>\n<<set $civilisations[$currentSystem.planets[$planetNumber].nativeCiv].traits.push("cKnowName")>>\n/% Replace temp name of planet with the natives' own name %/\n<<set $currentSystem.planets[$planetNumber].name = $currentSystem.planets[$planetNumber].civPlanetName>>\n\n<p>After many frustrating attempts, the aliens manage to teach <<theExplorers>> the rudiments of their language. They call themselves the <span class="keyword"><<civname>><<civNameTooltip $currentSystem.planets[$planetNumber].nativeCiv>></span>, and they invite <<theExplorers>> to visit a nearby community in order to learn more.</p>\n<p><<nextEventLink>></p>
<p><<TheExplorers>> make contact with the aliens and learn about them through observation, but neither of the two groups are able to understand the other well enough to successfully communicate.</p>\n\n/%<<include [[Civ Learn Traits]]>>%/\n\n/% <<exploreTrait psCiv>> %/\n<p><<nextEventLink>></p>
<<TheExplorers>> <<eVerb avoid>> contact with the natives
<p><<TheExplorers>> <<eVerb decide>> that attempting contact with the alien species would be too risky, and retreat to the <<shipName>>.</p>\n\n<p><<nextEventLink>></p>
<<revealPlanetTrait "psCiv">>\n<<revealNativeCivTrait "cQuadrupedal" "cAvian" "cAquatic" "cWormlike" "cBipedal" "cAmorphous" "cNotExtinct">>\n<<discoverNativeCiv>>\n<<if $contextTraits.includes("cBipedal")>>\n\tA group of <<printDesc "&bipedal==cBipedal&">>\n<<elseif $contextTraits.includes("cQuadrupedal")>>\n\tA group of <<printDesc "&quadrupedal==cQuadrupedal&">>\n<<elseif $contextTraits.includes("cWormlike")>>\n\tA group of <<printDesc "&worm-like==cWormlike&">>\n<<elseif $contextTraits.includes("cAquatic")>>\n\tA group of <<printDesc "&aquatic==cAquatic&">>\n<<elseif $contextTraits.includes("cAvian")>>\n\tA group of <<printDesc "&avian==cAvian&">>\n<<elseif $contextTraits.includes("cAmorphous")>>\n\tA group of <<printDesc "&amorphous==cAmorphous&">>\n<<else>>\n\tA group of\n<</if>>\n\n<<printDesc "&creatures==psCiv&">>\n\n<<if $contextTraits.includes("cAquatic")>>\n\t<<printDesc "&emerge==cNotExtinct&">> from the water and approach <<theExplorers>>.\n<<elseif $contextTraits.includes("cAvian")>>\n\t<<printDesc "&alight==cNotExtinct&">> near <<theExplorers>>.\n<<elseif $contextTraits.includesAny("ctIndustrial","ctDigital","ctSpacefaring")>>\n\t<<printDesc "&ride up==cNotExtinct&">> to <<theExplorers>> in a motorised vehicle.\n<<elseif $contextTraits.includes("pCaves")>>\n\t<<printDesc "&emerge==cNotExtinct&">> a cave and approach <<theExplorers>>.\n<<else>>\n\t<<printDesc "&approach==cNotExtinct&">> <<theExplorers>>.\n<</if>>
/% Find the star with the black hole trait %/\n<<set _blackHoles = []>>\n<<for _n = 0; _n < $currentSystem.stars.length; _n++>>\n\t<<if $currentSystem.stars[_n].traits.includes("tBlackHole")>>\n\t\t<<set _blackHoles.push(_n)>>\n\t<</if>>\n<</for>>\n<<if _blackHoles.length == 0>>\n\t<<run console.error("Orbit Black Caught ran but no stars had tBlackHole trait!")>>\n\t<<set _blackHoles = [0]>>\n<</if>>\n<<set _star = oneOf(_blackHoles)>>\n\n<<set $eventTitle = "Caught by Gravity">>\n<p>The navigation system flashes an ominous warning. The <<shipName>> was previously in a stable orbit <<if $contextTraits.includes("pBelt")>>within <<planetName>><<else>>of <<planetName>><</if>>, but the black hole <<starName _star>> has won the orbital tug-of-war and the <<shipName>> is now spiralling inwards. <<TheExplorers>> must act quickly to prevent the ship from being pulled too close to escape.</p>\n<p>\n\t<<opt "Orbit Black Hole Caught Pilot" "ePilot" "medium" "sDamageInterplanetaryEngine" "Orbit Black Hole Caught No Pilot" "hard">>\n\t<<opt "Orbit Black Hole Caught Engineer" "eEngineer" "medium" "sDamageInterplanetaryEngine" "Orbit Black Hole Caught No Engineer" "hard">>\n</p>
<<name>> uses a slingshot manoeuvre to put the <<shipName>> back into a stable orbit <<showFuelCost small>>
<p>At first glance there seems to be no way for the <<shipName>> not to be drawn into the black hole, but <<fName>> plots a course that <<inlineLoseFuel "slingshots around the event horizon" small>>, using the black hole's own gravity to gain orbital velocity. <<TheExplorers>> get an uncomfortably <<inlineGainData "close view" planetary_science tiny>> of the black hole, before the <<shipName>> completes its manoeuvre and hurtles out again into space.</p>\n<p><<nextEventLink>></p>
<p><<fName>> plots a course that ought to slingshot around the black hole, using its gravity to give the <<shipName>> more orbital velocity. In clear space the course would be successful, but <<fName>>'s course requires the ship to pass through a dense region of the accretion disc. <<inlineDamageShip "Space debris bombards the ship" "was pulled into a black hole">> before <<fName>> manages to <<inlineLoseFuel "stabilise its orbit" medium>>.</p>\n<p><<nextEventLink>></p>
<<name>> overloads the engine to overcome the black hole's gravity <<showFuelCost medium>>
<p><<fName>> disables the propulsion system's safeties and uses every engineering trick <<heshe>> <<verb knows>> to <<inlineLoseFuel "push fuel through the engine" medium>>. The ship shudders and groans as it fights against the black hole's grasp, but it eventually breaks free and settles into a wider, safer orbit.</p>\n<p><<nextEventLink>></p>
<p><<fName>> disables the propulsion system's safeties and uses every engineering trick <<heshe>> <<verb knows>> to push fuel through the engine. The <<shipName>> <<inlineLoseFuel "fights against the black hole's grasp" large>>, but the acceleration required to break free is simply beyond what its engines can provide. It eventually makes it into a safer orbit, but the engine has taken <<inlineDamageShip "severe damage" "was pulled into a black hole" "sDamageInterplanetaryEngine">>.</p>\n<p><<nextEventLink>></p>
<<TheExplorers>> <<eVerb try tries>> to find a gravity-assist course that will put the <<shipName>> back into a stable orbit <<showFuelCost medium>>
<p>At first glance there seems to be no way for the <<shipName>> not to be drawn into the black hole, but <<theExplorers>> <<eVerb manage>> to find a course that <<inlineLoseFuel "slingshots around the event horizon" medium>>, using the black hole's own gravity to gain orbital velocity.</p>\n<p><<nextEventLink>></p>
<p>The navigation system can find no course that will escape the black hole's gravity without dangerously overloading the engine. In desperation, <<theExplorers>> <<eVerb do does>> just that, <<inlineLoseFuel "pushing the ship out of danger" large>> but <<inlineDamageShip "badly damaging" "was pulled into a black hole" "sDamageInterplanetaryEngine">> it in the process.</p>\n<p><<nextEventLink>></p>
<<TheExplorers>> <<eVerb overload>> the engine to overcome the black hole's gravity <<showFuelCost large>>
<p><<TheExplorers>> <<eVerb disable>> the propulsion system's safeties and <<eVerb open>> up the throttle as far as it will go. The ship shudders and groans as it <<inlineLoseFuel "fights against the black hole's grasp" large>>, but it eventually breaks free and settles into a wider, safer orbit.</p>\n<p><<nextEventLink>></p>
<p><<TheExplorers>> <<eVerb disable>> the propulsion system's safeties and open up the throttle as far as it will go. The <<shipName>> <<inlineLoseFuel "fights against the black hole's grasp" large>>, but the acceleration required to break free is simply beyond what its engines can provide. It eventually makes it into a safer orbit, but not before the engine takes <<inlineDamageShip "severe damage" "was pulled into a black hole" "sDamageInterplanetaryEngine">>.</p>\n<p><<nextEventLink>></p>
/% Find the star with the black hole trait %/\n<<set _blackHoles = []>>\n<<for _n = 0; _n < $currentSystem.stars.length; _n++>>\n\t<<if $currentSystem.stars[_n].traits.includes("tBlackHole")>>\n\t\t<<set _blackHoles.push(_n)>>\n\t<</if>>\n<</for>>\n<<if _blackHoles.length == 0>>\n\t<<run console.error("Orbit Black Hole Risk ran but no stars had tBlackHole trait!")>>\n\t<<set _blackHoles = [0]>>\n<</if>>\n<<set _star = oneOf(_blackHoles)>>\n\n<<set $eventTitle = "Maelstrom of Destruction">>\n<p><<planetName>> orbits close to the black hole <<starName _star>>, just outside the maelstrom of destruction that is its accretion disc. Diffuse matter trapped by the black hole's gravity spirals inwards, heated by friction and tidal forces into an angry glow. Closer observation could yield new insights into both the composition of the accretion disc and the gravitational effects of <<starName _star>>--if <<theExplorers>> <<eVerb are is>> willing to risk getting that close to a black hole.</p>\n<p>\n\t<<opt "Orbit Black Hole Risk Pilot" "ePilot" "medium" "sDamageInterplanetaryEngine" "Orbit Black Hole Risk No Pilot" "hard">>\n\t<<opt "Orbit Black Hole Risk Engineer" "eEngineer" "easy" "sDamageFabricator">>\n\t<<opt "Orbit Black Hole Risk Watch" "" "medium">>\n\t<<nextEventLink "Orbit Black Hole Risk Ignore Option">>\n</p>
<<name>> moves the <<shipName>> as close as <<heshe>> <<verb dares>> <<showFuelCost small>>
<p>Keeping just outside the plane of the accretion disc, <<fName>> carefully <<inlineLoseFuel "moves" small>> the <<shipName>> into a closer and closer orbit of the black hole. From that vantage, <<theExplorers>> <<eVerb have has>> <<eNoun "ringside seats" "a ringside seat">> to the <<inlineGainData "spectacle of destruction" planetary_science medium>>, as matter being drawn into the black hole is shattered and superheated by friction and tidal forces. The <<shipName>> groans under the gravitational strain, but <<fName>> is careful to keep it outside the radius at which the black hole would break it apart.</p>\n<p><<nextEventLink>></p>
<p><<fName>> puts the <<shipName>> into an elliptical orbit that should take it close to the black hole and then back out to safety. However, the diffuse matter that makes up the outer edge of the accretion disc proves denser than <<theExplorers heshe>> had anticipated: enough to have an appreciable drag effect, slowing the <<shipName>>'s orbit and risking pitching it into the black hole. <<fName>> must <<inlineLoseFuel "burn the engines at full throttle" large>> to get back into a safe orbit, putting the ship under a <<inlineDamageShip "damaging amount of strain" "was pulled into a black hole">>.</p>\n<p><<nextEventLink>></p>
<<TheExplorers>> <<eVerb move>> the <<shipName>> as close as <<they>> <<eVerbpn dare>> <<showFuelCost small>>
<p>Ignoring the autopilot's warnings, <<theExplorers>> <<eVerb put>> the <<shipName>> into an <<inlineLoseFuel "elliptical orbit" small>> that will take it close to the scene of destruction and then back out again to safety. <<TheExplorers>> <<eVerb wait>> anxiously as the ship rattles and groans around them, but <<they>> <<eVerbpn are is>> able to watch the <<inlineGainData "glowing spirals of superheated destruction" planetary_science medium>> until the ship's orbit takes it safely back out of the accretion disc.</p>\n<p><<nextEventLink>></p>
<p>The <<shipName>> hurtles towards the black hole, its scanners preparing to gather data from the dangerous region--but <<theExplorers>> <<eVerb realise>> that the angle of approach is too steep, and the ship will be caught in the gravity well. <<They>> <<eVerbpn scramble>> to change course, but the <<inlineLoseFuel "harsh manoeuvres" large>> <<inlineDamageShip "strain the ship's structure" "was pulled into a black hole">>.</p>\n<p><<nextEventLink>></p>
<<name>> sends a remote probe to gather data
<p>Creating a probe that will last long enough in that region of destruction to transmit back useful data is difficult, but <<fName>> rises to the challenge and designs a sturdy robot loaded with scanners inside a reinforced shell. It spins through the layers of the accretion disc, transmitting back <<inlineGainData "data about the disintegrating bodies" planetary_science small>>, before being consumed by the ravenous void.</p>\n<p><<nextEventLink>></p>
<p><<fName>>'s probe arcs towards the black hole, but its transmission cuts out as it enters a denser region of the accretion disc. It seems that <<fName>>'s handiwork was not sturdy enough to survive this dangerous region of space.</p>\n<p><<nextEventLink>></p>
<<TheExplorers>> <<eVerb observe>> the destruction from afar
<p>The <<shipName>> remains in distant orbit while its scanners collect <<inlineGainData "what data they can" planetary_science tiny>> from the edge of the accretion disc.</p>\n<p><<nextEventLink>></p>
<p>Although the <<shipName>> is safe at the outer edge of the accretion disc, being this close to the hole in space changes the mood on the ship. While <<randomCrewMember>> is monitoring the data stream, <<heshe>> <<verb finds>> <<himherself>> spending long hours staring at the circle of utter blackness, becoming consumed by <<inlineDepressCrewMember "existential despair">>.</p>\n<p><<nextEventLink>></p>
<<TheExplorers>> <<eVerb ignore>> the black hole
<<set $eventTitle = "Curious Space-Dweller">>\n<p>\nThe navigational sensors alert <<theExplorers>> to an object erratically moving in and out of a collision course with the <<shipName>>.\n<<if $currentSystem.planets[$planetNumber].knownTraits.includes("psOrbitingSpaceWhale")>>\n\tIt is the immense space-dwelling life-form that <<theExplorers>> at first took to be a natural satellite of <<planetName>>.\n<<elseif $currentSystem.planets[$planetNumber].knownTraits.includes("psSpaceWhaleSwarm")>>\n\tIt is one of the huge space-dwelling life-forms that <<theExplorers>> at first took to be <<planetName>>'s ring system.\n<<elseif $contextTraits.includes("psOrbitingSpaceWhale")>>\n\t<<revealPlanetTrait "psOrbitingSpaceWhale">>\n\tIt appears to be an <<printDesc "&immense space-dwelling life-form==psOrbitingSpaceWhale&">> that <<theExplorers>> had originally taken to be a natural satellite of <<planetName>>.\n<<elseif $contextTraits.includes("psSpaceWhaleSwarm")>>\n\t<<revealPlanetTrait "psSpaceWhaleSwarm">>\n\tIt appears that the <<planetNoun>>'s ring is actually a <<printDesc "&swarm of huge space-dwelling life-forms==psSpaceWhaleSwarm&">>, and that one of them has moved out of its orbit to approach the <<shipName>>.\n<</if>>\nA close-up view of such a creature could be informative, but it is\n<<if $contextTraits.includes("psOrbitingSpaceWhale")>>\n\tmuch larger than the <<shipName>>,\n<<else>>\n\tabout the size of the <<shipName>>,\n<</if>>\nand it looks like it could easily damage the ship without meaning to.\n</p>\n\n<p>\n\t<<opt "Orbit Curious Space Whale Pilot" "ePilot" "easy" "sDamageLandingEngine" "Orbit Curious Space Whale No Pilot" "hard">>\n\t<<opt "Orbit Curious Space Whale Biologist" "eBiologist" "hard" "sDamageLandingEngine">>\n\t\n\t<<opt "Orbit Curious Space Whale Wait" "" "medium">>\n</p>
<<name>> evades the creature <<showFuelCost tiny>>
<p>The creature's means of propulsion is unclear, but whatever it is, it cannot provide as much acceleration as the <<shipName>>'s landing engine. <<fName>> easily <<inlineLoseFuel "puts some distance" tiny>> between the ship and the creature, which gives up the chase and returns to its normal orbit.</p>\n<p><<nextEventLink>></p>
<p><<fName>> <<inlineLoseFuel "accelerates" tiny>> the <<shipName>>, but the sudden movement appears to provoke the creature, which puts on another burst of speed to compensate. <<fName>> cannot out-fly the creature in its natural habitat, and it <<inlineDamageShip "scrapes against the side" "was destroyed by a space-dwelling organism">> of the <<shipName>> before moving off.</p>\n<p><<nextEventLink>></p>
<<TheExplorers>> <<eVerb attempt>> to avoid the creature <<showFuelCost tiny>>
<p>The creature's means of propulsion is unclear, but whatever it is, it cannot provide as much acceleration as the <<shipName>>'s landing engine. Despite not being designed for this eventuality, the autopilot <<inlineLoseFuel "puts some distance" tiny>> between the ship and the creature, which gives up the chase and returns to its normal orbit.</p>\n<p><<nextEventLink>></p>
<p>The <<shipName>> <<inlineLoseFuel "accelerates" tiny>>, but the sudden movement appears to provoke the creature, which puts on another burst of speed to compensate. The autopilot cannot out-fly the creature, and it <<inlineDamageShip "scrapes against the side" "was destroyed by a space-dwelling organism">> of the <<shipName>> before moving off.</p>\n<p><<nextEventLink>></p>
<<name>> takes control of the <<shipName>> and tries to calm the organism
<p><<fName>> analyses the organism's movements and programs the <<shipName>>'s flight computer to mimic and respond to them. Apparently reassured that the strange metallic object is similar to itself, the organism slowly circles the <<shipName>> for a few minutes before moving away, allowing <<fName>> to <<inlineGainData "make detailed observations" xenobiology medium>>.</p>\n<p><<nextEventLink>></p>
<p><<fName>> analyses the organism's movements and programs the <<shipName>>'s flight computer to mimic them, but the organism appears to interpret the <<shipName>> a rival and accelerates aggressively. <<fName>> tries to have the ship move submissively, but it is too late: the organism <<inlineDamageShip "rams the ship" "was destroyed by a space-dwelling organism">> away from its territory before moving off.</p>\n<p><<nextEventLink>></p>
<<TheExplorers>> <<eVerb wait>> for the creature to lose interest
<p>The organism matches orbit a few hundred kilometres away from the <<shipName>> and observes it with a dozen huge globular eyes, allowing the <<shipName>>'s scanners to <<inlineGainData "observe it in turn" xenobiology small>>. Eventually it seems to decide that the <<shipName>> is neither predator nor prey, and moves back to its normal orbit.</p>\n<p><<nextEventLink>></p>
<p>The <<shipName>> holds still, <<theExplorers>> hoping not to provoke the creature, but it needs no provocation to give the ship a <<inlineDamageShip "curious nudge" "was destroyed by a space-dwelling organism">> before losing interest and moving back to its normal orbit.</p>\n<p><<nextEventLink>></p>
<<set $eventTitle = "Spectacle of Destruction">>\n<p>The navigational sensors detect a large asteroid on course to impact <<planetName>>. The impact will not be large enough to seriously damage <<planetName>> or change its orbit, but it should be a spectacular display and reveal more about the composition of both bodies. The <<shipName>>'s current orbit will put it on the opposite side of the <<planetNoun>> when the impact occurs: out of danger, but also not placed to observe the event.</p>\n<p>\n\t<<opt "Orbit Observe Impact Pilot" "ePilot" "easy" "sDamageInterplanetaryEngine" "Orbit Observe Impact No Pilot" "medium">>\n\t<<nextEventLink "Orbit Observe Impact Ignore Option">>\n</p>
<<name>> changes orbit so that the <<shipName>> will be able to observe the impact
<p><<fName>> puts the <<shipName>> into a lower, faster orbit that puts it on the same side of the <<planetNoun>> when the asteroid hits.\n<<if $contextTraits.includesAny("pAtmosThick","pAtmosCrushing")>>\n\tThe asteroid tears through <<planetNoun>>'s atmosphere in a spectacular fireball,\n<<else>>\n\tThe asteroid impacts the <<planetNoun>>'s surface in a spectacular fireball,\n<</if>>\nand <<theExplorers>> <<eVerb have has>> <<inlineGainData "an excellent view" planetary_science medium>> of the unfolding destruction.</p>\n<p><<nextEventLink>></p>
<p><<fName>> puts the <<shipName>> into a lower, faster orbit that will put it on the same side of the <<planetNoun>> when the asteroid hits. Unfortunately, the asteroid was not the only one heading towards <<planetName>>--it had a number of small companions, one of which <<inlineDamageShip "punches through" "was destroyed by a small asteroid">> the <<shipName>>'s hull. The asteroid impact creates a spectacular fireball on the <<planetNoun>> below, but <<theExplorers>> <<eVerb are is>> too busy sealing the breach to observe it.</p>\n<p><<nextEventLink>></p>
<<TheExplorers>> <<eVerb change>> orbit so that the <<shipName>> will be able to observe the impact
<p><<TheExplorers>> <<eVerb put>> the <<shipName>> into a lower, faster orbit that puts the impact site just above the horizon.\n<<if $contextTraits.includesAny("pAtmosThick","pAtmosCrushing")>>\n\tThe asteroid tears through <<planetNoun>>'s atmosphere in a spectacular fireball,\n<<else>>\n\tThe asteroid impacts the <<planetNoun>>'s surface in a spectacular fireball,\n<</if>>\nand <<theExplorers>> <<eVerb have has>> <<inlineGainData "a good view" planetary_science small>> of the unfolding destruction.</p>\n<p><<nextEventLink>></p>
<p><<TheExplorers>> <<eVerb put>> the <<shipName>> into a lower, faster orbit that will put it on the same side of the <<planetNoun>> when the asteroid hits. Unfortunately, the asteroid was not the only one heading towards <<planetName>>--it had a number of small companions, one of which <<inlineDamageShip "punches through" "was destroyed by a small asteroid">> the <<shipName>>'s hull. The asteroid impact creates a spectacular fireball on the <<planetNoun>> below, but <<theExplorers>> <<eVerb are is>> too busy sealing the breach to observe it.</p>\n<p><<nextEventLink>></p>
The <<shipName>> stays on its current safe orbit
<<set $eventTitle = "Meteor Storm">>\n<p>The <<shipName>>'s collision avoidance system fills with warnings. <<planetName>> is passing through one of the <<systemName>> system's dense asteroid regions, and the <<planetNoun>>'s orbit will soon be filled with deadly space rocks.</p>\n<p>\n\t<<opt "Orbit Meteors Atmosphere" "pAtmosThick" "easy">>\n\t<<opt "Orbit Meteors Atmosphere" "pAtmosCrushing" "easy">>\n\t<<opt "Orbit Meteors Observe Pilot" "ePilot" "medium" "sDamageLandingEngine" "Orbit Meteors Observe No Pilot" "hard">>\n\t<<opt "Orbit Meteors Retreat" "" "medium" "sDamageInterplanetaryEngine">>\n</p>
<<name>> flies through the heart of the meteor storm so that the <<shipName>> can collect data <<showFuelCost tiny>>
<p>The collision warning system blares angrily at <<fName>>, but <<heshe>> <<verb ignores>> it and <<verb orients>> the <<shipName>> directly at the heart of the oncoming meteor storm. <<fName>> skilfully <<inlineLoseFuel "avoids impacts" tiny>> as the rocks tear past, while the <<shipName>>'s scanners collect <<inlineGainData "data" planetary_science medium>> about the <<starName>> system's minor bodies.</p>\n<p><<nextEventLink>></p>
<p>Ignoring the collision avoidance system's warnings, <<fName>> orients the <<shipName>> directly for the heart of the oncoming meteor storm. As the rocks tear past, <<heshe>> <<verb keeps>> the <<shipName>> safe in clear space, until a <<inlineLoseFuel "misfiring thruster" tiny>> puts it in just the wrong place and it takes a <<inlineDamageShip "glancing hit" "was destroyed by a meteor storm">> from a fast-moving rock.</p>\n<p><<nextEventLink>></p>
<<TheExplorers>> <<eVerb position>> the ship close to the path of the meteors in order to collect data <<showFuelCost tiny>>
<p>The collision warning system blares angrily, but <<theExplorers>> <<eVerb ignore>> it and <<eVerb head>> <<inlineLoseFuel "directly for the meteor storm" tiny>>. A number of meteors shoot by the <<shipName>> nerve-rackingly close, but these only allow its scanners to collect <<inlineGainData "data" planetary_science small>> about the <<starName>> system's minor bodies.</p>\n<p><<nextEventLink>></p>
<p>Ignoring the collision avoidance system's warnings, <<theExplorers>> <<if $crew.length==1>><<inlineLoseFuel "fires the engines" tiny>><<else>><<inlineLoseFuel "fire the engines" tiny>><</if>> and <<eVerb manoeuvre>> the <<shipName>> to a position that <<they>> <<eVerb think>> is just outside the danger zone. They mis-judge, however, and an outlying meteor <<inlineDamageShip "tears into" "was destroyed by a meteor storm">> the <<shipName>>, sending fragments of machinery glittering into space.</p>\n<p><<nextEventLink>></p>
<<TheExplorers>> <<eVerb move>> the <<shipName>> to a safe distance <<showFuelCost small>>
<p>Any data that the <<theExplorers>> might <<eVerb collect>> is not worth the risk to the <<shipName>>.\n<<if Crew.anyoneHasTrait($crew, "ePilot")>>\n\t<<bestPilot>>\n<<else>>\n\tthe autopilot\n<</if>>\nmoves the <<shipName>> to a <<inlineLoseFuel "higher orbit" small>>, well outside the range of the meteor storm.</p>\n<p><<nextEventLink>></p>
<p>The <<shipName>> begins moving to a <<inlineLoseFuel "higher orbit" small>>, but the meteor storm proves larger than the scanners had initially detected. An outlying meteor <<inlineDamageShip "tears into" "was destroyed by a meteor storm">> the <<shipName>>, sending fragments of machinery glittering into space.</p>\n<p><<nextEventLink>></p>
<<TheExplorers>> <<eVerb take>> the <<shipName>> into <<planetName>>'s dense atmosphere to shelter from the meteors <<showFuelCost tiny>>
<p>The <<shipName>> <<inlineLoseFuel "descends" small>> to hover in the <<planetNoun>>'s dense atmosphere. <<TheExplorers>> <<eVerb are is>> treated to a fabulous spectacle as the meteors strike the atmosphere and <<inlineGainData "burn up in streaks of light" planetary_science small>>.</p>\n<p><<nextEventLink>></p>
<p>The <<shipName>> <<inlineLoseFuel "descends" small>> until <<planetName>>'s thick atmosphere hides the approaching meteors from view. <<TheExplorers>> <<eVerb believe>> <<they>> <<eVerb are is>> safe--but atmospheric interference means the sensors provide no warning when a large meteor makes it far enough into the atmosphere to <<inlineDamageShip "strike the ship" "was destroyed by a meteor storm">>.</p>\n<p><<nextEventLink>></p>
<<set $eventTitle = "Radio Contact">>\n<<revealPlanetTrait "psCiv" "cNotExtinct">>\n<<revealNativeCivTrait "cNotExtinct">>\n<<discoverNativeCiv>>\n<p><<TheExplorers>> <<eVerb detect>> a <<printDesc "&radio signal==psCiv&">> originating from the <<planetNoun>> below, seemingly being <<printDesc "&beamed==cNotExtinct&">> directly at the <<shipName>>.</p>\n\n<p>\n\t<<opt "Orbit Radio Contact Xenologist" "eXenologist" "medium" "sUpgradeTranslator" "Orbit Radio Contact No Xenologist" "hard">>\n\t<<nextEventLink "Orbit Radio Contact Ignore Option">>\n</p>
<<name>> responds and tries to establish communications
<p><<fName>> transmits the interspecies greetings that the Chiron Project's Xenology Division designed for this situation. After a lot of back-and-forth between the orbiting <<shipName>> and the <<planetNoun>>'s inhabitants, <<heshe>> <<verb establishes>> basic communications.</p>\n<<include [[Orbit Radio Contact Success Common]]>>
<<set $civilisations[$currentSystem.planets[$planetNumber].nativeCiv].knownTraits.pushUnique("cKnowName")>>\n<<set $civilisations[$currentSystem.planets[$planetNumber].nativeCiv].traits.pushUnique("cKnowName")>>\n<<set $currentSystem.planets[$planetNumber].traits.pushUnique("cKnowName")>>\n<p>The natives introduce themselves as the <span class="keyword"><<civname>><<civNameTooltip $currentSystem.planets[$planetNumber].nativeCiv>></span>, and invite the <<shipName>> to land at a particular set of coordinates so that they can establish proper communications.</p>\n<p><<nextEventLink>></p>
<p><<fName>> pores over the signal looking for meaning, and transmits the interspecies greetings that the Chiron Project's Xenolinguistics Division designed for just this situation, but <<hisher>> attempts to establish communications are fruitless.</p>\n<p><<nextEventLink>></p>
The <<shipName>> remains in orbit while <<theExplorers>> <<eVerb attempt>> to establish communications
<p><<TheExplorers>> <<eVerb transmit>> the interspecies greetings that the Chiron Project's Xenology Division designed for this situation. The aliens appear to understand the greeting, and respond with a longer message. After a lot of back-and-forth between the orbiting <<shipName>> and the <<planetNoun>>'s inhabitants, the aliens manage to teach <<theExplorers>> a rudimentary version of their language.</p>\n<<include [[Orbit Radio Contact Success Common]]>>
<p><<TheExplorers>> <<eVerb transmit>> the interspecies greetings that the Chiron Project's Xenology Division designed for this situation, the aliens show no signs of understanding it and their follow-up message is similarly incomprehensible. There is no way of telling whether it is an invitation to land, a warning to stay away, or something else.</p>\n<p><<nextEventLink>></p>
<<TheExplorers>> <<eVerb ignore>> the transmission
<p>The transmission repeats for several hours, and then ceases.</p>\n<p><<nextEventLink>></p>
<<set $eventTitle = "Volcano Into Orbit">>\n<p>The horizon ahead of the <<shipName>>'s orbit erupts in a majestic plume of <<if $contextTraits.includes("pCryoVolcanoes")>>shimmering ice<<else>>glowing lava<</if>>. The eruption is so powerful and the <<planetNoun>>'s gravity is so light that some of the ejecta is being thrown into orbit--directly in the <<shipName>>'s path.</p>\n<p>\n\t<<opt "Orbit Volcano Ejecta Observe Pilot" "ePilot" "medium" "sDamageInterplanetaryEngine" "Orbit Volcano Ejecta Observe No Pilot" "hard">>\n\t<<opt "Orbit Volcano Ejecta Avoid" "" "easy" "sDamageInterplanetaryEngine">>\n</p>
<<name>> flies through the ejecta to gather data
<p>The <<shipName>> maintains its orbit as the plume of <<if $contextTraits.includes("pCryoVolcanoes")>>ice<<else>>lava<</if>> rises to meet it. Soon the windows are filled with <<if $contextTraits.includes("pCryoVolcanoes")>>glittering shards<<else>>cooling ash<</if>>. Small fragments rattle against the hull, but <<fName>> skilfully avoids anything large enough to damage the ship, and the scanners collect data about the <<planetNoun>>'s <<inlineGainData "geology" planetary_science medium>>.</p>\n<p><<nextEventLink>></p>
<p><<fName>> holds the <<shipName>> steady as it flies directly into the expanding plume of <<if $contextTraits.includes("pCryoVolcanoes")>>ice<<else>>ash<</if>>. <<HeShe>> <<verb thinks>> <<heshe>> can avoid the more damaging pieces of ejecta, but the plume is denser than the <<shipName>>'s scanners had initially indicated, and <<inlineDamageShip "something tears into the hull" "collided with volcanic ejecta">>.</p>\n<p><<nextEventLink>></p>
<<TheExplorers>> <<eVerb fly flies>> through the ejecta to gather data
<p>The <<shipName>> maintains its orbit as the plume of <<if $contextTraits.includes("pCryoVolcanoes")>>ice<<else>>lava<</if>> rises to meet it. Soon the windows are filled with <<if $contextTraits.includes("pCryoVolcanoes")>>glittering shards<<else>>cooling ash<</if>>. Small fragments rattle against the hull, but none of them are large enough to damage the ship, and the scanners collect data about the <<planetNoun>>'s <<inlineGainData "geology" planetary_science medium>>.</p>\n<p><<nextEventLink>></p>
<p>The <<shipName>> flies directly into the expanding plume of <<if $contextTraits.includes("pCryoVolcanoes")>>ice<<else>>ash<</if>>. At first <<theExplorers>> <<eVerb think>> that it will be able to withstand the impacts, but some pieces of ejecta are larger than the scanners had initially indicated, and <<inlineDamageShip "something tears into the hull" "collided with volcanic ejecta">>.</p>\n<p><<nextEventLink>></p>
<<TheExplorers>> <<eVerb change>> course to avoid the ejecta <<showFuelCost tiny>>
<p>The <<shipName>> <<inlineLoseFuel "alters course" tiny>>, and <<theExplorers>> <<eVerb watch watches>> as the plume spreads out and falls back towards the surface.</p>\n<p><<nextEventLink>></p>
<p>The <<shipName>> sluggishly <<inlineLoseFuel "alters course" tiny>>, but the eruption was only one of a chain of <<if $contextTraits.includes("pCryoVolcanoes")>>cryovolcanoes<<else>>volcanoes<</if>> stretching around this part of the <<planetNoun>>, all of which are now erupting in unison. With no way to avoid the hazard, the <<shipName>> is overtaken by clouds of <<if $contextTraits.includes("pCryoVolcanoes")>>ice<<else>>ash<</if>> and a large piece of ejecta <<inlineDamageShip "impacts the hull" "collided with volcanic ejecta">>.</p>\n<p><<nextEventLink>></p>
<<set $eventTitle = "Radiation Belt">>\n<p><<planetName>>'s magnetic field channels charged particles into radiation belts, similar to the Van Allen belts surrounding Earth. The Van Allen belts have been thoroughly mapped, but <<theExplorers>> <<eVerb do does>> not know the exact shape of <<planetName>>'s magnetic field, so <<they>> <<eVerbpn have has>> no warning before the <<shipName>>'s orbit carries it into a region of intense radiation.</p>\n<p>\n\t<<opt "Orbit Radiation Belt Engineer" "eEngineer" "medium" "sUpgradeShipRadiationShielding">>\n\t<<opt "Orbit Radiation Belt Planetary Scientist" "ePlanetaryScientist" "medium" "sUpgradeShipRadiationShielding">>\n\t<<opt "Orbit Radiation Belt Pilot" "ePilot" "easy" "sUpgradeShipRadiationShielding sDamageInterplanetaryEngine" "Orbit Radiation Belt No Pilot" "medium">>\n\t<<opt "Orbit Radiation Belt Ignore" "" "medium" "sUpgradeShipRadiationShielding">>\n</p>
<<name>> changes course to stay out of the belt
<p>A controlled engine burn stabilises the <<shipName>>'s orbit in a low-radiation zone between two belts, and monitoring the radiation levels during the manoeuvre teaches <<theExplorers>> a little more about the <<planetNoun>>'s <<inlineGainData "magnetic field" planetary_science tiny>>.</p>\n<p><<nextEventLink>></p>
<p><<fName>> moves the ship into what <<heshe>> <<verb thinks>> will be a safe zone, but the shape of the magnetic field is different from what <<heshe>> expected.\n<<if $crew.length > 2>>\n\tThe other explorers shelter in a more protected part of the ship, but\n<<elseif $crew.length == 1>>\n\t<<randomCrewMember2 not1>> is able to shelter in a more protected part of the ship, but\n<</if>>\n<<name>> must stay at the controls, and <<inlineGiveCrewMemberTrait "receives a large dose of radiation" "eRadiationSickness">>.\n</p>\n<p><<nextEventLink>></p>
<<name>> double-checks the <<shipName>>'s radiation shielding
<p><<fName>> checks over the ship's radiation shielding and confirms that it is up to the task. As the <<shipName>> passes through the belt, <<theExplorers heshe>> <<eVerbpn do does>> not have to worry about the radiation level, and can instead concentrate on gathering data about the <<planetNoun>>'s <<inlineGainData "magnetic field" planetary_science tiny>>.</p>\n<p><<nextEventLink>></p>
<p><<fName>> thinks that <<heshe>> <<verb has have>> time to fully check the radiation shielding before the <<shipName>> enters the belt, but the radiation level rises faster than <<theExplorers heshe>> had expected.\n<<if $crew.length > 2>>\n\tThe other explorers shelter in a more protected part of the ship, but\n<<elseif $crew.length == 1>>\n\t<<randomCrewMember2 not1>> is able to shelter in a more protected part of the ship, but\n<</if>>\n<<name>> is caught close to the ship's outer hull, and <<inlineGiveCrewMemberTrait "receives a large dose of radiation" "eRadiationSickness">>.\n</p>\n<p><<nextEventLink>></p>
<<name>> takes the opportunity to study the <<planetNoun>>'s magnetic field
<p>Trusting the radiation shielding to protect <<himher>>, <<fName>> stays in the observation module to take readings as the <<shipName>> passes through the belt. The shielding holds, and <<heshe>> <<verb constructs>> a more complete picture of the <<planetNoun>>'s <<inlineGainData "magnetic field" planetary_science medium>>.</p>\n<p><<nextEventLink>></p>
<p>Trusting the radiation shielding to protect <<himher>>, <<fName>> stays in the observation module to take readings as the <<shipName>> passes through the belt. <<HeShe>> <<verb manages>> to construct a more complete picture of the <<planetNoun>>'s <<inlineGainData "magnetic field" planetary_science small>>, but in doing so <<heshe>> <<verb takes>> <<inlineGiveCrewMemberTrait "a large dose of radiation" "eRadiationSickness">>.</p>\n<p><<nextEventLink>></p>
<<TheExplorers>> <<eVerb try tries>> to avoid the belt
<p>A controlled engine burn stabilises the <<shipName>>'s orbit in a safe zone between two radiation belts.</p>\n<p><<nextEventLink>></p>
<p>The <<shipName>> changes course, but the radiation belt is more extensive than it first appeared and charged particles continue to bombard the habitat ring. Afterwards, medical scans confirm that <<randomCrewMember>> has <<inlineGiveCrewMemberTrait "radiation sickness" "eRadiationSickness">>.</p>\n<p><<nextEventLink>></p>
<<TheExplorers>> <<eVerb trust>> the <<shipName>>'s radiation shielding
<p>The Chiron Project's shipwrights did their job well. The shielding holds, and the <<shipName>> passes through the radiation belt without incident.</p>\n<p><<nextEventLink>></p>
<p>The <<shipName>>'s shielding prevents the radiation from being immediately lethal, but enough gets through that <<randomCrewMember>> gets a <<inlineGiveCrewMemberTrait "dangerous dose" "eRadiationSickness">>.</p>\n\n<p><<nextEventLink>></p>
<<set $eventTitle = "Light Show">>\n<p>The <<shipName>> is orbiting over the night side of <<planetName>>, but the surface below lights up with crackling spirals of energy. A freak electrical storm is occurring in the <<planetNoun>>'s atmosphere, and beautiful but potentially deadly energy discharges are arcing through its atmosphere.</p>\n<p>\n\t<<opt "Orbit Storm Risk Pilot" "ePilot" "medium" "sDamageLandingEngine sUpgradeShipWings" "Orbit Storm Risk No Pilot" "hard">>\n\t<<opt "Orbit Storm Risk Engineer" "eEngineer" "easy" "sDamageFabricator">>\n\t<<opt "Orbit Storm Risk Watch">>\n</p>
<<name>> flies the <<shipName>> into the atmosphere to gather data from the heart of the storm <<showFuelCost tiny>>
<p>Winds buffet the <<shipName>> and lightning crackles around it, but <<fName>> <<inlineLoseFuel "keeps it steady" tiny>> while its scanners gather data from the <<inlineGainData "very heart of the storm" planetary_science medium>>.</p>\n<p><<nextEventLink>></p>
<p><<fName>> guides the <<shipName>> into what <<heshe>> <<verb thinks>> is a safe area of the storm, but it proves too powerful for <<himher>>. <<inlineDamageShip "Winds toss the ship around and lightning bombards it" "was destroyed by an atmospheric storm">> before <<fName>> manages to get it <<inlineLoseFuel "back into orbit" tiny>>.</p>\n<p><<nextEventLink>></p>
The <<shipName>> descends into the atmosphere to gather data from the edge of the storm <<showFuelCost tiny>>
<p>The autopilot complains about the danger, but <<inlineLoseFuel "holds" tiny>> the <<shipName>> at the edge of the storm while its scanners gather <<inlineGainData "data" planetary_science medium>>.</p>\n<p><<nextEventLink>></p>
<p><<TheExplorers>> <<eVerb override>> the autopilot's safeties in order to <<inlineLoseFuel "descend" tiny>> to the edge of the storm. The plan seems to be working, until a powerful gust of wind <<inlineDamageShip "grabs the ship and bombards it with lightning" "was destroyed by an atmospheric storm">> before spitting it back out into orbit.</p>\n<p><<nextEventLink>></p>
<<name>> builds a remote probe to collect data from the storm
<p><<fName>>'s probe de-orbits and enters the storm. The winds suck it deep into the atmosphere, where it <<inlineGainData "transmits its findings" planetary_science small>> back to the <<shipName>> before it is inevitably destroyed.</p>\n<p><<nextEventLink>></p>
<p><<fName>>'s probe de-orbits and enters the storm, but it has barely started transmitting data before it is struck by lightning and disabled.</p>\n<p><<nextEventLink>></p>
<<TheExplorers>> <<eVerb watch watches>> the light show
<p><<TheExplorers>> <<if $crew.length > 1>>gather around<<else>>>floats at<</if>> a window facing the <<planetNoun>>, and <<eVerb watch watches>> the lightning play across its face. It is a pleasant way to spend an evening, but without readings from inside the storm <<they>> <<eVerb learn>> nothing new.</p>\n<p><<nextEventLink>></p>
<<set $eventTitle = "Unstable Slope">>\n<p><<planetName>>'s unstable surface periodically shifts to reveal deeper layers of its crust, providing intriguing opportunities for geological study. <<TheExplorers>> <<eVerb spot>> a rocky slope that looks like it could provide insights into the <<planetNoun>>'s geological history, but it could be unstable, and disturbing it could cause an avalanche.</p>\n<p>\n<<opt "Surface Avalanche Risk Engineer" "eEngineer" "easy" "sDamageFabricator">>\n<<opt "Surface Avalanche Risk Planetary Scientist" "ePlanetaryScientist" "medium">>\n<<opt "Surface Avalanche Risk Go" "" "medium">>\n<<nextEventLink "Surface Avalanche Risk Leave Option">>\n</p>
<<TheExplorers>> <<eVerb decide>> not to risk it
<<name>> builds a remote probe to collect samples from a safe distance
<p><<fName>>'s improvised rover cannot choose the samples as carefully as a trained planetary scientist would have been able to, but its light weight means that it does not release the destructive potential of the delicately balanced rocks. It drills <<inlineGainData "samples" planetary_science small>> from a selection of the rocks and trundles back down the slope to <<theExplorers>>.</p>\n<p><<nextEventLink>></p>
<p><<fName>>'s improvised rover trundles up the slope and begins drilling rock samples, but even its light weight is too much for the delicately balanced rocks. Rocks come tumbling down, burying the rover, and one of them <<inlineInjureCrewMember `"hits "+$crew[$selectedCrewMember].firstName` "was crushed by an avalanche">>.</p>\n<p><<nextEventLink>></p>
<<name>> uses <<hisher>> knowledge of the <<planetNoun>>'s geology to find a safe route up the slope
<p><<fName>> marks a route in <<hisher>> helmet's mapping system, and carefully makes <<hisher>> way up the slope. The rocks loom over <<himher>> with grim gravitational potential, but <<heshe>> <<verb manages>> not to disturb them. Getting close to the rock face allows <<himher>> to collect <<inlineGainData "the most valuable samples" planetary_science medium>>, and <<heshe>> <<verb makes>> it back down safely.</p>\n<p><<nextEventLink>></p>
<p><<fName>> picks <<hisher>> way up what <<heshe>> <<verb thinks>> is the safest route, but the slope proves to be more delicate than <<heshe>> anticipated. <<HeShe>> <<verb runs>> down the slope, trying desperately to outrun the avalanche, but the bounding rocks <<inlineInjureCrewMember `"overtake and bury "+TextUtils.himher()` "was crushed by an avalanche">>.</p>\n<p><<nextEventLink>></p>
<<TheExplorers>> ignore the danger and climb the slope to collect samples
<p><<TheExplorers>> carefully <<eVerb climb>> the slope and <<eVerb collect>> what look like the most valuable samples. <<They>> <<are>> constantly on guard for the slightest sign of the rocks shifting, but the rocks loom silently as if <<theExplorers>> <<are>> beneath their notice, and <<they>> <<eVerb make>> it back to stable ground with <<their>> <<inlineGainData "samples" planetary_science small>>.</p>\n<p><<nextEventLink>></p>
<p><<TheExplorers>> <<eVerb climb>> the slope and <<eVerb collect>> what look like the most valuable samples, but on <<their>> way back down <<they>> feel the rocks shift around <<them>>. <<They>> <<eVerb run>> down the slope, hoping to outrun the avalanche, but <<randomCrewMember heshe>> is too slow, and the rocks <<inlineInjureCrewMember `"overtake and bury "+TextUtils.himher()` "was crushed by an avalanche">>.</p>\n<p><<nextEventLink>></p>
<<set $eventTitle = "Journey to the Centre of " + TextUtils.planetName()>>\n<p><<planetName>>'s caves descend tens of kilometres into the <<planetNoun>>'s crust. An expedition into the depths would be risky, but could lead to new geological insights.</p>\n<p>\n<<opt "Surface Caves Risk Planetary Scientist" "ePlanetaryScientist" "medium" "sUpgradeSuitsArmour" "Surface Caves Risk No Planetary Scientist">>\n<<opt "Surface Caves Risk Engineer" "eEngineer" "medium" "sDamageFabricator">>\n<<opt "Surface Caves Risk Pilot" "ePilot" "hard" "sDamageLandingEngine">>\n<<nextEventLink "Surface Caves Risk Leave Option">>\n</p>
<<TheExplorers>> <<eVerb restrict>> <<their>> survey to the shallow caves
<<name>> <<if $crew.length > 1>>leads an expedition<<else>>ventures alone<</if>> into the deep caves
<p>Guided by seismic scans and <<hisher>> own knowledge of planetary science, <<fName>> <<if $crew.length > 1>>leads the explorers<<else>>descends<</if>> into the depths of <<planetName>>'s crust. <<TheExplorers HeShe>> <<eVerb find>> <<inlineGainData "fascinating and bizarre geological formations" planetary_science medium>>, and <<eVerb return>> to the <<shipName>> with new knowledge about the <<planetNoun>>'s structure.</p>\n<p><<nextEventLink>></p>
<p>Kilometres beneath the surface of <<planetName>>, <<randomCrewMember>> slips off a ledge and <<inlineInjureCrewMember "falls to the cave floor" "was killed in a caving accident">>.</p>\n<p><<nextEventLink>></p>
<<TheExplorers>> <<eVerb venture>> into the deep caves
<p>Guided by seismic scans, <<theExplorers>> <<eVerb descend>> into the depths of <<planetName>>'s crust, where <<they>> <<eVerbpn find>> <<inlineGainData "fascinating and bizarre geological formations" planetary_science small>>.</p>\n<p><<nextEventLink>></p>
<p>Kilometres beneath the surface of <<planetName>>, <<randomCrewMember>> slips off a ledge and <<inlineInjureCrewMember "falls to the cave floor" "was killed in a caving accident">>.</p>\n<p><<nextEventLink>></p>
<<name>> builds a remote probe to explore the caves
<p><<fName>> spends days constructing caving robot, which slithers away into the caves and returns with <<inlineGainData "intriguing scans" planetary_science small>> of <<planetName>>'s internal structure.</p>\n<p><<nextEventLink>></p>
<<set _robotName = Crew.randomCrewMember().firstName>>\n<p><<fName>> spends days constructing caving robot, which slithers away into the caves and is never seen again.</p>\n<p><<nextEventLink>></p>
<<name>> flies the <<shipName>> into the caves <<showFuelCost small>>
<p>The cave system includes chasms and shafts large enough for the <<shipName>> to descend. <<fName>> delicately <<inlineLoseFuel "navigates the ship" small>> past immense rock formations lit only by its floodlights, and eventually finds a landing site deep beneath the surface, which <<theExplorers heshe>> <<eVerb use>> as a base to gather <<inlineGainData "valuable geological data" planetary_science medium>>.</p>\n<p><<nextEventLink>></p>
<p><<fName>> <<inlineLoseFuel "navigates the ship" small>> down an enormous chasm and past immense rock formations, but misjudges a distance and <<inlineDamageShip "scrapes the ship against a cave wall" "crashed in an underground cave system">>.</p>\n<p><<nextEventLink>></p>
<<set $eventTitle = "Cooling System Failure">>\n<p><<randomCrewMember2>> begins feeling uncomfortably hot inside <<hisher2>> suit. A suit diagnostic reveals that the suit's cooling system is failing and can no longer fully compensate for the planet's oppressive temperature.</p>\n<<if $crew.length == 1>>\n\t<p>With no one to help <<himher2>>, <<name2>> dies alone on <<planetName>>.</p>\n\t<<killCrewMember2 `"was cooked alive after "+TextUtils.hisher($crew[$selectedCrewMember2])+" suit's cooling system failed"`>>\n\t<p><<nextEventLink>></p>\n<<else>>\n\t<p>\n\t<<opt "Cooling System Failure Engineer" "eEngineer not2" "medium">>\n\t<<opt "Cooling System Failure Medic" "eMedic not2" "hard" "sUpgradeFirstAid">>\n\t<<opt "Cooling System Failure Link Suits" "" "medium">>\n\t<<opt "Cooling System Failure Return To Ship" "" "hard">>\n\t</p>\n<</if>>
<<name>> attempts to repair the cooling system in the field
<p><<fName>> opens the panel containing the cooling system, and manages to find and fix the problem before the heat overpowers the suit. <<fName2>> sighs with relief as cool air begins to circulate in <<hisher2>> suit, and after a short rest the explorers press on.</p>\n<<include [[Cooling System Failure Complete Options]]>>
<p><<fName>> opens the panel containing the cooling system and searches for the problem, but by the time <<heshe>> <<verb finds>> it, the high temperature has already damaged the suit <<inlineInjureCrewMember2 "beyond the possibility of field repair" `"was cooked alive after "+TextUtils.hisher($crew[$selectedCrewMember2])+" suit's cooling system failed"`>>.</p>\n<<include [[Cooling System Failure Complete Options]]>>
<<name>> tries to keep <<fName2>> alive while\n<<if $crew.length > 2>>\n\tthe explorers get\n<<else>>\n\t<<heshe>> <<verb gets>>\n<</if>>\n<<himher2>> back to the <<shipName>>
<p><<fName>> carefully monitors <<fName2>>'s bio-signs and administers drugs that keep <<himher2>> alive while <<theExplorers>> <<eVerb hurry hurries>> back to the <<shipName>>. Inside the airlock, <<fName>> carefully removes <<fName2>>'s suit and helps <<himher2>> recover in the medbay.</p>\n<<include [[Cooling System Failure Complete Options]]>>
<p><<fName>> carefully monitors <<fName2>>'s bio-signs and administers drugs to keep <<himher2>> alive, but the heat is too severe, and by the time <<theExplorers>> <<eVerb reach reaches>> the ship, <<heshe2>> <<is2>> <<inlineInjureCrewMember2 "suffering from heatstroke" `"was cooked alive after "+TextUtils.hisher($crew[$selectedCrewMember2])+" suit's cooling system failed"`>>.</p>\n<<include [[Cooling System Failure Complete Options]]>>
<<if $crew.length > 2>>\n\tThe other explorers hurry\n<<else>>\n\t<<randomCrewMember not2>> hurries\n<</if>>\n<<fName2>> back to the <<shipName>>
<p><<if $crew.length > 2>>\n\tThe other explorers manage\n<<else>>\n\t<<randomCrewMember not2>> manages\n<</if>>\nto get <<fName2>> back to the <<shipName>> before severe heatstroke sets in. In the safety of the ship, <<fName2>> is able to recover and the explorers are able to repair <<hisher2>> suit.</p>\n<<include [[Cooling System Failure Complete Options]]>>
<p><<TheExplorers>> <<eVerb beat>> a path back to the <<shipName>>, carrying <<fName2>>, who is now limp and silent. Once in the airlock <<they>> <<eVerb peel>> <<himher2>> out of <<hisher2>> suit but <<eVerb find>> that <<heshe2>> <<is2>> <<inlineInjureCrewMember2 "suffering from heatstroke" `"was cooked alive after "+TextUtils.hisher($crew[$selectedCrewMember2])+" suit's cooling system failed"`>>.</p>\n<<include [[Cooling System Failure Complete Options]]>>
The explorers link their suits' life support systems to share the load
<p>\n<<if $crew.length > 2>>\n\tThe other explorers' cooling systems are\n<<else>>\n\t<<randomCrewMember not2>> cooling system is \n<</if>>\nstill working properly, for the time being, so the explorers link their suits together to share the load. With the working cooling <<if $crew.length > 2>>systems<<else>>system<</if>> compensating for the failing one, the trek back to the <<shipName>> is uncomfortably hot, but not dangerously so.</p>\n<<include [[Cooling System Failure Complete Options]]>>
<p>\n<<if $crew.length > 2>>\n\tThe other explorers' suits take\n<<else>>\n\t<<randomCrewMember not2>>'s suit takes\n<</if>>\nsome of the load from <<fName2>>'s cooling system, but even multiple suits working together cannot counteract the <<planetNoun>>'s oppressive heat. By the time the explorers make it back to the <<shipName>>, <<fName2>> and <<randomCrewMember not2>> are <<inlineInjureCrewMember2 "both" `"was cooked alive after "+TextUtils.hisher($crew[$selectedCrewMember2])+" suit's cooling system failed"`>> suffering from <<inlineInjureCrewMember "heatstroke" `"was cooked alive after "+TextUtils.hisher($crew[$selectedCrewMember])+" suit's cooling system failed"`>>.</p>\n<<include [[Cooling System Failure Complete Options]]>>
<p>\n\t<<if !$researchableUpgrades.includes("sUpgradeSuitsHot") && $currentSystem.planets[$planetNumber].knownTraits.includes("plNotExtinct")>><<opt "Cooling System Failure Unlock Upgrade" "eBiologist" "hard">><</if>>\n\t<<nextEventLink>>\n</p>
<<name>> looks for ways to improve the suits using alien biology
<p>Millions of years of evolution on hot planets has given <<planetName>>'s microorganisms better ways of surviving heat than the Chiron Project's scientists could invent. <<fName>> introduces some modified alien microorganisms to <<hisher>> suit's cooling system and activates them on the surface of <<planetName>>. The new organic system only takes a small amount of strain off of the suit's conventional cooling system, but it is a proof of concept that the Chiron Project's lab could improve upon.</p>\n<<unlockUpgrade "sUpgradeSuitsHot">>\n<p><<nextEventLink>></p>
<p>Millions of years of evolution on hot planets has given <<planetName>>'s microorganisms better ways of surviving heat than the Chiron Project's scientists could invent. <<fName>> introduces some modified alien microorganiams to <<hisher>> suit's cooling system and activates them on the surface of <<planetName>>. Unfortunately, the microorganisms begin cooling themselves by venting heat into the suit's regular cooling system, and by the time <<fName>> <<verb gets>> the reaction under control, <<heshe>> <<is>> beginning to suffer from <<inlineInjureCrewMember "heatstroke" "died from heat exhaustion while trying to improve the spacesuits">></p>\n<p><<nextEventLink>></p>
<<set $eventTitle = "The Ground Opens">>\n<p><<planetName>>'s unstable surface shifts, and <<randomCrewMember2>> vanishes into a newly-opened fissure. <<HeShe2>> eventually <<verb2 stops>> moving tens of metres down, wedged precariously between <<surfaceAdj>> walls. For the moment <<heshe2>> <<is2>> unharmed, but <<heshe2>> <<verb2 does do>> not know if <<heshe2>> can safely climb back up.</p>\n<p>\n\t<<if $crew.length > 1>>\n\t\t<<opt "Surface Crevasse Engineer" "eEngineer not2" "medium" "sUpgradeSuitsHighGrav sDamageFabricator">>\n\t\t<<opt "Surface Crevasse Planetary Scientist" "ePlanetaryScientist not2" "medium" "sUpgradeSuitsHighGrav">>\n\t\t<<opt "Surface Crevasse Rope" "only2" "hard" "sUpgradeSuitsHighGrav">>\n\t<<else>>\n\t\t<<opt "Surface Crevasse Climb" "only2" "hard" "sUpgradeSuitsHighGrav">>\n\t<</if>>\n</p>
<<fName>> <<verb climbs>> back up the fissure
<p>Without anyone else to help <<fName>>, the climb back up is long and arduous. <<HeShe>> eventually <<verb makes>> it back to the surface, but not before being <<inlineInjureCrewMember "severely weakened" "died after falling into a fissure">> by the exertion.</p>\n<p><<nextEventLink>></p>
<p>Without anyone to help <<himher>>, <<fName>> is exhausted long before reaching the surface. The exhaustion causes <<himher>> to slip, and <<heshe>> <<verb plunges>> to <<hisher>> death.</p>\n<<killCrewMember "died after falling into a fissure">>\n<p><<nextEventLink>></p>
<<if $crew.length > 2>>\n\tThe other explorers lower\n<<else>>\n\t<<randomCrewMember not2>> lowers\n<</if>>\na rope
<p><<fName2>> <<verb2 manages>> to grab the rope, and\n<<if $crew.length > 2>>\n\tthe other explorers pull\n<<else>>\n\t<<randomCrewMember not2>> <<verb pulls>>\n<</if>>\n<<himher2>> up safely, shaken but not seriously harmed.\n</p>\n<p><<nextEventLink>></p>
<p><<fName2>> <<verb2 manages>> to grab the rope, but as\n<<if $crew.length > 2>>\n\tthe other explorers pull\n<<else>>\n\t<<randomCrewMember not2>> <<verb pulls>>\n<</if>>\n<<himher2>> up the fissure, <<heshe2>> <<verb2 slips>> and <<inlineInjureCrewMember "slams into the side" "died after falling into a fissure">>.</p>\n<p><<nextEventLink>></p>
<<name>> constructs a harness and winch to safely rescue <<fName2>>
<p>Before lowering a rope to <<fName2>>, <<fName>> takes the time to construct a winch and anchor it to <<planetName>>'s surface. The resulting mechanism is much sturdier than merely holding a rope would have been, and smoothly pulls <<fName2>> to the surface, unharmed.</p>\n<p><<nextEventLink>></p>
<p>Rather than simply lowering a rope to <<fName2>>, <<fName>> constructs a winch and anchors it to the <<planetNoun>>'s surface. When <<heshe>> <<verb begins>> to use it, however, the unstable surface <<heshe>> anchored it to fractures, <<inlineInjureCrewMember "hitting" "died while attempting to rescue a crewmate from a fissure">> <<fName>> before tumbling into the fissure. The explorers eventually get <<fName2>> to the surface, but <<heshe2>> and <<fName>> are <<inlineInjureCrewMember2 "both injured" "died after falling into a fissure">>.</p>\n<p><<nextEventLink>></p>
<<name>> finds an alternative route to rescue <<fName2>>
<p><<fName>> has already made some conclusions about how fissures form on <<planetName>>, and knows that a direct descent will not be the safest way to reach <<fName2>>. <<HeShe>> <<verb reassures>> the frightened <<fName2>> that <<heshe>> will be back, treks to the point where the climb down will be easiest, attaches a safety rope to the ground and descends. Soon <<heshe>> <<verb has have>> reached <<fName2>>, and the two of them are ascending unharmed to the surface.</p>\n<p><<nextEventLink>></p>
<p><<fName>>'s understanding of the <<planetNoun>>'s geology suggests that there will be a safer place to climb down and reach <<fName2>>, but the ground proves too unstable, and <<heshe>> <<verb vanishes vanish>> into another fissure. <<HeShe>> eventually <<verb manages>> to rescue <<fName2>>, but not before <<inlineInjureCrewMember "both" "died while attempting to rescue a crewmate from a fissure">> of them have been <<inlineInjureCrewMember2 "injured" "died after falling into a fissure">>.\n\n</p>\n<p><<nextEventLink>></p>
<<set $eventTitle = "Dust Storm">>\n<p>An ominous roiling cloud appears on the horizon. One of the <<planetNoun>>'s periodic dust storms has sprung up, and it is advancing too swiftly for <<theExplorers>> to get back to the shelter of the <<shipName>> before it reaches <<them>>.</p>\n<p>\n<<opt "Dust Storm Engineer" "eEngineer" "medium" "sUpgradeSuitsArmour">>\n<<opt "Dust Storm Caves" "pCaves" "easy" "sUpgradeSuitsArmour" "Dust Storm Shelter" "medium">>\n<<opt "Dust Storm Wait" "" "hard" "sUpgradeSuitsArmour">>\n</p>
<<TheExplorers>> <<eVerb take>> shelter in one of the planet's caves
<p><<bestPlanetaryScientist>> surveys the <<surfaceAdj>> landscape and finds a promising cave entrance. <<TheExplorers>> <<eVerb squeeze>> into the cramped space along with <<their>> most delicate equipment and wait until the storm dies down.</p>\n<p><<nextEventLink>></p>
<p><<TheExplorers>> take shelter in a promising-looking cave, but <<they>> <<eVerb realise>> too late that the wind also blows the dust through the tunnels, so the cave provides no shelter. Abrasive dust bombards <<randomCrewMember>> and <<inlineInjureCrewMember `"pierces "+TextUtils.hisher()+" suit"` "was killed by a dust storm">>.</p>\n<p><<nextEventLink>></p>
<<TheExplorers>> <<if $crew.length>1>>huddle together and<</if>> <<eVerb wait>> for the storm to pass
<p>The howling darkness seems to last forever, but eventually the wind dies down and the sky clears.</p>\n<p><<nextEventLink>></p>
<p>The howling darkness seems to last forever. By the time it eventually dies down, abrasive dust has degraded <<randomCrewMember>>'s suit and <<inlineInjureCrewMember `"injured "+TextUtils.himher()` "was killed by a dust storm">></p>\n<p><<nextEventLink>></p>
<<TheExplorers>> <<eVerb look>> for shelter
<p><<TheExplorers>> <<eVerb are is>> quickly blinded by the howling dust, but <<they>> somehow <<eVerb make>> it to a narrow crevice where <<they>> <<eVerb are is>> able to shelter from the storm.</p>\n<p><<nextEventLink>></p>
<p>\n<<if $crew.length > 1>>\n\tThe atmosphere quickly fills with howling dust, blinding the explorers and confusing their instruments, as the hopeless search for shelter leaves them exposed to the full force of the storm. <<randomCrewMember>> and <<randomCrewMember2 not1>>'s suits are <<inlineInjureCrewMember "severely" "was killed by a dust storm">> <<inlineInjureCrewMember2 "abraded" "was killed by a dust storm">> by the dust by the time it dies down.\n<<else>>\n\tThe atmosphere quickly fills with howling dust, blinding <<randomCrewMember>> and confusing <<hisher>> instruments. The hopeless search for shelter leaves <<himher>> exposed to the full force of the storm, and <<hisher>> suit is <<inlineInjureCrewMember "severely abraded" "was killed by a dust storm">> by the dust by the time it dies down.\n<</if>>\n</p>\n<p><<nextEventLink>></p>
<<name>> assembles a temporary shelter
<p><<fName>> assembles a temporary shelter and <<theExplorers X>> <<eVerb huddle>> inside while the storm roars around <<them>>. It is tense, but the shelter holds, and eventually the storm passes.</p>\n<p><<nextEventLink>></p>
<p>The storm proves too fierce for <<fName>>'s makeshift shelter, and wind rips part of the covering away. <<TheExplorers>> <<eVerb fight>> to reattach it amid the chaos of noise and whirling dust, but abrasive dust bombards <<randomCrewMember>> and <<inlineInjureCrewMember `"pierces "+TextUtils.hisher()+" suit"` "was killed by a dust storm">>.</p>\n<p><<nextEventLink>></p>
<<set $eventTitle = "Heating System Failure">>\n<p><<randomCrewMember2>> begins feeling uncomfortably cold inside <<hisher2>> suit. A suit diagnostic reveals that the suit's heating system is failing and <<hisher2>> body heat is being lost <<if $currentSystem.planets[$planetNumber].traits.includes("pAtmosNone")>>to space<<else>>into the <<planetNoun>>'s atmosphere<</if>>.</p>\n<<if $crew.length == 1>>\n\t<p>With no one to help <<himher2>>, <<name2>> dies alone on <<planetName>>.</p>\n\t<<killCrewMember2 `"froze to death after "+TextUtils.hisher($crew[$selectedCrewMember2])+" suit's heating system failed"`>>\n\t<p><<nextEventLink>></p>\n<<else>>\n\t<p>\n\t<<opt "Heating System Failure Engineer" "eEngineer not2" "medium">>\n\t<<opt "Heating System Failure Medic" "eMedic not2" "hard" "sUpgradeFirstAid">>\n\t<<opt "Heating System Failure Link Suits" "" "medium">>\n\t<<opt "Heating System Failure Return To Ship" "" "hard">>\n\t</p>\n<</if>>
<<name>> attempts to repair the heating system in the field
<p><<fName>> opens the panel containing the suit's heating system, and quickly identifies the problem. <<fName2>> stops shivering as warm air begins to circulate once more in <<hisher2>> suit, and after a short rest the explorers are able to press on.</p>\n<<include [[Heating System Failure Complete Options]]>>
<p><<fName>> is able to prevent the worst of the heat loss, but is unable to fix the heating system in the field. <<fName2>> survives the journey back to the <<shipName>>, but by the time <<theExplorers>> get <<hisher2>> suit off, <<heshe2>> <<is2>> suffering from <<inlineInjureCrewMember2\n"hypothermia" `"froze to death after "+TextUtils.hisher($crew[$selectedCrewMember2])+" suit's heating system failed"`>>.</p>\n<<include [[Heating System Failure Complete Options]]>>
<<name>> tries to keep <<fName2>> alive until <<theExplorers>> get <<himher2>> back to the <<shipName>>
<p><<fName>> carefully monitors <<fName2>>'s bio-signs and administers drugs that keep <<himher2>> alive while <<theExplorers>> <<eVerb hurry hurries>> back to the <<shipName>>. Inside the airlock, <<fName>> carefully removes <<fName2>>'s suit and helps <<himher2>> recover in the medbay.</p>\n<<include [[Heating System Failure Complete Options]]>>
<p><<fName>> carefully monitors <<fName2>>'s bio-signs and administers drugs to keep <<himher2>> alive, but the cold is too severe. By the time <<theExplorers>> <<eVerb reach reaches>> the ship, <<heshe2>> <<is2>> suffering from <<inlineInjureCrewMember2\n"hypothermia" `"froze to death after "+TextUtils.hisher($crew[$selectedCrewMember2])+" suit's heating system failed"`>>.</p>\n<<include [[Heating System Failure Complete Options]]>>
<<TheExplorers>> <<eVerb hurry hurries>> <<fName2>> back to the <<shipName>>
<p><<TheExplorers>> manage to get <<fName2>> back to the <<shipName>> before severe hypothermia sets in. In the safety of the ship, <<fName2>> is able to recover and the explorers are able to repair <<hisher2>> suit.</p>\n<<include [[Heating System Failure Complete Options]]>>
<p><<TheExplorers>> <<eVerb beat>> a path back to the <<shipName>>, carrying <<fName2>>, who is now limp and silent. Once in the airlock <<they>> <<eVerb peel>> <<himher2>> out of <<hisher2>> suit but <<eVerb find>> that <<heshe2>> <<is2>> suffering from <<inlineInjureCrewMember2\n"hypothermia" `"froze to death after "+TextUtils.hisher($crew[$selectedCrewMember2])+" suit's heating system failed"`>>.</p>\n<<include [[Heating System Failure Complete Options]]>>
The explorers link their suits' life support systems to share the load
<p>\n<<if $crew.length > 2>>\n\tThe other explorers' heating systems are\n<<else>>\n\t<<randomCrewMember not2>> heating system is \n<</if>>\nstill working properly, for the time being, so the explorers link their suits together to share the load. With the working heating <<if $crew.length > 2>>systems<<else>>system<</if>> compensating for the failing one, the trek back to the <<shipName>> is uncomfortably cold, but not dangerously so.</p>\n<<include [[Heating System Failure Complete Options]]>>
<p>\n<<if $crew.length > 2>>\n\tThe other explorers' suits take\n<<else>>\n\t<<randomCrewMember not2>>'s suit takes\n<</if>>\nsome of the load from <<fName2>>'s heating system, but even multiple suits working together cannot counteract the <<planetNoun>>'s oppressive cold. By the time the explorers make it back to the <<shipName>>, <<fName2>> and <<randomCrewMember not2>> are <<inlineInjureCrewMember2 "both" `"froze to death after "+TextUtils.hisher($crew[$selectedCrewMember2])+" suit's heating system failed"`>> suffering from <<inlineInjureCrewMember "hypothermia" `"froze to death after "+TextUtils.hisher($crew[$selectedCrewMember2])+" suit's heating system failed"`>>.</p>\n<<include [[Heating System Failure Complete Options]]>>
<p>\n\t<<if !$researchableUpgrades.includes("sUpgradeSuitsCold") && $currentSystem.planets[$planetNumber].knownTraits.includes("plNotExtinct")>><<opt "Heating System Failure Unlock Upgrade" "eBiologist" "hard">><</if>>\n\t<<nextEventLink>>\n</p>
<<name>> looks for ways to improve the suits using alien biology
<p>Millions of years of evolution have given <<planetName>>'s microorganisms the ability to conserve heat on punishingly cold planets. <<fName>> introduces a modified strain of microorganisms into <<hisher>> suit's insulation layer, and finds that the suit's heating system has to work a little less hard for the few minutes before the microorganisms die off. It won't help <<theExplorers>> on this mission, but the experiment will give Chiron Base's scientists something to iterate on.</p>\n<<unlockUpgrade "sUpgradeSuitsCold">>\n<p><<nextEventLink>></p>
<p>Millions of years of evolution have given <<planetName>>'s microorganisms the ability to conserve heat on punishingly cold planets. <<fName>> introduces a modified strain of microorganisms into <<hisher>> suit's insulation layer, but finds that they break down the existing insulation until the suit's heating system cannot keep up with the lost heat. By the time <<fName>> has reached the safety of the <<shipName>>, <<heshe>> <<verb is are>> suffering from suffering from <<inlineInjureCrewMember\n"hypothermia" "died from hypothermia while trying to improve the spacesuits">>.</p>\n<p><<nextEventLink>></p>
<<set $eventTitle = "High Gravity Exhaustion">>\n<p>On the way back to the <<shipName>>, <<randomCrewMember2>> <<if $crew.length > 2>>begins to lag behind the rest of the group<<else>>begins to walk more slowly<</if>> and <<hisher2>> breathing becomes laboured. The <<planetNoun>>'s high gravity is taking its toll, and <<heshe2>> <<is2>> suffering from exhaustion.</p>\n<<if $crew.length == 1>>\n\t<p>With no one to help <<himher2>> back to the <<shipName>>, <<name2>> dies alone on <<planetName>>.</p>\n\t<<killCrewMember2 "died from high gravity exhaustion">>\n\t<p><<nextEventLink>></p>\n<<else>>\n\t<p>\n\t<<opt "High Gravity Exhaustion Engineer" "eEngineer not2" "medium">>\n\t<<opt "High Gravity Exhaustion Medic" "eMedic not2" "hard" "sUpgradeFirstAid">>\n\t<<opt "High Gravity Exhaustion Drag" "" "medium">>\n\t<<opt "High Gravity Exhaustion Return To Ship" "" "hard">>\n\t</p>\n<</if>>
<<name>> adjusts <<fName2>>'s suit joints to let the suit take more of <<hisher2>> weight
<p>The explorers pause while <<fName>> adjusts <<fName2>>'s suit to take more of <<hisher2>> weight. The adjustments leave <<fName2>> with a limited range of movement, but supports <<himher2>> for long enough for the explorers to get back to the <<shipName>>.</p>\n<<include [[High Gravity Exhaustion Complete Options]]>>
<p><<fName>> adjusts <<fName2>>'s suit, but the makeshift adjustments are not sturdy enough to withstand the high gravity, and <<fName2>> collapses. <<TheExplorers>> <<eVerb manage>> to carry <<himher2>> back to the <<shipName>>, but <<heshe2>> has <<inlineInjureCrewMember2\n"serious internal injuries" "died from high gravity exhaustion">>.</p>\n<<include [[High Gravity Exhaustion Complete Options]]>>
<<name>> treats <<fName2>> with drugs that will reinforce <<hisher2>> muscles
<p><<fName>> injects <<fName2>> with a cocktail of energy drugs, which keep <<himher2>> alive while <<theExplorers>> help <<himher2>> back to the <<shipName>>. Once out of the restrictive suit, <<heshe2>> <<is2>> able to cope with <<planetName>>'s gravity.</p>\n<<include [[High Gravity Exhaustion Complete Options]]>>
<p>The drugs allow <<fName2>> to stagger back to the <<shipName>>, but as soon as the airlock door closes <<heshe2>> <<verb collapses>> unconscious. <<HisHer2>> body has sustained too much damage from the high gravity, and <<heshe2>> <<verb has have>> <<inlineInjureCrewMember2\n"serious internal injuries" "died from high gravity exhaustion">>.</p>\n<<include [[High Gravity Exhaustion Complete Options]]>>
<<TheExplorers>> <<eVerb walk>> back to the <<shipName>>
<p><<TheExplorers>> manage to get <<fName2>> back to the <<shipName>> before <<heshe2>> succumbs to exhaustion. Once out of the restrictive suit, <<heshe2>> <<is2>> able to cope with <<planetName>>'s gravity.</p>\n<<include [[High Gravity Exhaustion Complete Options]]>>
<p><<TheExplorers>> <<eVerb make>> it back to the <<shipName>>, but when <<they>> <<eVerb cycle>> through the airlock and strip <<himher2>> out of <<hisher2>> suit, they find that <<heshe2>> <<verb2 has have>> <<inlineInjureCrewMember2\n"serious internal injuries" "died from high gravity exhaustion">>.</p>\n<<include [[High Gravity Exhaustion Complete Options]]>>
<<if $crew.length > 2>>\n\tThe other explorers drag\n<<else>>\n\t<<randomCrewMember not2>> drags\n<</if>>\n<<fName2>> back to the <<shipName>>
<p>\n<<fName2>> is far heavier than <<heshe2>> would have been on Earth, but \n<<if $crew.length > 2>>\n\tthe other explorers manage\n<<else>>\n\t<<randomCrewMember not2>> manages\n<</if>>\nto drag <<himher2>> back to the <<shipName>>. Once inside the airlock and free of <<hisher2>> restrictive suit, <<heshe2>> <<verb2 recovers>> fully from the experience.</p>\n<<include [[High Gravity Exhaustion Complete Options]]>>
<p>\n<<fName2>> is far heavier than <<heshe2>> would have been on Earth, and\n<<if $crew.length > 2>>\n\tthe other explorers find\n<<else>>\n\t<<randomCrewMember not2>> finds\n<</if>>\nit brutally tiring to drag <<himher2>> back to the <<shipName>>. By the time they reach the ship, <<fName2>> and <<randomCrewMember not2>> have <<inlineInjureCrewMember2\n"both" "died from high gravity exhaustion">> been <<inlineInjureCrewMember\n"injured" "died from high gravity exhaustion">> by the exertion.</p>\n<<include [[High Gravity Exhaustion Complete Options]]>>
<p>\n\t<<if !$researchableUpgrades.includes("sUpgradeSuitsHighGrav") && $currentSystem.planets[$planetNumber].knownTraits.includesAll("psLifeAnimals")>><<opt "High Gravity Exhaustion Unlock Upgrade" "eBiologist" "hard">><</if>>\n\t<<nextEventLink>>\n</p>
<<name>> studies how the <<planetNoun>>'s animals <<if $contextTraits.includes("plExtinct")>>moved<<else>>move<</if>> under high gravity
<p>The Chiron Project's space suits are the product of three centuries of iterative design, but their designers lacked the practical experience of space exploration that the <<shipName>>'s crew have acquired. <<fName>> studies the musculature of <<planetName>>'s animals and designs a set of servo-motors for <<hisher>> suit, to take some of the strain off <<hisher>> body when navigating a high-gravity environment. <<fName>>'s makeshift servo-motors are too large to be practical, but the proof-of-concept will give the Chiron Project's engineers something to build on.</p>\n<<unlockUpgrade "sUpgradeSuitsHighGrav">>\n<p><<nextEventLink>></p>
<p>The Chiron Project's space suits are the product of three centuries of iterative design, but their designers lacked the practical experience of space exploration that the <<shipName>>'s crew have acquired. <<fName>> studies the musculature of <<planetName>>'s animals and designs a set of servo-motors for <<hisher>> suit, to take some of the strain off <<hisher>> body when navigating a high-gravity environment. While <<heshe>> <<is>> testing them, however, they suddenly cut out, and <<fName>> <<inlineInjureCrewMember\n"falls heavily" "was killed in a failed high-gravity spacesuit experiment">> in <<planetName>>'s high gravity.</p>\n<p><<nextEventLink>></p>
<<set $eventTitle = "High Pressure Suit Damage">>\n<p>A warning sound blares in <<randomCrewMember2>>'s helmet. <<HisHer2>> suit's seals are failing under the crushing pressure of <<planetName>>'s atmosphere.</p>\n<<if $crew.length == 1>>\n\t<p>With no one to repair <<hisher2>> suit, <<fName2>> is crushed to death when <<hisher2>> suit implodes <<planetName>>.</p>\n\t<<killCrewMember2 "was crushed by atmospheric pressure">>\n\t<<nextEventLink>>\n<<else>>\n\t<p>\n\t<<opt "High Pressure Suit Damage Engineer" "eEngineer not2" "medium">>\n\t<<opt "High Pressure Suit Damage Medic" "eMedic not2" "hard" "sUpgradeFirstAid">>\n\t<<opt "High Pressure Suit Damage Reinforce" "" "medium">>\n\t<<opt "High Pressure Suit Damage Return To Ship" "" "hard">>\n\t</p>\n<</if>>
<<name>> attempts to repair the suit in the field
<p><<fName>> examines the faulty seals and manages to repair them before the damage becomes too severe.</p>\n<p><<nextEventLink>></p>
<p><<fName>> determines that the damage is too severe to repair in the field. <<HeShe>> <<verb tries try>> to shore up <<fName2>>'s suit seals until <<heshe>> can get <<himher2>> back to the ship, but by the time <<fName2>> is in the airlock, <<heshe2>> <<is2>> <<inlineInjureCrewMember2\n"too weak to fully recover" "was crushed by atmospheric pressure">>.</p>\n<<include [[High Pressure Suit Damage Complete Options]]>>
<<name>> tries to keep <<fName2>> alive until <<theExplorers>> get <<himher2>> back to the <<shipName>>
<p><<fName>> carefully monitors <<fName2>>'s bio-signs and administers drugs that keep <<himher2>> alive while <<theExplorers>> <<eVerb hurry hurries>> back to the <<shipName>>. Inside the airlock, <<fName>> carefully removes <<fName2>>'s suit and helps <<himher2>> to recover in the medbay.</p>\n<<include [[High Pressure Suit Damage Complete Options]]>>
<p><<fName>> carefully monitors <<fName2>>'s bio-signs and administers drugs to keep <<himher2>> alive, but the pressure is too severe, and by the time <<theExplorers>> <<eVerb reach reaches>> the ship, <<heshe2>> <<is2>> <<inlineInjureCrewMember2\n"too weak to fully recover" "was crushed by atmospheric pressure">>.</p>\n<<include [[High Pressure Suit Damage Complete Options]]>>
<<TheExplorers>> <<eVerb hurry hurries>> <<fName2>> back to the <<shipName>>
<p><<TheExplorers>> manage to get <<fName2>> back to the <<shipName>> before the suit seals fail sets in. In the safety of the ship, <<fName2>> is able to recover and the explorers are able to repair <<hisher2>> suit.</p>\n<<include [[High Pressure Suit Damage Complete Options]]>>
<p><<TheExplorers>> <<eVerb beat>> a path back to the <<shipName>>, carrying <<fName2>>, who is now limp and silent. Once in the airlock <<they>> <<eVerb peel>> <<himher2>> out of <<hisher2>> suit but <<eVerb find>> that <<heshe2>> <<is2>> <<inlineInjureCrewMember2\n"suffering from internal injuries" "was crushed by atmospheric pressure">>.</p>\n<<include [[High Pressure Suit Damage Complete Options]]>>
<<if $crew.length > 2>>\n\tThe other explorers try to reinforce <<fName2>>'s suit by transferring atmosphere from their own\n<<else>>\n\t<<randomCrewMember not2>> tries to reinforce <<fName2>>'s suit by transferring atmosphere from <<hisher>> own\n<</if>>
<p>The explorers link their suits' life support systems and transfer pressure to <<fName2>>'s suit. Although <<fName2>>'s suit's internal pressure is still less than the crushing atmosphere of <<planetName>>, the transfer is enough to strengthen <<fName2>>'s suit seals and keep <<hisher2>> suit from imploding while the explorers return to the <<shipName>>.</p>\n<<include [[High Pressure Suit Damage Complete Options]]>>
<p>The explorers link their suits' life support systems and transfer pressure to <<fName2>>'s suit, hoping that the slight increase of pressure inside <<fName2>>'s suit will counteract the crushing atmosphere for long enough for them to get back to the <<shipName>>. Unfortunately, the transfer process provides another surface for <<planetName>>'s atmosphere to attack, and <<fName2>>'s and <<randomCrewMember not2>>'s suits are <<inlineInjureCrewMember2\n"both" "was crushed by atmospheric pressure">> <<inlineInjureCrewMember\n"damaged" "was crushed by atmospheric pressure">>.</p>\n<<include [[High Pressure Suit Damage Complete Options]]>>
<p>\n\t<<if !$researchableUpgrades.includes("sUpgradeSuitsArmour") && $currentSystem.planets[$planetNumber].knownTraits.includesAll("psLifeAnimals")>><<opt "High Pressure Suit Damage Unlock Upgrade" "eBiologist" "hard">><</if>>\n\t<<nextEventLink>>\n</p>
<<name>> looks for ways to improve the suits using the <<planetNoun>>'s animals as a model
<p>The Chiron Project's engineers tested the suits in a variety of environments, but laboratory tests are no substitute for practical experience of space exploration. <<fName>> uses <<hisher>> knowledge of the <<planetNoun>>'s animals to reinforce <<hisher>> suit, and watches its status readouts while standing on <<planetName>>'s surface. The improvements begin to weaken quickly, but the proof of concept will let the Chiron Project's engineers design a more enduring version.</p>\n<<unlockUpgrade "sUpgradeSuitsArmour">>\n<p><<nextEventLink>></p>
<p>The Chiron Project's engineers tested the suits in a variety of environments, but laboratory tests are no substitute for practical experience of space exploration. <<fName>> uses <<hisher>> knowledge of the <<planetNoun>>'s animals to reinforce <<hisher>> suit, and watches its status readouts while standing on <<planetName>>'s surface. Unfortunately, the modified suit suddenly cracks, and <<fName>> <<inlineInjureCrewMember\n"barely withstands the crushing pressure" "crushed by atmospheric pressure while trying to improve the spacesuits">> while struggling back to the <<shipName>>'s airlock.</p>\n<p><<nextEventLink>></p>
<<set $eventTitle = "Ice Eruptions">>\n<p>The ice beneath <<theExplorerss>> feet begins to vibrate, and <<bestPlanetaryScientist>> spots a series of white plumes erupting from the ice, rapidly getting closer.</p>\n<p>\n<<opt "Ice Eruptions Planetary Scientist" "ePlanetaryScientist" "easy">>\n<<opt "Ice Eruptions Hunker Down" "" "medium" "sUpgradeSuitsArmour">>\n<<opt "Ice Eruptions Run" "" "hard">>\n</p>
<<name>> predicts where the eruptions will occur and avoids them
<p><<name>> quickly <<inlineGainData "surveys the terrain" planetary_science small>> and predicts the most likely course of the eruptions. <<TheExplorers HeShe>> <<eVerbpn run>> to an area where the ice is stable, and <<if $crew.length>1>>huddle together<<else>><<eVerbpn wait>><</if>> until the eruptions pass <<them>> by.</p>\n<p><<nextEventLink>></p>
<p><<name>> surveys the terrain and finds a place that <<heshe>> <<verb thinks think>> is stable, but <<theExplorers heshe>> cannot reach it in time. A geyser erupts beneath <<randomCrewMember himher>>, <<inlineInjureCrewMember `"throwing "+TextUtils.himher()+" off "+TextUtils.hisher()+" feet"` "was killed by an ice eruption">></p>\n<p><<nextEventLink>></p>
<<TheExplorers>> <<eVerb wait>> where <<they>> <<are>> for the geysers to pass
<p><<TheExplorers>> <<if $crew.length>1>>huddle together<<else>>crouches down<</if>> while the geysers erupt around <<them>>. The shaking ground knocks <<them>> off <<their>> feet, but the eruptions pass <<them>> by, and eventually the clouds dissipate and leave <<them>> in a newly shattered landscape.</p>\n<p><<nextEventLink>></p>
<p>\n<<if $crew.length > 1>>\n\tThe explorers hunker down to avoid ejecta from nearby eruptions, but the ice bursts open directly beneath their feet, throwing them across the <<planetNoun>>'s surface. <<randomCrewMember>> and <<randomCrewMember2 not1>> are <<inlineInjureCrewMember "both" "was killed by an ice eruption">> <<inlineInjureCrewMember2 "injured" "was killed by an ice eruption">>.\n<<else>>\n\t<<randomCrewMember>> hunkers down to avoid ejecta from nearby eruptions, but the ice bursts open directly beneath <<hisher>> feet, throwing <<himher>> aside to <<inlineInjureCrewMember "land heavily" "was killed by an ice eruption">> on the shattered surface.\n<</if>>\n</p>\n<p><<nextEventLink>></p>
<<TheExplorers>> <<eVerb run>> for the <<shipName>>
<p><<TheExplorers>> <<eVerb run>> across the thundering surface, the eruptions turning the landscape behind <<them>> into a wall of icy destruction. By the time <<they>> <<eVerbpn reach reaches>> the <<shipName>> the ground is shattering around them and they can barely see through the whirling shards, but <<they>> <<eVerbpn make makes>> it into the shelter of the airlock without being harmed.</p>\n<p><<nextEventLink>></p>
<p>\n<<if $crew.length == 1>>\n\t<<randomCrewMember>> runs in the direction of the <<shipName>>, but the eruptions soon fill <<hisher>> vision with whirling ice shards and <<heshe>> <<verb loses>> <<hisher>> way. By the time <<heshe>> <<verb reaches reach>> safety, <<heshe>> <<verb has have>> been <<inlineInjureCrewMember "severely battered" "was killed by an ice eruption">> by the flying ice shards.\n<<else>>\n\tThe explorers run for the <<shipName>>, but <<randomCrewMember>> falls behind\n\t<<if $crew.length > 2>>\n\t\tthe others\n\t<<else>>\n\t\t<<randomCrewMember2 not1>>\n\t<</if>>\n\tand becomes lost in the blizzard. By the time <<heshe>> <<verb makes>> it to the ship, <<heshe>> <<verb has have>> been <<inlineInjureCrewMember "severely battered" "was killed by an ice eruption">> by the flying ice shards.\n<</if>>\n</p>\n<p><<nextEventLink>></p>
<<set $eventTitle = "Foreign Object Penetration">>\n<p><<randomCrewMember2>> trips and falls, and then <<hisher2>> medical readouts spike with adrenaline and <<hisher2>> suit's atmosphere system reports a sudden pressure loss. <<HeShe2>> fell onto a jagged shard of rock, which has punctured <<hisher2>> suit and gone right into <<hisher2>> flesh. The suit's self-repair system cannot fully seal the breach while the shard is there, and returning to the <<shipName>> with it intact would definitely leave <<fName2>> injured. It might be possible to remove it in the field, but doing so improperly could kill <<fName2>>.</p>\n\n<<if $crew.length == 1>>\n\t<p>With no one to help <<himher2>>, <<fName2>> cannot repair <<hisher2>> suit and dies alone on <<planetName>>.</p>\n\t<<killCrewMember2 `"asphyxiated after a rock pierced "+TextUtils.hisher($crew[$selectedCrewMember2])+" suit"`>>\n\t<p><<nextEventLink>></p>\n<<else>>\n\t<p>\n\t<<opt "Suit Pierced By Shard Medic" "eMedic not2" "medium" "sUpgradeFirstAid" "Suit Pierced By Shard No Medic" "hard">>\n\t<<opt "Suit Pierced By Shard Engineer" "eEngineer not2" "medium">>\n\t<<opt "Suit Pierced By Shard Return">>\n\t</p>\n<</if>>
<<name>> extracts the shard and treats the wound in the field
<p><<name>> sets up a temporary airtight tent around <<himherself>> and <<fName2>>, then carefully extracts the shard and closes the wound. With the shard gone, the suit puncture is easily repaired. <<fName>>'s quick work means that <<heshe>> <<is>> able to repair <<fName2>>'s wound completely, without leaving a lingering injury.</p>\n<<include [[Suit Pierced By Shard Complete Options]]>>
<p><<name>> sets up a temporary airtight tent around <<himherself>> and <<fName2>> and extracts the shard, but operating in the field is difficult and <<inlineInjureCrewMember2\n"the wound does not heal properly" `"asphyxiated after a rock pierced "+TextUtils.hisher($crew[$selectedCrewMember2])+" suit"`>>.</p>\n<<include [[Suit Pierced By Shard Complete Options]]>>
<<if $crew.length > 2>>\n\tThe other explorers pull out the shard\n<<else>>\n\t<<randomCrewMember not2>> pulls out the shard\n<</if>>\nso <<fName2>>'s suit can properly seal
<p>Even with the suit's painkillers, <<fName2>> screams in pain, but the shard comes out cleanly and the suit's self-repair system creates a perfect seal.\n<<if $crew.length > 2>>\n\tThe other explorers carry\n<<else>>\n\t<<randomCrewMember not2>> carries\n<</if>>\n<<fName2>> back to the <<shipName>>, where the medical bay treats the wound. <<fName2>> is soon back on <<hisher2>> feet, with no lasting injury.</p>\n<<include [[Suit Pierced By Shard Complete Options]]>>
<p><<fName2>> screams as the shard comes free, and then loses consciousness as blood spurts onto the <<surfaceAdj>> ground. <<HisHer2>> suit's self-repair mechanism seals the breach, but by the time\n<<if $crew.length > 2>>\n\tthe other explorers get\n<<else>>\n\t<<randomCrewMember not2>> gets\n<</if>>\n<<himher2>> back to the <<shipName>>, <<heshe2>> <<verb2 has have>> died of blood loss.</p>\n<<killCrewMember2 `"died of blood loss after a rock pierced "+TextUtils.hisher($crew[$selectedCrewMember2])+" suit"`>>\n<<include [[Suit Pierced By Shard Complete Options]]>>
<<name>> seals the wound against further air loss until <<fName2>> gets back to the ship
<p>Being careful not to move the shard in the wound, <<fName>> presses the suit fabric against the shard and seals it tight, and then carries <<fName2>> back to the <<shipName>> on a makeshift stretcher.</p>\n<<include [[Suit Pierced By Shard Complete Options]]>>
<p><<fName>> creates a seal to stop <<fName2>> from losing atmosphere while <<heshe>> <<verb moves>> <<himher2>> back to the <<shipName>> on a makeshift stretcher. The seal holds, but the process <<inlineInjureCrewMember2\n"prevents the wound from healing cleanly" `"asphyxiated after a rock pierced "+TextUtils.hisher($crew[$selectedCrewMember2])+" suit"`>>, so it will hinder <<fName2>> until it can be properly treated at Chiron Base.</p>\n<<include [[Suit Pierced By Shard Complete Options]]>>
<<if $crew.length > 2>>\n\tThe other explorers take\n<<else>>\n\t<<randomCrewMember not2>> takes\n<</if>>\n<<fName2>> back to the ship
<p>The half-conscious <<fName2>> manages to hold the suit puncture closed while\n<<if $crew.length > 2>>\n\tThe other explorers take\n<<else>>\n\t<<randomCrewMember not2>> takes\n<</if>>\n<<himher2>> back to the <<shipName>>. In the safety of the ship, the medical bay removes the shard and treats the wound, but it is impossible to avoid a <<inlineInjureCrewMember2\n"lingering injury" `"asphyxiated after a rock pierced "+TextUtils.hisher($crew[$selectedCrewMember2])+" suit"`>>.</p>\n<<include [[Suit Pierced By Shard Complete Options]]>>
<p>\n\t<<if !$researchableUpgrades.includes("sUpgradeSuitsArmour") && $currentSystem.planets[$planetNumber].knownTraits.includesAll("psLifeAnimals")>><<opt "Suit Pierced By Shard Unlock Upgrade" "eBiologist" "hard">><</if>>\n\t<<nextEventLink>>\n</p>
<<name>> looks for ways to improve the suits using the <<planetNoun>>'s animals as a model
<p>The Chiron Project's engineers did the best job they could, but they did not have practical experience of the hazards the <<shipName>>'s crew would face, or access to the exotic extraterrestrial materials they would encounter. <<fName>> rigs up an experimental new armour system for <<hisher>> suit, and finds that it easily deflects shards such as the one that harmed <<fName2>>. There is not enough material to fully upgrade the suits now, but Chiron Base's scientists should be able to replicate it.</p>\n<<unlockUpgrade "sUpgradeSuitsArmour">>\n<p><<nextEventLink>></p>
<p>The Chiron Project's engineers did the best job they could, but they did not have practical experience of the hazards the <<shipName>>'s crew would face, or access to the exotic extraterrestrial materials they would encounter. <<fName>> begins to rig up an experimental armour system for <<hisher>> suit, but a brittle piece of armour fractures and <<inlineInjureCrewMember\n"injures" "injured while trying to improve the spacesuits">> <<himher>>.</p>\n<p><<nextEventLink>></p>
<<set $eventTitle = "Dust Accumulation">>\n<p>As the <<theExplorers>> <<eVerb make>> <<their>> way across <<planetName>>'s surface, <<their>> suit <<eNoun displays>> <<eVerb begin>> to flash warning messages. The <<planetNoun>>'s fine dust is accumulating in the <<eNoun "suits'" "suit's">> machinery, and it will eventually cause <<eNoun their its>> life support <<eNoun systems>> to malfunction.</p>\n<p>\n<<opt "Suit Dust Craggy" "pCraggy" "medium">>\n<<opt "Suit Dust Engineer" "eEngineer" "medium" "sUpgradeSuitsArmour">>\n<<opt "Suit Dust Ignore" "" "medium" "sUpgradeSuitsArmour">>\n<<opt "Suit Dust Clean" "" "hard" "sUpgradeSuitsArmour">>\n</p>
<<name>> reinforces the suits' seals against the dust
<p><<fName>> seals the <<eNoun "suits'" "suit's">> delicate components against the fine dust. It is only a temporary modification, but it holds long enough for <<theExplorers himher>> to get back to the ship.</p>\n<p><<nextEventLink>></p>
<p><<fName>> seals the <<eNoun "suits'" "suit's">> delicate components against the fine dust. Soon after <<they>> <<eVerb set>> off again, however, the temporary seal on <<randomCrewMember2>>'s suit breaks, taking some of the suit's original protection with it and allowing dust into <<hisher2>> life support system. <<fName>> corrects <<hisher>> mistake, clears the dust from <<fName2>>'s suit and reinforces the seal, but not before the blockage has <<inlineInjureCrewMember2 `"deprived "+$crew[$selectedCrewMember2].firstName+" of oxygen"` "choked on dust">> for a dangerous amount of time.</p>\n<p><<nextEventLink>></p>
<<TheExplorers>> <<eVerb avoid>> the worst of the dust by sticking to high ground
<p><<TheExplorers>> <<eVerb reason>> that most of the dust will have gathered in the low-lying areas of the craggy landscape, and <<eVerb head>> up the nearest ridge. The high ground is visibly less dusty, and <<they>> <<eVerbpn manage>> to complete <<their>> trek without any further problems.</p>\n<p><<nextEventLink>></p>
<p><<TheExplorers>> <<eVerb climb>> up the nearest ridge, hoping that the worst of the dust will have gathered in the low-lying areas. Unfortunately some parts of the slope prove to be compacted dust dust, and the ground collapses under <<randomCrewMember2>>'s feet and sends <<himher2>> <<inlineInjureCrewMember2 "tumbling down the slope" "slipped on compacted dust">>.</p>\n<p><<nextEventLink>></p>
<<TheExplorers>> <<eVerb ignore>> the dust and <<eVerb return>> to the <<shipName>>
<p>By the time <<theExplorers>> <<eVerb get>> back to the <<shipName>> <<their>> <<eNoun suits>> are caked in dust, but it is never enough to interfere with <<eNoun their its>> workings. Besides needing to spend hours cleaning dust out of the airlock, <<theExplorers>> <<eVerb are is>> no worse off.</p>\n<p><<nextEventLink>></p>
<<if $crew.length > 1>>\n\t<p><<TheExplorers>> trek back towards the <<shipName>>. Eventually the lights in their suits begin turning red, and their air becomes thin as the dust clogs up their suits' oxygen systems. By the time they get to the ship, <<randomCrewMember>> and <<randomCrewMember2 not1>> are <<inlineInjureCrewMember "both" "choked on dust">> suffering from <<inlineInjureCrewMember2 "oxygen deprivation" "choked on dust">>.</p>\n<<else>>\n\t<p><<TheExplorers>> treks back towards the <<shipName>>. Eventually the lights in <<randomCrewMember2>>'s suit begin turning red, and <<hisher2>> air becomes thin as the dust clogs up <<hisher2>> suit's oxygen system. By the time <<heshe2>> <<is2>> aware of the problem, <<heshe2>> <<is2>> already suffering from hypoxia, and with no one to help <<himher2>> <<heshe2>> <<verb dies die>> alone on <<planetName>>.</p>\n\t<<killCrewMember2 "choked on dust">>\n<</if>>\n<p><<nextEventLink>></p>
<<TheExplorers>> <<eVerb stop>> to clean the dust from <<their>> <<eNoun suits>>
<p>Cleaning the clinging dust off <<eNoun suits>> without being able to take <<eNoun them it>> off and disassemble <<eNoun them it>> is difficult, but <<theExplorers>> <<eVerb manage>> to get the worst of it out of the life support <<eNoun system>>. After that, <<they>> <<eVerb have has>> no problem getting back to the <<shipName>>, where <<they>> can give the <<eNoun suits>> proper maintenance.</p>\n<p><<nextEventLink>></p>
<p>Cleaning the clinging dust off <<eNoun suits>> without being able to take <<eNoun them it>> off and disassemble <<eNoun them it>> is difficult, and <<randomCrewMember>> inadvertently damages <<hisher>> life support system while trying to clean it. The system malfunctions and eventually fails entirely, and by the time <<theExplorers>> <<eVerb get gets>> back to the ship, <<fName>> is suffering from <<inlineInjureCrewMember "oxygen deprivation" "choked on dust">>.</p>\n<p><<nextEventLink>></p>
<<set $eventTitle = "Meteor Shower">>\n<p>The ground shakes, and streaks flash through the sky. \n<<if $contextTraits.includes("pBelt")>>\n\tThe asteroid on which <<theExplorers>> <<eVerb are is>> standing is passing through one of the system's dense asteroid regions,\n<<else>>\n\t<<planetName>> is passing through one of the system's dense asteroid regions,\n<</if>>\nand the asteroids are raining down on the <<planetNoun>> as meteors.</p>\n<p>\n<<opt "Surface Meteors Cave" "pCaves" "easy">>\n<<opt "Surface Meteors Retreat" "" "medium" "sUpgradeSuitsArmour">>\n<<opt "Surface Meteors Observe" "" "hard" "sUpgradeSuitsArmour">>\n</p>
<<TheExplorers>> <<eVerb take takes>> shelter in one of the <<planetNoun>>'s caves
<p><<TheExplorers>> <<eVerb run>> for the nearest cave entrance and shelter there until the ground stops shaking.</p>\n<p><<nextEventLink>></p>
<p><<TheExplorers>> <<eVerb run>> for the nearest cave entrance, but before <<they>> reach it a meteor impacts near <<randomCrewMember2>> and knocks <<himher2>> off <<hisher2>> feet. <<TheExplorers>> <<eVerb reach>> the cave, but <<fName2>> has several <<inlineInjureCrewMember2 "broken bones" "was killed by a meteor">>.</p>\n<p><<nextEventLink>></p>
<<TheExplorers>> <<eVerb retreat>> to the safety of the <<shipName>>
<p><<TheExplorers>> <<eVerb make>> it back to the <<shipName>> before the worst of the bombardment hits, and <<eVerb wait>> in safety until the meteor shower passes.</p>\n<p><<nextEventLink>></p>
<p><<TheExplorers>> <<eVerb run>> for the <<shipName>>, but do not get there in time. A meteor impacts close to <<randomCrewMember>>, <<inlineInjureCrewMember `"throwing "+TextUtils.himher()+" off "+TextUtils.hisher()+" feet"` "was killed by a meteor">>.</p>\n<p><<nextEventLink>></p>
<<TheExplorers>> <<eVerb risk>> staying in the open to observe the impacts
<p><<TheExplorers>> didn't come all this way to play it safe. <<They>> <<eVerbpn set>> up monitoring equipment and <<eVerbpn begin>> recording using <<their>> <<eNoun "suits'" "suit's">> sensors, ready to bolt as soon as <<they>> <<eVerbpn need>> to but not before. The risk pays off, with multiple meteors impacting close enough for <<theExplorers himher>> to get <<inlineGainData "good readings" planetary_science medium>>, but none coming close enough to endanger <<them>>.</p>\n<p><<nextEventLink>></p>
<p><<TheExplorers>> didn't come all this way to play it safe. <<They>> <<eVerb set>> up monitoring equipment and <<eVerbpn begin>> recording using <<their>> <<eNoun "suits'" "suit's">> sensors. <<They>> <<eVerbpn have has>> only collected a small amount, however, when a meteor hits the ground only a short distance from <<them>>, throwing <<randomCrewMember>> off <<hisher>> feet to <<inlineInjureCrewMember "land heavily" "was killed by a meteor">> on the <<surfaceAdj>> surface.</p>\n<p><<nextEventLink>></p>
/% Find the star with the flares trait %/\n<<set _flareStars = []>>\n<<for _n = 0; _n < $currentSystem.stars.length; _n++>>\n\t<<if $currentSystem.stars[_n].traits.includes("tSolarFlares")>>\n\t\t<<set _flareStars.push(_n)>>\n\t<</if>>\n<</for>>\n<<if _flareStars.length == 0>>\n\t<<run console.error("Surface Solar Flare ran but no stars had tSolarFlares trait!")>>\n\t<<set _flareStars = [0]>>\n<</if>>\n<<set _star = oneOf(_flareStars)>>\n\n<<set $eventTitle = "Stellar Flare">>\n<p><<TheExplorerss>> radiation <<eNoun monitors>> <<eVerb begins>> bleeping urgently. One of <<starName _star>>'s periodic stellar flares is beginning, and soon <<planetName>>'s surface will be flooded with dangerous radiation.</p>\n<p>\n<<opt "Surface Solar Flare Cave" "pCaves" "easy">>\n<<opt "Surface Solar Flare Engineer" "eEngineer" "medium">>\n<<opt "Surface Solar Flare Medic" "eMedic" "hard" "sUpgradeAntiRadiation">>\n<<opt "Surface Solar Flare Retreat" "" "medium">>\n<<opt "Surface Solar Flare Study" "" "hard">>\n</p>
<<TheExplorers>> <<eVerb take takes>> shelter in one of the <<planetNoun>>'s caves
<p><<TheExplorers>> <<eVerb reach>> the shelter of the caves before the worst of the radiation hits, and <<eVerb shelter>> there until the readings return to normal.</p>\n<p><<nextEventLink>></p>
<p><<TheExplorers>> <<eVerb make>> it to the caves, but the rock is not thick enough to entirely protect <<them>> from the radiation, and <<randomCrewMember2>> gets a <<inlineGiveCrewMember2Trait "dangerous dose" "eRadiationSickness">>.</p>\n<p><<nextEventLink>></p>
<<name>> builds a makeshift radiation shelter
<p><<fName>> assembles a survival tent and lines its interior with radiation shielding. <<TheExplorers>> <<eVerb huddle>> inside until their radiation trackers stop clicking, and emerge unharmed into the radiation-washed landscape.</p>\n<p><<nextEventLink>></p>
<p><<fName>> assembles a survival tent and lines its interior with radiation shielding, but at the height of the storm a tear appears opens in its fabric. <<HeShe>> <<verb manages>> to repair it, but in doing so <<heshe>> <<verb receives>> a <<inlineGiveCrewMemberTrait "dangerous dose" "eRadiationSickness">> of radiation.</p>\n<p><<nextEventLink>></p>
<<name>> administers anti-radiation drugs
<p><<fName>> creates a cocktail of anti-radiation drugs tailored to <<starName>>'s radiation output, and administers it through <<if $crew.length > 1>>the explorers' bio-ports<<else>><<hisher>> suit's bio-port<</if>>. By adjusting the dosage to the changing radiation level, <<heshe>> <<is>> able to repair the tissue damage before it can take hold.</p>\n<p><<nextEventLink>></p>
<p><<fName>> creates a cocktail of anti-radiation drugs tailored to <<starName>>'s radiation output, and administers it through <<if $crew.length > 1>>the explorers' bio-ports<<else>><<hisher>> suit's bio-port<</if>>. <<HisHer>> efforts prevent the worst of the damage, but when the radiation subsides <<heshe>> <<verb finds>> that <<randomCrewMember2>> has received a <<inlineGiveCrewMember2Trait "dangerous dose" "eRadiationSickness">>.</p>\n<p><<nextEventLink>></p>
<<TheExplorers>> <<eVerb try tries>> to get back to the <<shipName>> before the flare hits
<p><<TheExplorers>> <<eVerb make>> it back to the ship before the worst of the radiation hits them.</p>\n<p><<nextEventLink>></p>
<p><<TheExplorers>> <<eVerb run>> for the <<shipName>>, but <<randomCrewMember2>> does not make it to the airlock before the radiation hits, and receives a <<inlineGiveCrewMember2Trait "dangerous dose" "eRadiationSickness">>.</p>\n<p><<nextEventLink>></p>
<<TheExplorers>> <<eVerb stop>> to study the flare before returning to the ship
<p>Anxiously monitoring <<their>> radiation sensors, <<theExplorers>> <<eVerb set>> up equipment to monitor the flare before retreating to the safety of the <<shipName>>. Medical scans confirm that the radiation <<they>> received while setting up the equipment was not dangerous, and their gambit grants the <<inlineGainData "valuable data" planetary_science medium>> on the star's activity.</p>\n<p><<nextEventLink>></p>
<<if $crew.length > 1>>\n\t<p><<TheExplorers>> <<eVerb begin>> to set up flare-monitoring equipment, but the radiation level increases faster than <<they>> had anticipated. By the time they abandon the equipment and retreat it is too late, and <<randomCrewMember>> and <<randomCrewMember2 not1>> have <<inlineGiveCrewMemberTrait "both" "eRadiationSickness">> received <<inlineGiveCrewMember2Trait "dangerous amounts" "eRadiationSickness">>.</p>\n<<else>>\n\t<p><<randomCrewMember>> beings to set up the flare-monitoring equipment, but the radiation level increases faster than <<heshe>> had anticipated. By the time <<heshe>> <<verb abandons>> the equipment and <<eVerb retreats>> it is too late, and <<heshe>> <<eVerb has have>> received a <<inlineGiveCrewMemberTrait "dangerous dose" "eRadiationSickness">>.</p>\n<</if>>\n<p><<nextEventLink>></p>
<<set $eventTitle = "Volcano!">>\n<p>The ground trembles beneath <<theExplorerss>> feet, and a column of dark cloud rises from a nearby mountaintop. One of <<planetName>>'s many volcanoes is erupting, and soon the ground on which <<theExplorers>> <<eVerb stand>> will be engulfed in lava.</p>\n<p>\n<<opt "Surface Volcano Risk Engineer" "eEngineer" "easy" "sDamageFabricator sUpgradeSuitsHot">>\n<<opt "Surface Volcano Risk Pilot" "ePilot" "medium" "sDamageLandingEngine">>\n<<opt "Surface Volcano Risk Planetary Scientist" "ePlanetaryScientist" "medium" "sUpgradeSuitsHot">>\n<<opt "Surface Volcano Risk Study" "" "medium" "sUpgradeSuitsHot">>\n<<nextEventLink "Surface Volcano Risk Leave Option">>\n</p>
<<name>> sets up a probe so that <<theExplorers heshe>> can monitor the eruption from safety
<p><<TheExplorers>> <<eVerb watch>> from the safety of the <<shipName>> as the lava flow slides towards <<fName>>'s probe and pyroclasts rain down around it. The probe sends back <<inlineGainData "some data" planetary_science small>> before it eventually succumbs to the heat, although <<bestPlanetaryScientist>> spots an intriguing lava formation at the edge of the camera range that the probe cannot move to investigate.</p>\n<p><<nextEventLink>></p>
<p><<fName>> works to construct a remote probe beneath the growing crowd of ash, but the gathering volcanic gases interfere with its workings and it stubbornly refuses to stay calibrated. <<fName>> eventually admits defeat, but by that time pyroclasts are raining down on the area and one of them <<inlineInjureCrewMember `"hits "+$crew[$selectedCrewMember].firstName` "was killed by a volcanic eruption">>.</p>\n<p><<nextEventLink>></p>
<<name>> flies the <<shipName>> through the volcanic cloud to gather data
<p>From above, the terrible beauty of <<planetName>>'s volcanism is revealed; the eruption <<theExplorers>> saw from the ground was only one of dozens of bleeding red wounds in the <<planetNoun>>'s skin. The ash cloud rolls across the landscape, and <<fName>> calibrates the <<shipName>>'s scanners and flies directly into it. Pyroclasts rattle against the hull and the bottom of the cloud is lit by a hellish red glow, but the <<shipName>> emerges unscathed from the other side, its scanners having recorded <<inlineGainData "valuable data" planetary_science medium>> on this world's tectonic processes.</p>\n<p><<nextEventLink>></p>
<p><<fName>> flies the <<shipName>> into the ash cloud, and the scanners begin collecting data, but the ship's flight becomes unstable. It would have no problem flying through the cloud of a terrestrial volcano, but something about <<planetName>>'s volcanism interferes with its engines. <<fName>> abandons the scans and manages to get the ship out of the cloud, but not before <<inlineDamageShip "a plume of molten rock impacts its hull" "was destroyed by a volcano">>.</p>\n<p><<nextEventLink>></p>
<<name>> stays close to the volcano to study the eruption
<p><<fName>> sets up <<hisher>> equipment and stays with it while ash fills the sky overhead and lava flows descend towards <<himher>>.\n<<if $crew.length > 2>>\n\tThe other explorers think <<heshe>> must have left it too late,\n<<elseif $crew.length == 2>>\n\t<<randomCrewMember2 not1>> thinks <<heshe>> must have left it too late,\n<<else>>\n\tAn observer might think that <<heshe>> has left it too late,\n<</if>>\nbut <<heshe>> precisely judges the last safe moment <<heshe>> can leave, and comes away unharmed with <<inlineGainData "a wealth of geological data" planetary_science medium>>.</p>\n<p><<nextEventLink>></p>
<p><<fName>> sets up <<hisher>> equipment and stays with it while ash fills the sky overhead and lava flows descend towards <<himher>>. On Earth, <<heshe>> could easily have judged the safe moment to pack up and leave, but <<planetName>>'s volcanoes don't behave quite as <<heshe>> <<verb expects>>, and <<heshe>> <<verb finds>> <<himher>>self surrounded by lava, whose heat <<inlineInjureCrewMember `"overwhelms "+TextUtils.hisher()+" suit"` "was engulfed in lava">> before <<heshe>> can get to safety.</p>\n<p><<nextEventLink>></p>
<<TheExplorers>> <<eVerb study studies>> the lava flows before retreating
<p>Although risky, the opportunity is too tempting to pass up. Trusting <<their>> <<eNoun suits>> to protect <<them>>, <<theExplorers>> <<eVerb take>> readings from within metres of the flowing lava, adding to <<their>> knowledge of this <<planetNoun>>'s <<inlineGainData "geology" planetary_science medium>>. It becomes uncomfortably hot inside <<their>> <<eNoun suits>>, but <<they>> <<eVerb make>> it back to the <<shipName>> with no ill effects.</p>\n<p><<nextEventLink>></p>
<p>Although risky, the opportunity is too tempting to pass up. <<TheExplorers>> take readings from within metres of the flowing lava, hoping to add to <<their>> knowledge of the <<planetNoun>>'s geology. The only thing <<they>> <<eVerbpn manage>> to learn, however, is that the lava does not move exactly as it would on Earth, and <<randomCrewMember>> is overtaken by the flow and <<inlineInjureCrewMember "burned" "was engulfed in lava">> before <<heshe>> <<verb manages>> to get away.</p>\n<p><<nextEventLink>></p>
<<TheExplorers>> <<eVerb retreat>> to the <<shipName>>
<<set $eventTitle = "Radioactive Planet">>\n<p><<TheExplorerss>> <<eNoun suits>> can barely keep <<them>> safe from the levels of radiation on <<planetName>>'s surface, but the <<planetNoun>>'s native life appears to be naturally protected. <<bestBiologist>> speculates that studying it could yield the knowledge to make better anti-radiation drugs.</p>\n<p>\n<<opt "Surface Life AntiRadiation Unlock Biologist" "eBiologist" "medium" "sDamageBiolab" "Surface Life AntiRadiation Unlock No Biologist" "hard">>\n<<nextEventLink "Log Findings Move On Move On Option">>\n</p>
<<name>> studies some of <<planetName>>'s microorganisms in the <<shipName>>'s lab
<p><<fName>> manages to isolate the traits that make the organism resistant to radiation. The Chiron Project's scientists will have to do a lot of work to make this into a treatment that can be applied safely to humans, but <<fName>>'s work will give them a starting point.</p>\n<<unlockUpgrade "sUpgradeAntiRadiation">>\n<p><<nextEventLink>></p>
<p><<fName>> manages to isolate the traits that make the organism resistant to radiation, but realises too late that these traits also make them highly harmful to humans. <<HeShe>> <<verb flushes flush>> the microbes from the lab, but not before some manage to <<inlineGiveCrewMemberTrait `"infect "+TextUtils.himher()` eAlienInfection>>.</p>\n<p><<nextEventLink>></p>
<<TheExplorers>> <<eVerb study studies>> some of <<planetName>>'s microorganisms in the <<shipName>>'s lab
<<silently>><<randomCrewMember>><</silently>>\n<<include [[Surface Life AntiRadiation Unlock Biologist Success]]>>
<<silently>><<randomCrewMember>><</silently>>\n<<include [[Surface Life AntiRadiation Unlock Biologist Failure]]>>
<<set $eventTitle = "Skin of the Void Dweller">>\n<p>Here in the <<systemName>> system, a huge organism has found a way to survive in the void of space, an environment once thought utterly inimical to life. Part of its secret is a quasi-metallic hide that protects its innards from the vacuum and can even deflect small asteroids. If <<theExplorers>> could retrieve a sample of this hide, Chiron Base's engineers might be able to use it as a new layer of armour for the <<shipName>>. The tiny sample <<theExplorers>> need could easily be retrieved without harming the organism, but there is no way of knowing how the organism would react to the attempt.</p>\n<p>\n<<opt "Orbit Space Whale Armour Unlock Biologist" "eBiologist" "medium" "sDamageBiolab" "Orbit Space Whale Armour Unlock No Biologist" "hard">>\n<<nextEventLink "Log Findings Move On Move On Option">>\n</p>
<<name>> tries to retrieve a sample
<p>Anxiously watching for any sign of reaction, <<name>> spacewalks over to the leviathan with cutting tools and a sample container. <<HeShe>> eventually <<verb identifies identify>> several pieces of dead skin that appear to have flaked off the creature, and are now being held to its surface by nothing but its own gravity. <<fName>> gently recovers several of these flakes and returns to the <<shipName>>. If the creature noticed <<fName>>'s touch, it did not react.</p>\n<<unlockUpgrade "sUpgradeArmourBio">>\n<p><<nextEventLink>></p>
<p><<name>> spacewalks over to the leviathan with cutting tools and a sample container, and begins to survey its hide for samples that could be removed without harming it. As soon as <<heshe>> <<verb touches touch>> the creature, however, it reacts startlingly quickly, rippling its skin and throwing <<fName>> off into space. <<fName>>'s tether reels <<himher>> back to the <<shipName>>, unconscious and with several <<inlineInjureCrewMember "broken bones" "was killed by a space-dwelling organism">>.</p>\n<p><<nextEventLink>></p>
<<TheExplorers>> <<eVerb try tries>> to retrieve a sample
<<silently>><<randomCrewMember>><</silently>>\n<<include [[Orbit Space Whale Armour Unlock Biologist Success]]>>
<<silently>><<randomCrewMember>><</silently>>\n<<include [[Orbit Space Whale Armour Unlock Biologist Failure]]>>
<p>\n<<if $contextTraits.includes("psThinCrust")>>\n\t<<set $eventTitle = "Iron Spires">>\n\tJagged formations of nearly pure iron protrude from <<planetName>>'s thin crust, towering silently over <<theExplorers>> with a harsh, lifeless beauty.\n<<elseif $contextTraits.includes("psGasGiantCore")>>\n\t<<set $eventTitle = "Forged by a Giant">>\n\t<<planetName>> is incredibly dense, forged in the atmospheric pressure of the vanished gas giant that once surrounded it. In places, huge formations of solid iron and diamond protrude from the thin rocky crust, towering silently over <<theExplorers>> and glittering with alien light.\n<<elseif $contextTraits.includes("psExPlanetBelt")>>\n\t<<set $eventTitle = "Core Fragments">>\n\tMany of <<planetName>>'s asteroids are incredibly dense, parts of the core of the planet before it broke up.\n<</if>>\nTheir structure must be incredibly resilient, and <<bestPlanetaryScientist>> thinks that they could yield insights that could be applied to spaceship construction--if <<theExplorers heshe>> can safely retrieve a sample.</p>\n\n<p>\n<<opt "Surface Unlock Metal Armour Planetary Scientist" "ePlanetaryScientist" "medium" "sUpgradeSuitsArmour" "Surface Unlock Metal Armour No Planetary Scientist" "hard">>\n<<nextEventLink "Log Findings Move On Move On Option">>\n</p>
<<name>> attempts to retrieve a sample
<p>The process takes hours and blunts a diamond-tipped sample drill, but <<name>> at last comes away with a piece suitable for study. If the Chiron Project's engineers could make hull plating out of this material, the <<shipName>> would be more resistant to damage.</p>\n<<unlockUpgrade "sUpgradeArmourPS">>\n<p><<nextEventLink>></p>
<p><<TheExplorers>> <<eVerb attack>> the substance with lasers and diamond-tipped drills, but it remains stubbornly intact. <<They>> eventually <<eVerb give>> up after a cutting drill slips and <<inlineInjureCrewMember "injures" "was killed while retrieving a geological sample">> <<name>>.</p>\n<p><<nextEventLink>></p>
<<TheExplorers>> <<eVerb attempt>> to retrieve a sample
<<silently>><<randomCrewMember>><</silently>>\n<<include [[Surface Unlock Metal Armour Planetary Scientist Success]]>>
<<silently>><<randomCrewMember>><</silently>>\n<<include [[Surface Unlock Metal Armour Planetary Scientist Failure]]>>
<<set $eventTitle = "Efficient Cyanobacteria">>\n<p>The microbes that produce the oxygen in <<planetName>>'s atmosphere do so at an astonishing rate, much greater than that of the equivalent cyanobacteria on Earth. <<bestBiologist>> suggests bringing samples into the <<shipName>>'s biolab and experimenting on them in the hope of finding ways to make the <<shipName>>'s life support system more efficient.</p>\n<p>\n<<opt "Surface Oxygen Microbes Life Support Biologist" "eBiologist" "medium" "sDamageBiolab" "Surface Oxygen Microbes Life Support No Biologist" "hard">>\n<<nextEventLink "Log Findings Move On Move On Option">>\n</p>
<<name>> experiments on the microbes in the <<shipName>>'s lab
<p><<fName>> collects several samples of the alien cyanobacteria and grows them in the <<shipName>>'s lab. <<HeShe>> eventually <<verb produces>> a modified strain that thrives in an artificial environment and is safe for contact with humans. If the <<shipName>>'s life support system could be redesigned to incorporate them, it could be made smaller and more efficient.</p>\n<<unlockUpgrade "sUpgradeCrewCapacityBio">>\n<p><<nextEventLink>></p>
<p><<fName>> collects several samples of the alien cyanobacteria and grows them in the <<shipName>>'s lab. <<HeShe>> <<verb attempts>> to produce a modified strain that would be safe for contact with humans, but its mutations prove too unpredictable and <<heshe>> <<verb succeeds>> only in creating a virulent mutant strain that escapes from confinement. <<HeShe>> <<verb manages>> to flush it out and cleanse the lab, but not before some of the microorganisms have <<inlineGiveCrewMemberTrait `"entered "+TextUtils.hisher()+" system"` eAlienInfection>>.</p>\n<p><<nextEventLink>></p>
<<TheExplorers>> <<eVerb experiment>> on the microbes in the <<shipName>>'s lab
<<silently>><<randomCrewMember>><</silently>>\n<<include [[Surface Oxygen Microbes Life Support Biologist Success]]>>
<<silently>><<randomCrewMember>><</silently>>\n<<include [[Surface Oxygen Microbes Life Support Biologist Failure]]>>
<p>\n<<if $contextTraits.includes("psCrystalForests")>>\n\t<<set $eventTitle = "Indestructible Crystals">>\n\tThe crystal forests of <<planetName>> tower above <<theExplorers>>, countless facets shining in the light of <<starName>>.\n<<elseif $contextTraits.includes("psRegularGeology")>>\n\t<<set $eventTitle = "Eternal Regularity">>\n\t<<planetName>>'s geological formations tower above <<theExplorers>>, immense, regular, and seemingly eternal.\n<<elseif $contextTraits.includes("psDiamondDust")>>\n\t<<set $eventTitle = "Space Diamonds are Forever">>\n\tBeneath the shallow diamond dust that covers <<planetName>> are immense slabs of solid diamond. Most lie flat, but some protrude at angles from the glittering surface, achieving bizarre crystalline shapes never seen in Earthly diamonds.\n<</if>>\nThey are vanishingly thin in places but still extremely resilient, and <<bestPlanetaryScientist>> thinks that they could yield insights that could be applied to spaceship construction--if <<theExplorers heshe>> can safely retrieve a sample.</p>\n<p>\n<<opt "Surface Crystal Structure Planetary Scientist" "ePlanetaryScientist" "medium" "sUpgradeSuitsArmour" "Surface Crystal Structure No Planetary Scientist" "hard">>\n<<nextEventLink "Log Findings Move On Move On Option">>\n</p>
<<name>> attempts to retrieve a sample
<p><<name>> climbs the face of the <<if $contextTraits.includesAny("psCrystalForests","psDiamondDust")>>immense crystal<<else>>formation<</if>> and uses cutting tools to retrieve samples from different parts of its structure. Examining them back in the <<shipName>>'s lab, <<heshe>> can already see ways that the crystals could be used to make the <<shipName>>'s structural elements more compact.</p>\n<<unlockUpgrade "sUpgradeCrewCapacityPS">>\n<p><<nextEventLink>></p>
<p><<name>> climbs the face of the immense crystal and begins cutting into it to retrieve a sample. The <<if $contextTraits.includesAny("psCrystalForests","psDiamondDust")>>crystal<<else>>formation<</if>> proves resistant to the cutting tool, until it abruptly shatters, throwing <<fName>> to the ground with <<inlineInjureCrewMember `"shards piercing "+TextUtils.hisher()+" suit"` "was killed while retrieving a geological sample">>.</p>\n<p><<nextEventLink>></p>
<<TheExplorers>> <<eVerb attempt>> to retrieve a sample
<<silently>><<randomCrewMember>><</silently>>\n<<include [[Surface Crystal Structure Planetary Scientist Success]]>>
<<silently>><<randomCrewMember>><</silently>>\n<<include [[Surface Crystal Structure Planetary Scientist Failure]]>>
<<set $eventTitle = "Healing Factor">>\n<p>The animals of <<planetName>> heal almost supernaturally quickly, wounds closing up before <<theExplorerss>> eyes. If even a small part of their secret could be adapted to human biology, it could usher in a new age of medicine.</p>\n<p>\n<<opt "Surface Life First Aid Unlock Biologist" "eBiologist" "medium" "sDamageBiolab" "Surface Life First Aid Unlock No Biologist">>\n<<nextEventLink "Log Findings Move On Move On Option">>\n</p>
<<name>> studies samples of animal tissue in the <<shipName>>'s lab
<p><<fName>> manages to take samples from several animals (which are unharmed, as they immediately regenerate the damage), and puts them through a barrage of tests in the <<shipName>>'s lab. Eventually <<heshe>> <<verb finds>> a technique which could temporarily fuse the alien biology to human cells, temporarily enhancing their healing ability. It is too experimental to apply during this mission, but Chiron Base's scientists could develop it further.</p>\n<<unlockUpgrade "sUpgradeFirstAid">>\n<p><<nextEventLink>></p>
<p><<fName>> takes a variety of samples from small animals and studies them in the <<shipName>>'s lab, but the samples begin to decay as rapidly as the animals regenerated. In <<hisher>> haste to study them while they are still viable, <<fName>> lets safety protocols slip, and a dangerous sample escapes from containment and <<inlineGiveCrewMemberTrait `"infects "+TextUtils.himher()` eAlienInfection>>.</p>\n<<nextEventLink>>
<<TheExplorers>> <<eVerb study>> samples of animal tissue in the <<shipName>>'s lab
<<silently>><<randomCrewMember>><</silently>>\n<<include [[Surface Life First Aid Unlock Biologist Success]]>>
<<silently>><<randomCrewMember>><</silently>>\n<<include [[Surface Life First Aid Unlock Biologist Failure]]>>
<<set $eventTitle = "The Long Winter Sleep">>\n<p><<planetName>>'s highly eccentric orbit leads to long periods of extreme cold on its surface, and some of the native animal species appear to cope with this by entering a state of hibernation. <<bestBiologist>> suggests that studying these creatures could lead to a breakthrough in the quest for suspended animation technology, something which has long eluded Earth's scientists. A proper study, however, would require bringing one of the hibernating creatures into the <<shipName>>'s biolab, which would not be without risk.</p>\n<p>\n<<opt "Surface Hibernating Animals Biologist" "eBiologist" "medium" "sDamageBiolab" "Surface Hibernating Animals No Biologist">>\n<<nextEventLink "Log Findings Move On Move On Option">>\n</p>
<<name>> brings one of the hibernating creatures to the <<shipName>> for study
<p><<fName>> sets up the biolab to replicate the environment of the animals' hibernation lair, and <<theExplorers X>> carefully <<eVerb transport>> one of them to the <<shipName>>. The animal remains completely inert, its life processes barely detectable, while <<fName>> performs scans and takes tissue samples. Eventually <<heshe>> <<verb isolates>> the ingenious compound that allows <<planetName>>'s animals to survive the near-death stasis, and <<theExplorers X>> <<eVerb return>> the animal unharmed to its home.</p>\n<<unlockUpgrade "sUpgradeLifeSupport">>\n<<nextEventLink>>
<p><<fName>> sets up the biolab to replicate the environment of the animals' hibernation lair, and <<theExplorers X>> carefully <<eVerb transport>> one of them to the <<shipName>>. When <<fName>> attempts to take a tissue sample, however, the creature comes back to life with startling rapidity and lashes out at <<himher>>. <<fName>> quickly opens a route for the creature to escape, but before it does so it <<inlineInjureCrewMember `"tears a chunk out of "+TextUtils.hisher()+" flesh"` "accidentally woke a hibernating animal">> and <<inlineDamageShip "smashes delicate equipment" "was destroyed by an alien animal after bringing it on board for study" "sDamageBiolab">>.</p>\n<p><<nextEventLink>></p>
<<TheExplorers>> <<eVerb bring>> one of the hibernating creatures to the <<shipName>> for study
<<silently>><<randomCrewMember>><</silently>>\n<<include [[Surface Hibernating Animals Biologist Success]]>>
<<silently>><<randomCrewMember>><</silently>>\n<<include [[Surface Hibernating Animals Biologist Failure]]>>
<<set $eventTitle = "Natural Armour">>\n<p>Many of the life forms on <<planetName>> have thick carapaces that seem almost impervious to harm, and yet do not restrict the creatures' movement. <<bestBiologist>> thinks that they could help the Chiron Project develop more resilient spacesuits--if <<theExplorers heshe>> can safely retrieve a sample.</p>\n\n<p>\n<<opt "Surface Life Suit Armour Unlock Biologist" "eBiologist" "medium" "sDamageBiolab" "Surface Life Suit Armour Unlock No Biologist">>\n<<nextEventLink "Log Findings Move On Move On Option">>\n</p>
<<name>> tries to retrieve a sample
<p>Gathering a sample from a living creature would be dangerous, so <<name>> finds a recently-dead one and uses power tools to remove a piece of the carapace. Back in the <<shipName>>'s lab, <<heshe>> <<verb subjects>> it to a barrage of tests, and <<verb finds>> that it can withstand and even regenerate from almost anything <<heshe>> <<verb throws>> at it. The Chiron Project's scientists will have to find a way to grow more of this material, but once they do, they will be able to equip the explorers with much more resilient spacesuits.</p>\n<<unlockUpgrade "sUpgradeSuitsArmour">>\n<p><<nextEventLink>></p>
<p><<fName>> decides that gathering a sample from a living creature would be dangerous, so <<heshe>> <<verb finds>> what <<heshe>> <<verb believes>> is a recently dead one and begins using power tools to cut into the carapace. Unfortunately, the signs of death on <<planetName>> are as unfamiliar as the signs of life, and the creature was only dormant. <<fName>> gets a close view of its indestructible carapace as it <<inlineInjureCrewMember `"slams into "+TextUtils.himher()` "was mauled by an alien animal">> before returning to its sleep.</p>\n<p><<nextEventLink>></p>
<<TheExplorers>> <<eVerb try tries>> to retrieve a sample
<<silently>><<randomCrewMember>><</silently>>\n<<include [[Surface Life Suit Armour Unlock Biologist Success]]>>
<<silently>><<randomCrewMember>><</silently>>\n<<include [[Surface Life Suit Armour Unlock Biologist Failure]]>>
<<set $eventTitle = "Life in the Hot">>\n<p><<planetName>>'s plant-analogues thrive in temperatures that ought to incinerate them. If <<theExplorers>> studied their heat regulation system in the <<shipName>>'s lab, it might lead to advances in suit cooling systems.</p>\n<p>\n<<opt "Surface Life Cooling Unlock Biologist" "eBiologist" "medium" "sDamageBiolab" "Surface Life Cooling Unlock No Biologist">>\n<<nextEventLink "Log Findings Move On Move On Option">>\n</p>
<<name>> brings some plants to the lab and studies them
<p><<fName>> sets up an artificial heated environment--essentially a furnace--in the <<shipName>>'s lab, and transplants a selection of <<planetName>>'s flora into it. Under the lab's scanners, <<heshe>> can see the workings of the plants' heat regulation systems, and <<verb makes>> notes that the Chiron Project's engineers could use to develop new suit cooling technology.</p>\n<<unlockUpgrade "sUpgradeSuitsHot">>\n<p><<nextEventLink>></p>
<p><<fName>> sets up an artificial heated environment--essentially a furnace--in the <<shipName>>'s lab, and transplants a selection of <<planetName>>'s flora into it. Unfortunately, the plants thrive too well in the lab, and their roots work their way into the equipment and cause a containment failure. The escaping heat <<inlineInjureCrewMember "badly burns" "was burned by a high-temperature experiment containment failure">> <<fName>>, and the experiment is ruined.</p>\n<p><<nextEventLink>></p>
<<TheExplorers>> <<eVerb bring>> some plants to the lab for study
<<silently>><<randomCrewMember>><</silently>>\n<<include [[Surface Life Cooling Unlock Biologist Success]]>>
<<silently>><<randomCrewMember>><</silently>>\n<<include [[Surface Life Cooling Unlock Biologist Failure]]>>
<<set $eventTitle = "Heavy Burden">>\n<p><<TheExplorers>> can barely move under <<planetName>>'s gravity without becoming exhausted, but the <<planetNoun>>'s native animal-analogues are able to run, climb and even jump. Close study of their anatomy could lead to technology to help explorers survive on high-gravity planets, if <<theExplorers>> can safely get one into the <<shipName>>'s lab.</p>\n<p>\n<<opt "Surface Life HighGrav Unlock Biologist" "eBiologist" "medium" "sDamageBiolab" "Surface Life HighGrav Unlock No Biologist">>\n<<nextEventLink "Log Findings Move On Move On Option">>\n</p>
<<name>> brings an animal into the lab for study
<p><<fName>> gathers some of the food of one of <<planetName>>'s more docile herbivores and uses it to entice a creature into the lab. The <<shipName>> creaks under the animal's weight, but holds. While it munches on its meal, <<fName>> scans it to create a detailed model of its musculoskeletal system, which Chiron Base's engineers could use to enhance the <<shipName>>'s spacesuits.</p>\n<<unlockUpgrade "sUpgradeSuitsHighGrav">>\n<p><<nextEventLink>></p>
<p><<fName>> gathers some of the food of one of <<planetName>>'s more docile herbivores and uses it to entice a creature into the lab. <<fName>> runs non-invasive scans while it munches on its meal, but something startles it and it bolts from the ship, its heavy footsteps <<inlineDamageShip "damaging the hull" "was crushed by an alien animal on a high-gravity planet">>.</p>\n<p><<nextEventLink>></p>
<<TheExplorers>> <<eVerb bring>> an animal into the lab for study
<<silently>><<randomCrewMember>><</silently>>\n<<include [[Surface Life HighGrav Unlock Biologist Success]]>>
<<silently>><<randomCrewMember>><</silently>>\n<<include [[Surface Life HighGrav Unlock Biologist Failure]]>>
<<set $eventTitle = "Life in the Cold">>\n<p><<planetName>>'s plant-analogues are able to thrive in temperatures that would freeze any Terrestrial plant solid, thanks in part to an ingeneous biological insulation and heat-retention system. Each plant is a tiny oasis of heat, jealously guarding the energy it needs to live and grow. If <<theExplorers>> could study some of them in a controlled environment, they might lead to advances in spacesuit insulation.</p>\n<p>\n<<opt "Surface Life Insulation Unlock Biologist" "eBiologist" "medium" "sDamageBiolab" "Surface Life Insulation Unlock No Biologist">>\n<<nextEventLink "Log Findings Move On Move On Option">>\n</p>
<<name>> brings several plants into the <<shipName>>'s biolab
<p><<fName>> brings several of the plants into a climate-controlled environment in the lab, and scans them while subjecting them to temperature changes. The intriguing biochemical processes by which the plants preserve heat should give Chiron Base's scientists a starting point from which to invent advanced suit insulation.</p>\n<<unlockUpgrade "sUpgradeSuitsCold">>\n<p><<nextEventLink>></p>
<p><<fName>> brings several of the plants into a climate-controlled environment in the lab, and scans them while subjecting them to temperature changes. Unfortunately, the biochemical processes by which plants preserve heat involve substances that are highly toxic to humans, and a tiny amount escapes containment and <<inlineGiveCrewMemberTrait `"enters "+TextUtils.hisher()+" system"` "eAlienInfection">>.</p>\n<p><<nextEventLink>></p>
<<TheExplorers>> <<eVerb bring>> several plants into the <<shipName>>'s biolab
<<silently>><<randomCrewMember>><</silently>>\n<<include [[Surface Life Insulation Unlock Biologist Success]]>>
<<silently>><<randomCrewMember>><</silently>>\n<<include [[Surface Life Insulation Unlock Biologist Failure]]>>
<<TheExplorers>> <<eVerb rush rushes>> <<fName2>> to the medbay
<p>\n<<if $crew.length == 2>>\n\t<<randomCrewMember not2>> rushes\n<<else>>\n\tThe other explorers rush\n<</if>>\nthe unconscious <<fName2>> to the <<shipName>>'s automated medbay. The medbay <<inlineGiveCrewMember2Trait "cannot eradicate" "eAlienInfection">> the unfamiliar infection, but manages to slow it down so that it is not immediately fatal. The medbay also stops <<fName2>> from being infectious, so\n<<if $crew.length == 2>>\n\t<<randomCrewMember not2>>\n<<else>>\n\tthe other explorers\n<</if>>\nshould not need to worry about sharing the <<shipName>> with <<himher2>>.</p>\n<p><<nextEventLink>></p>
<p><<fName2>> continues to deteriorate in the medbay's intensive care chamber, and despite \n<<if $crew.length == 2>>\n\t<<randomCrewMember not2>>'s\n<<else>>\n\tthe other explorers'\n<</if>>\nprecautions, traces of the infectious agent are released into the <<shipName>>. Eventually the medbay finds a treatment that will reduce the infection's severity and stop its further spread, but by that time it is too late to save <<fName2>> or to prevent <<randomCrewMember not2>> from <<inlineGiveCrewMemberTrait "becoming infected" "eAlienInfection">>.\n<<killCrewMember2 "died from a fast-acting alien infection">>\n<p><<nextEventLink>></p>
<<fName2>> stays sealed in <<hisher2>> suit to avoid infecting\n<<if $crew.length == 2>>\n\t<<randomCrewMember not2>>\n<<else>>\n\tthe other explorers\n<</if>>
<p><<fName2>> knows that the infection will be fatal without medical attention, but the risk to the <<shipName>> is just too great.\n<<if $crew.length == 2>>\n\t<<randomCrewMember not2>> tells <<fName2>>'s suit to inject <<himher2>> with a lethal dose of painkillers to spare <<himher2>> any further suffering, and then solemnly takes <<hisher2>> body back to the <<shipName>> and place it inside a biohazard container.\n<<else>>\n\tThe other explorers tell <<fName2>>'s suit to inject <<himher2>> with a lethal dose of painkillers to spare <<himher2>> any further suffering, and then solemnly take <<hisher2>> body back to the <<shipName>> and place it inside a biohazard container.\n<</if>>\n</p>\n<<killCrewMember2 "died from a fast-acting alien infection">>\n<p><<nextEventLink>></p>
<<set $eventTitle = "Critical Damage">>\n<p>The <<shipName>> has sustained too much damage to continue functioning. <<include [[Game Over Flavour Text]]>></p>\n\n\n<<set _reason = $lastDamageOrInjuryReason>>\n<<for $crew.length > 0>>\n\t<<killCrewMemberX 0 `"lost with the "+$ship.name`>>\n<</for>>\n<<if $endgame_fixed_wormhole == 0>>\n\t<p>@@.full-width-link;[[Meanwhile...|Endgame Chiron Base Gate Activation]]@@</p>\n<<else>>\n\t<<gameOver _reason "ship">>\n<</if>>
<<set $eventTitle = "Total Crew Loss">>\n<p>With the death of its last crew member, the <<shipName>>'s mission is over. <<include [[Game Over Flavour Text]]>></p>\n<<if $endgame_fixed_wormhole == 0>>\n\t<p>@@.full-width-link;[[Meanwhile...|Endgame Chiron Base Gate Activation]]@@</p>\n<<else>>\n\t<<gameOver $lastDamageOrInjuryReason "crew">>\n<</if>>
/% This follows a sentence naming the ship, so "it" is the ship %/\n<<if $positionTrait == "xInterplanetary">>\n\t<<if $contextTraits.includes("tAsteroids")>>\n\t\tIts wreckage continues on an elliptical orbit until the <<systemName>>'s dense asteroids smash it to pieces.\n\t<<elseif $contextTraits.includes("tBlackHole")>>\n\t\tIts wreckage continues on an elliptical orbit until it is drawn into the black hole <<starNameWithTrait "tBlackHole">> and lost to the universe.\n\t<<else>>\n\t\tIts wreckage becomes a new satellite of\n\t\t<<if $currentSystem.stars.length == 1>>\n\t\t\t<<= $currentSystem.stars[0].name>>,\n\t\t<<elseif $currentSystem.stars.length == 2>>\n\t\t\t<<systemName>> system's binary stars,\n\t\t<<elseif $currentSystem.stars.length == 2>>\n\t\t\t<<systemName>> system's trinary stars,\n\t\t<<else>>\n\t\t\t<<systemName>> system's <<= TextUtils.numberWord($currentSystem.stars.length)>> stars,\n\t\t<</if>>\n\t\tcarrying <<theExplorerss>> frozen <<eNoun bodies body>> on an endless elliptical orbit.\n\t<</if>>\n<<elseif $positionTrait == "xInOrbit">>\n\t<<if $contextTraits.includes("tBlackHole","pCloseOrbit") && !$contextTraits.includes("pIsMoon")>>\n\t\tIts wreckage continues on its orbit until it is drawn into the black hole <<starNameWithTrait "tBlackHole">> and lost to the universe.\n\t<<elseif $contextTraits.includesAny("pBelt")>>\n\t\tIts wreckage continues to orbit <<starName>> among the many bodies of the asteroid belt.\n\t<<elseif $contextTraits.includes("tAsteroids")>>\n\t\tIts wreckage continues to orbit <<starName>> until the <<systemName>>'s dense asteroids smash it to pieces.\n\t<<elseif $contextTraits.includesAny("pAtmosThick","pAtmosCrushing","pGasGiant")>>\n\t\tIts wreckage continues to orbit <<planetName>> until its orbit decays and it burns up in the atmosphere.\n\t<<elseif $contextTraits.includesAny("pOceanPlanetwide")>>\n\t\tIts wreckage continues to orbit <<planetName>> until its orbit decays and it splashes down and sinks into the planet-wide ocean.\n\t<<else>>\n\t\tIts wreckage continues to orbit <<planetName>> until its orbit decays and it creates a new impact crater on the surface.\n\t<</if>>\n<<elseif $positionTrait == "xExploringSurface">>\n\t<<if $contextTraits.includes("pOceanPlanetwide","pOceanLava")>>\n\t\tIts wreckage is swallowed by <<planetName>>'s ocean of molten rock.\n\t<<elseif $contextTraits.includes("pOceanPlanetwide","psLifeAnimals","psLifeOcean","plNotExtinct")>>\n\t\tIts wreckage sinks into the <<planetNoun>>-wide ocean, where it becomes a home for alien animals.\n\t<<elseif $contextTraits.includes("pOceanPlanetwide","psLifePlants","psLifeOcean","plNotExtinct")>>\n\t\tIts wreckage sinks into the <<planetNoun>>-wide ocean, where it becomes overgrown by alien plants.\n\t<<elseif $contextTraits.includes("pOceanPlanetwide")>>\n\t\tIts wreckage sinks into the <<planetNoun>>-wide ocean.\n\t<<elseif $contextTraits.includesAll("psCiv","cNotExtinct","cKnowName") && $contextTraits.includesAny("ctDigital","ctSpacefaring")>>\n\t\tThe <<civname>> preserve its wreckage in memory of the explorers, and study it to learn more about humans.\n\t<<elseif $contextTraits.includesAll("psCiv","cNotExtinct","cKnowName")>>\n\t\tThe <<civname>> preserve its wreckage in memory of the explorers, and eventually reverse-engineer some of its technology.\n\t<<elseif $contextTraits.includesAll("psCiv","cNotExtinct" && $contextTraits.includesAny("ctDigital","ctSpacefaring"))>>\n\t\tMembers of the <<planetNoun>>'s indiginous civilisation discover its wreckage, and study it to learn more about humans.\n\t<<elseif $contextTraits.includesAll("psCiv","cNotExtinct")>>\n\t\tMembers of the <<planetNoun>>'s indiginous civilisation discover its wreckage, and eventually reverse-engineer some of its technology.\n\t<<elseif $contextTraits.includesAll("psLifeAnimals","psLifeSurface","plNotExtinct")>>\n\t\tIts wreckage rests on <<planetName>>'s surface, where it becomes the lair of an alien animal.\n\t<<elseif $contextTraits.includesAll("psLifePlants","psLifeSurface","plNotExtinct")>>\n\t\tIts wreckage rests on <<planetName>>'s surface, gradually becoming overgrown by alien plants.\n\t<<elseif $contextTraits.includes("tAsteroids") && !$contextTraits.includes("pAtmosCrushing")>>\n\t\tIts wreckage rests on <<planetName>>'s surface until it is pulverised by a meteor shower.\n\t<<elseif $contextTraits.includes("pUnstable")>>\n\t\tIts wreckage rests on <<planetName>>'s surface until geological activity swallows and crushes it.\n\t<<elseif $contextTraits.includes("pWind")>>\n\t\tIts wreckage rests on <<planetName>>'s surface until erosion from the <<planetNoun>>'s strong winds wears it away.\n\t<<elseif $contextTraits.includes("pTempVeryHot")>>\n\t\tIts wreckage rests on <<planetName>>'s surface until the oppressive temperature slowly melts it into slag.\n\t<<else>>\n\t\tIts wreckage rests on <<planetName>>'s surface, perhaps to be found millennia later by alien explorers.\n\t<</if>>\n<<elseif $positionTrait == "xGateJourney">>\n\tGravitational eddies tear its wreckage apart, and the fragments vanish into the wormhole vortex.\n<<elseif $positionTrait == "xEndgame">>\n\tIts wreckage rests on the surface of the Gate Nexus, within sight of the goal that the Chiron Project failed to reach.\n<</if>>
<<include [[Setup Game]]>>\n<<set _nameDeck = clone(TextUtils.randomShipNames)>>\n<<set $ship.name = _nameDeck.pluck()>>\n<<set $locationOverride = "2060 Chiron">>\n<<set $discoveriesThisSystem = []>>\n<p>@@.keyword;The middle of the 23rd Century.@@ A space probe operated by the Global Astronomical Society detects unusual energy readings from the asteroid 2060 Chiron. A crewed follow-up mission detects a million-year-old artefact buried beneath the asteroid's surface. A ring of exotic matter that bends space and gravity. A @@.keyword;Gate@@, which when activated could lead anywhere in the galaxy.</p>\n\n<p>The newly-formed @@.keyword;Chiron Project@@ establishes a permanent research station in orbit of the asteroid, and begins constructing a ship that can safely traverse the wormhole. For the first time in human history, the speed of light can be bypassed--the stars themselves are within reach.</p>\n\n<p>In a ceremony live-streamed by most of the human race, the Chiron Project's leaders name their ship the <span id="textbox"><<include [[Intro Textbox]]>></span>. <span class="subtle-icon-link inline-icon keyword">\n\t<<link "<img data-passage='rolling-dices' alt='Dice'>">>\n\t\t<<set $ship.name = _nameDeck.pluck()>>\n\t\t<<if _nameDeck.length == 0>>\n\t\t\t<<set _nameDeck = clone(TextUtils.randomShipNames)>>\n\t\t\t<<set _nameDeck.delete($ship.name)>>\n\t\t<</if>>\n\t\t<<run setPageElement("textbox", "Intro Textbox")>>\n\t<</link>>\n\t<span class="tooltip">Randomise name</span>\n</span></p>\n\n<p>@@.full-width-link;[[Continue|Intro 3]]@@</p>
//<<textbox "$ship.name" $ship.name>>//
<<set $ship.name = TextUtils.sanitiseString($ship.name)>>\n<<set $crewPool = []>>\n<<set $crewPool.push(Crew.randomCrewMember("ePilot"))>>\n<<set $crewPool.push(Crew.randomCrewMember("eEngineer"))>>\n<<set $crewPool.push(Crew.randomCrewMember("eMedic"))>>\n<<set $crewPool.push(Crew.randomCrewMember("ePlanetaryScientist"))>>\n<<set $crewPool.push(Crew.randomCrewMember("eBiologist"))>>\n<<set $crewPool.push(Crew.randomCrewMember("eXenologist"))>>\n<<run $crewPool.sort(Crew.crewPoolSort)>>\n<<set $locationOverride = "Chiron Base">>\n<<set $positionTrait = "xChironBase">>\n<p>Hopeful interstellar explorers flock to Chiron Base from across the solar system, and the Chiron Project's Selection Committee sorts most promising candidates into <span class="dont-wrap-link"><<link "six specialities">><<script>>$("#crew-display-about-stats").slideToggle();<</script>><</link>></span>. But the narrowness of the Gate means that the <<shipName>> can only be made large enough to carry three explorers, so the Selection Committee must choose carefully.</p>\n\n<div id="crew-display-about-stats" style="display:none">\n\t@@.inline-icon;<<= getTraitIconImg("ePilot")>>@@ ''Pilots'' can pull off difficult manoeuvres when flying the ship, both in interplanetary space and in a planet's atmosphere.<br>\n\t@@.inline-icon;<<= getTraitIconImg("eEngineer")>>@@ ''Engineers'' can repair the ship or explorers' suits, improvise mechanical solutions to problems, and gain insight into alien machinery.<br>\n\t@@.inline-icon;<<= getTraitIconImg("eMedic")>>@@ ''Medics'' can perform first-aid when explorers are injured in the field.<br>\n\t@@.inline-icon;<<= getTraitIconImg("ePlanetaryScientist")>>@@ ''Planetary Scientists'' are trained in science to do with natural, non-living phenomena (physics, chemistry, geology, etc.).<br>\n\t@@.inline-icon;<<= getTraitIconImg("eBiologist")>>@@ ''Biologists'' are trained in the study of all kinds of life, including the until recently theoretical study of life originating on other planets.<br>\n\t@@.inline-icon;<<= getTraitIconImg("eXenologist")>>@@ ''Xenologists'' specialise in understanding alien civilisations, including making sense of alien languages.\n</div>\n\n<div id="select-crew-list">\n\t<<include "Select Crew List">>\n</div>\n\n/%<<include [[Chiron Base Select Crew]]>>%/
<<set $eventTitle = "">>\n<p>At last, after years of preparation, the day comes. The umbilicals detach, leaving the <<shipName>> drifting between Chiron Base and the asteroid. Floating weightless in the command module, the explorers tensely run through systems checks with Chiron Base Control, until the ship is confirmed ready.</p>\n\n<p>The all-clear comes. \n<<if Crew.anyoneHasTrait($crew, "ePilot")>>\n\t<<bestPilot>> fires the manoeuvring thrusters\n<<else>>\n\tThe explorers activate the autopilot\n<</if>>\nand the ship edges towards the eerily glowing ring of the Chiron Gate...</p>\n\n<p>@@.full-width-link;[[Enter the Gate|Intro 5]]@@</p>
<<set $locationOverride = "The Wormhole">>\n<<set $positionTrait = "xGateJourney">>\n<p>The wormhole's gravity takes hold, and the <<shipName>> rushes along a flickering tunnel of light. Gravitational eddies tug at the ship and turn the explorers' stomachs. The navigational sensors struggle to make sense of the exotic environment, but at last put together an image of a complex multi-dimensional network of wormholes through which the tiny <<shipName>> hurtles uncontrolled. Moments later, with a final shudder and power surge, the <<shipName>> shoots out of the wormhole and into normal space.</p>\n\n<p>@@.full-width-link;[[Continue|Intro 6]]@@</p>
<<unset $locationOverride>>\n<<set $currentSystem = StarSystemGenerator.randomSystem($civilisations, false, true)>>\n<<set $firstSystemName = $currentSystem.stars[0].name>>\n<<include [[Chiron Base Enter Gate]]>>\n<p>Star pattern analysis shows that the <<shipName>> has travelled hundreds of light-years in a few seconds. The explorers watch as the sensors put together a picture of the alien star system.</p>\n\n<<include [[System View]]>>
<<set $eventTitle = "Vortex Collapse">>\n\n<p>The <<shipName>> barely makes it out of the wormhole before the vortex collapses. The blue ring that has flickered at the heart of Chiron Base since the project began shrinks to a point and begins to dim and fade.</p>\n\n\n<<if $ship.upgrades.includes("sUpgradeGateNexusLocator")>>\n\t<p>All is not lost, however. The Chiron Project's engineers have completed the Gate Nexus Locator. With a large enough expenditure of energy, it should be possible to force the Gate open one final time and take the <<shipName>> to the Gatebuilders' home system. The scientists of the Wormhole Research Group ready the energy pulse that will force the Gate open one last time. There is a palpable sense of tension throughout the base as the <<shipName>> prepares for its final, all-or-nothing mission.</p>\n\t<<set $lastChanceTrip = true>>\n\t<p><<nextEventLink>></p>\n\n<<elseif $ship.upgrades.includes("sUpgradeGateOriginHoming") && $data[Traits["sUpgradeGateNexusLocator"].dataType] >= Traits["sUpgradeGateNexusLocator"].dataCost>>\n\t<p>All is not lost, however. The Chiron Project's engineers have enough data to complete the Gate Nexus Locator. With a large enough expenditure of energy, it should be possible to force the Gate open one final time and take the <<shipName>> to the Gatebuilders' home system.</p>\n\t<p>\n\t<div class="full-width-link">\n\t<<link "Install the Gate Nexus Locator" "StoryEvent Return With No Uses Remaining Installed">>\n\t\t<<set $ship.upgrades.push("sUpgradeGateNexusLocator")>>\n\t\t<<set $data[Traits["sUpgradeGateNexusLocator"].dataType] -= Traits["sUpgradeGateNexusLocator"].dataCost>>\n\t\t<<set $lastChanceTrip = true>>\n\t<</link>>\n\t</div>\n\t</p>\n\n<<elseif $data[Traits["sUpgradeGateNexusLocator"].dataType] >= Traits["sUpgradeGateNexusLocator"].dataCost + Traits["sUpgradeGateOriginHoming"].dataCost>>\n\t<p>All is not lost, however. The Chiron Project's engineers have enough data to complete the Gate Origin Homing and Gate Nexus Locator systems. With a large enough expenditure of energy, it should be possible to force the Gate open one final time and take the <<shipName>> to the Gatebuilders' home system.</p>\n\t<p>\n\t<div class="full-width-link">\n\t<<link "Install the upgrades" "StoryEvent Return With No Uses Remaining Installed">>\n\t\t<<set $ship.upgrades.push("sUpgradeGateOriginHoming","sUpgradeGateNexusLocator")>>\n\t\t<<set $data[Traits["sUpgradeGateNexusLocator"].dataType] -= Traits["sUpgradeGateNexusLocator"].dataCost + Traits["sUpgradeGateOriginHoming"].dataCost>>\n\t\t<<set $lastChanceTrip = true>>\n\t<</link>>\n\t</div>\n\t</p>\n\n<<else>>\n\t<p>Chiron Base's scanners continue to monitor the tiny, fading wormhole remnant, and but the <<shipName>>'s mission is over.</p>\n\t<<gameOver "The wormhole vortex collapsed" "base">>\n<</if>>
/% PLACEHOLDER: Revise this %/\n<p>The Chiron Project's engineers rush to complete the Gate Nexus Locator, while the scientists of the Wormhole Research Group ready the energy pulse that will force the Gate open one last time. There is a palpable sense of tension throughout the base as the <<shipName>> prepares for its final, all-or-nothing mission.</p>\n<p><<nextEventLink>></p>
/% $args[0] is the string of the passage name %/\n/% Can't use visited() to check if event has been seen because it might be included, not navigated to. %/ \n<<widget triggerOneTimeEvent>>\n\t<<if !$oneTimeEventsSeen.includes($args[0])>>\n\t\t<<set $oneTimeEventsSeen.push($args[0])>>\n\t\t<<addEventToQueue $args[0] start>>\n\t<</if>>\n<</widget>>
<<set $locationOverride = "The Wormhole">>\n<<set $eventTitle = "Approaching the Centre">>\n\n<<if $lastChanceTrip>>\n\t<p>The <<shipName>> positions itself close to the remnant of the Gate, and Chiron Base activates the energy pulse. Sparks fly from the power conduits and systems shut off across the base as it overloads its reactor to deliver what the Gate needs. The flickering snarl that was the Chiron Gate opens, sending out a gravitational shockwave that rocks the <<shipName>> and knocks Chiron Base's habitats out of their orbits.</p>\n\t\n\t<p>Emergency personnel scramble to fight fires and keep life support from failing. <<TheExplorers>> cannot stay to help--<<they>> must move quickly to make Chiron Base's sacrifice worthwhile. <<bestPilot>> fires the engine and the <<shipName>> hurtles through the unstable Gate just before it closes once again.</p>\n\t\n\t<p>Spatial distortions and energy discharges rock the <<shipName>>, as if the wormhole is furious at being awakened from its sleep. Great lattices of matter and energy glow in the indeterminate distance, but <<theExplorers>> <<are>> too busy keeping the ship from disintegrating to observe them. <<randomCrewMember>> is reinforcing the ship's hull when <<inlineDamageShip "wormhole energy blasts through it" "was destroyed by wormhole energy">>, annihilating <<himher>> instantly.</p>\n\t\n\t<p>Somehow, the <<shipName>> survives the journey to erupt, out of control and venting atmosphere, into the still darkness of normal space.</p>\n\t\n\t<<killCrewMember "was annihilated by wormhole energy">>\n\t\n<<else>>\n\t<p>Once again the <<shipName>> rushes along the flickering tunnel of light, its upgraded Gate drive homing in on the origin point of the galaxy-spanning network. <<inlineGainData "Great lattices of matter and energy" planetary_science large>> glow in the indeterminate distance, manifestations of the fabulous technology keeping the Gates from collapsing. Space becomes more twisted and exotic radiation becomes more intense as countless wormhole tunnels converge.</p>\n\t<p><<TheExplorerss>> medical monitors flash with radiation warnings, and the scanners indicate higher levels of spatial distortion than the <<shipName>> has ever experienced, but the stabilised Gate drive keeps the ship safe. The lights of the wormhole flash brighter and brighter as myriad tunnels converge, forming patterns of infinite complexity and beauty, until at last the <<shipName>> erupts into the darkness of normal space.</p>\n<</if>>\n<p><<nextEventLink>></p>
<<exploreTrait icGatebuilders>>\n<<set $eventTitle = "The Gatebuilders' Story">>\n\n<p>\nThe surviving records are fragmentary and confusing, but <<theExplorers>> eventually <<eVerb piece>> together the story of the <<civname>>--the story of the Gatebuilders.\n</p>\n\n\n<p>\nThe <<civname>> achieved spaceflight a million years ago. They explored their home system, first with robots and then with crewed ships, and eventually sent artificially-intelligent probes on the millennia-long sublight journeys to nearby star systems.\n</p>\n\n<p>\nThe probes revealed a universe of lonely islands. Star systems filled with life and beauty, too far away to be reached within <<aCivname>> lifespan. Young civilisations living through the ages the <<civname>> had experienced on their journey to the stars, and the ruins of older civilisations who had fallen without ever meeting their peers. Even when they detected one another's faint radio signals or sublight probes, no meaningful communication was possible across the vast distances of the universe.\n</p>\n\n<p>\nBy wisdom or chance, the <<civname>> avoided the various extinction events that their probes found written in other civilisations' ruins. They advanced technologically beyond any civilisation they were aware of, eventually creating laboratories that could manipulate the very fabric of space. At last they made a breakthrough that their ancestors had thought impossible: the creation of a stable wormhole large enough for a starship to traverse.\n</p>\n\n<p>\nThe <<civname>> launched self-replicating robot ships that spread throughout the galaxy, building Gates in every star system. The network expanded to dozens of systems, then thousands, and eventually the entire galaxy. For the first time, individual <<civname>> could visit distant worlds and return without spending lifetimes in transit.\n</p>\n\n<p>\nFor a thousand years, the <<civname>> presided over a Gate-linked interstellar civilisation. Eventually their age came to an end, and they retreated back to their home system and vanished. But they built the Gates to last...\n</p>\n\n<p>@@.full-width-link;[[Continue|Explore Gatebuilder Story 2]]@@</p>
<<revealPlanetTrait "psEndgameTrigger">>\n<p>\nThe details of the Gates' mechanism are centuries beyond human science, but <<theExplorers>> <<eVerb learn>> that there is a central nexus that sustains and stabilises the network. A planet-sized machine, humming with inconceivable energies, attended by quasi-living vortex beings. It rests at the heart of Gate space--but it was built in orbit of <<planetName>>, and with the right signal it can be called partially back into normal space there.\n</p>\n\n<p>\nIt should be possible to use the <<shipName>>'s Gate drive to create an appropriate signal and bring the Gate Nexus close enough to normal space to be reached. There, if anywhere, is the key to stabilising the Chiron Gate and giving humanity a permanent path to the stars.\n</p>\n<p><<nextEventLink>></p>
<<set $noShipGameOver = true>>\n<<set $eventTitle = "">>\n<<set $locationOverride = "The Gate Nexus">>\n<p>The <<shipName>> approaches the orbital position indicated by <<theExplorerss>> research, and the Gate drive pulses as it reacts to the knot of twisted space behind which the Nexus hides. The complexity and beauty of the energy fields speak of the supreme intelligence that created them, and hints of movement in the fields indicate the presence of enigmatic vortex beings.</p>\n\n<p>\n<<opt "Endgame Beacon PlanetaryScientist" "ePlanetaryScientist" "very_hard" "sUpgradeScannerGravity">>\n<<opt "Endgame Beacon Biologist" "eBiologist" "very_hard" "sUpgradeScannerLife">>\n<<opt "Endgame Beacon Xenologist" "eXenologist" "very_hard" "sUpgradeTranslator">>\n<<opt "Endgame Beacon Generic">>\n<<nextEventLink "Endgame Beacon Not Now">>\n</p>
Not now
<<name>> studies the energy fields
<p>None of the Chiron Project's scientists fully understand the physics behind the Gates, but no one comes closer than <<name>>. <<HeShe>> <<verb spends>> hours building computer models of the Nexus field, predicting how it will react to minute inputs of energy and then testing those predictions with minute, careful impulses from the <<shipName>>'s Gate drive. At last <<heshe>> <<verb comes>> up with a working theory--not of why the field acts the way it does, but of how it can be manipulated to open without damaging the <<shipName>>. After triple-checking <<hisher>> work, <<fName>> calibrates the Gate drive according to <<hisher>> model and activates it.</p>
<<include [[Endgame Beacon PlanetaryScientist Common]]>>\n<p>Power surges through the Gate drive--and interacts with the Nexus field in exactly the way that <<fName>> had predicted. The <<shipName>>'s structure strains against the unfamiliar spatial warping, but holds. Outside, a safe distance away, space blossoms in flickering wormhole light. At its turbulent centre is the dark shape of the Nexus itself, artificial heart of the Gate network, the Gatebuilders' masterpiece and the object of the <<shipName>>'s quest.</p>\n<<addEventToQueue "Endgame Approach Nexus" start>>\n<p><<nextEventLink>></p>
<<include [[Endgame Beacon PlanetaryScientist Common]]>>\n<p>Power surges through the Gate drive, and the Nexus field responds--but <<fName>>'s calculations were off by a fraction of a percent. Space erupts in a vortex of wormhole light, far closer than <<fName>> had predicted. Spatial distortions buffet the <<shipName>>, <<inlineDamageShip "severely warping its structure" "was destroyed while opening the Gate Nexus" "sDamageLandingEngine">> before <<fName>> manages to compensate.</p>\n<p>As the storm of light dies down, a dark shape becomes visible in the centre--the Nexus itself, artificial heart of the Gate network, the Gatebuilders' masterpiece and the object of the <<shipName>>'s quest.</p>\n<<addEventToQueue "Endgame Approach Nexus" start>>\n<p><<nextEventLink>></p>
<<name>> calls to the vortex beings
<p>Invisible except as ripples in the energy field, composed of no biology human science could understand, the vortex beings nevertheless move as if alive. <<fName>> studies their movements, using the same intuition <<heshe>> would use to study a more conventionally physical creature. <<HeShe>> can see them in <<hisher>> mind's eye--how they slide up and down the field lines, dance around one another, signal to one another with minute vibrations of energy. <<fName>> subtly manipulates the Gate drive's output, mimicking these signals.</p>
<<include [[Endgame Beacon Biologist Common]]>>\n<p>Curious vortex beings drift around the <<shipName>>. At first they are visible only in the field lines of wormhole energy, but then a flickering blue glow begins to seep through the windows, wormhole light spilling into normal space. Just as <<fName>> had hoped, the vortex beings' movements have opened the way to the Gate Nexus. At the centre of the vortex beings' dance, silhouetted against the wormhole aurora, is the Nexus itself: artificial heart of the Gate network, the Gatebuilders' masterpiece and the object of the <<shipName>>'s quest.</p>\n<<addEventToQueue "Endgame Approach Nexus" start>>\n<p><<nextEventLink>></p>
<p>Enraged vortex beings attack the Gate drive's energy field. The <<shipName>> shudders and sparks as <<inlineDamageShip "its systems overload" "was destroyed while attempting to open the Gate Nexus" "sDamageLandingEngine">>. Main power fails, plunging <<theExplorers>> into darkness.</p>\n<p>But in the darkness, a flickering blue light seeps in through the windows. The vortex beings' agitation has caused space to open, revealing the dark shape of the Gate Nexus outlined in the wormhole aurora. The artificial heart of the Gate network--the Gatebuilders' masterpiece, and the object of the <<shipName>>'s quest. Power flickers back on, and the <<shipName>> begins drifting towards it...</p>\n<<addEventToQueue "Endgame Approach Nexus" start>>\n<p><<nextEventLink>></p>
<<name>> looks for the answer in <<civname>> records
<p><<TheExplorers>> scanned and catalogued thousands of <<civname>> documents while exploring <<planetName>>, ready for the Chiron Project's xenologists to study on the <<shipName>>'s return. <<fName>> searches through them now, looking for anything that resembles the field lines of the Gate Nexus or practical information about how the wormhole network was constructed. Eventually <<heshe>> <<verb finds>> something that might be the a sequence of Gate drive impulses that the Nexus was made to respond to.</p>
<p><<fName>> translates the sequence into something that the <<shipName>>'s human-engineered Gate drive will accept, and activates the drive. For a few moments nothing happens...then the <<shipName>>'s sensors detect rhythmic fluctuations in the energy field, as the ancient <<civname>> machine responds to the new input. Outside, space opens, flickering blue wormhole light spilling out from where there had been nothing. Silhoueted at the centre of the light is the shape of the Nexus itself, artificial heart of the Gate network, the Gatebuilders' masterpiece and the object of the <<shipName>>'s quest.</p>\n<<addEventToQueue "Endgame Approach Nexus" start>>\n<p><<nextEventLink>></p>
<p><<fName>> translates the sequence into something that the <<shipName>>'s human-engineered Gate drive will accept, and activates the drive. For a few moments nothing happens...then alarms blare as the Gate drive overloads and waves of spatial distortions <<inlineDamageShip `"buffet the "+$ship.name` "was destroyed while attempting to open the Gate Nexus" "sDamageLandingEngine">>. Outside, space opens, flickering blue wormhole light spilling out from where there had been nothing. When <<theExplorers>> <<eVerb stabilise>> the <<shipName>>, they see a dark shape at the centre of the aurora: the Nexus itself, artificial heart of the Gate network, the Gatebuilders' masterpiece and the object of the <<shipName>>'s quest.</p>\n<<addEventToQueue "Endgame Approach Nexus" start>>\n<p><<nextEventLink>></p>
<<TheExplorers>> <<eVerb activate>> the Gate drive
<p>As far as <<theExplorers>> can tell, the Gate Nexus should respond to any strong impulse from the <<shipName>>'s Gate drive. <<bestPilot>> simply brings the ship to what <<they>> <<eVerb think>> is the correct position, and activate the drive as if entering a Gate.</p>\n<p>The drive overloads and abruptly shuts down. Spatial distortions <<inlineDamageShip "nearly tear the ship apart" "was destroyed while attempting to open the Gate Nexus" "sDamageLandingEngine">> and throw <<fName>> <<inlineInjureCrewMember "across the cabin" "killed while attempting to open the Gate Nexus">>. But when the <<shipName>> stabilises, a vortex of flickering blue wormhole light has appeared, with a dark object silhouetted at its centre: the Nexus itself, artificial heart of the Gate network, the Gatebuilders' masterpiece and the object of the <<shipName>>'s quest.</p>\n\n<<addEventToQueue "Endgame Approach Nexus" start>>\n<p><<nextEventLink>></p>
<<set $positionTrait = "xEndgame">>\n<p>The <<shipName>> falls forward into the Nexus's gravity well. Vortex beings, visible now as ripples in the aurora, flock around the ship and follow it down. The surface of the artificial planetoid unfurls, resolving into a dark plain scored by a labyrinth of right-angled canyons and ridges.</p>\n<p>Bulkheads shudder and displays flicker as wormhole radiation plays havoc with the <<shipName>>'s electronics. The landing engine's control system cuts out for several terrifying seconds before coming back online with a flurry of warning lights. Its thrusters firing erratically, the <<shipName>> plummets towards the Nexus's surface...</p>\n<p>\n<<opt "Endgame Approach Nexus Pilot" "ePilot" "very_hard" "sDamageLandingEngine">>\n<<opt "Endgame Approach Nexus Engineer" "eEngineer" "very_hard" "sDamageLandingEngine">>\n<<opt "Endgame Approach Nexus Biologist" "eBiologist" "very_hard" "sDamageLandingEngine">>\n<<opt "Endgame Approach Nexus Generic">>\n</p>
<<name>> sets the <<shipName>> down despite the malfunctioning systems
<p>\n<<fName>> wrestles with the controls, relying on <<hisher>> senses and instincts when the scanners fail, fighting to stabilise the <<shipName>> with its malfunctioning engines. The canyon-scored surface of the Gate Nexus rushes towards <<himher>>, stark lines and edges lit by the electric light of the wormhole vortex.</p>\n<p>Somehow, <<heshe>> <<verb maintains>> control. At last the engines fail completely and the <<shipName>> becomes an inert object at the mercy of gravity, but by that time <<fName>> has reduced its velocity and flattened its trajectory enough to make the crash survivable. <<HeShe>> <<verb clings>> to the pilot's chair as the <<shipName>> dives into one of the Nexus's canyons and scrapes along the bottom. Metal screams and crumples as the ship grinds to a stop, badly damaged but essentially intact.</p>\n<<addEventToQueue "Endgame Nexus Surface" start>>\n<p><<nextEventLink>></p>
<p><<fName>> wrestles with the controls, but the vortex confounds <<hisher>> instincts and nothing <<heshe>> can do stabilises the <<shipName>>. The ship is still descending at too steep an angle when the power finally cuts out for good. <<fName>> races from the control room towards the crash shelter<<if $crew.length > 2>> where the other explorers have taken refuge<<elseif $crew.length == 2>> where <<randomCrewMember2 not1>> has taken refuge<</if>>, but it is too late.</p>\n<<include [[Endgame Approach Nexus Common Crash]]>>
<<name>> keeps the systems running long enough for the <<shipName>> to land
<p>Ensconced in the engine room, <<fName>> does battle with the energies assaulting the <<shipName>>--recalibrating the radiation shielding, pulling power from systems before they overload, bringing them back online as quickly as they fail. When all else fails <<heshe>> <<verb resorts>> to kludges that would make Chiron Base's engineers weep, until the <<shipName>> is running on little more than duct tape and hope--but it does keep running. At last a lurch and sound of crumpling landing legs signals the heavy but safe touch-down on the surface of the Gate Nexus, and <<fName>> lets the strained systems finally shut down.</p>\n<<addEventToQueue "Endgame Nexus Surface" start>>\n<p><<nextEventLink>></p>
<p>Ensconced in the engine room, <<fName>> does battle with the energies assaulting the <<shipName>>--but they are too much for <<himher>>. The unfamiliar radiation overwhelms the <<shipName>>'s shielding, and systems go down more quickly than <<heshe>> can bring them back online. At last main and backup power both fail completely, plunging the engine room into darkness and turning the <<shipName>> into an inert object at the mercy of gravity. <<fName>> races from the engine room towards the crash shelter<<if $crew.length > 2>> where the other explorers have taken refuge<<elseif $crew.length == 2>> where <<randomCrewMember2 not1>> has taken refuge<</if>>, but it is too late.</p>\n<<include [[Endgame Approach Nexus Common Crash]]>>
<<name>> call on a vortex being for help
<p>The vortex beings affect space and gravity around them as they drift to and from the Nexus's surface, each one a potential bubble of safety from the energy maelstrom. <<fName>> modulates the Gate drive to call out to them, anxiously balancing the need not to aggravate them with the need to get the <<shipName>> to safety before its power fails entirely. Signalling to the vortex beings is easier now that the Nexus is open and they are fully visible, but enticing them to save the <<shipName>> is still difficult.</p>
<<include [[Endgame Approach Nexus Biologist Common]]>>\n<p>At last a nearby vortex being answers <<fName>>'s call and envelopes the <<shipName>> in its gravity field, just as main power fails and the control room is plunged into darkness. In the new silence, <<theExplorers>> can hear the hull creak under the caress of the being's incorporeal limbs. The <<shipName>>'s uncontrolled motion slows, and the friendly energy being gently sets it down on the angular surface of the Gate Nexus before moving off again.</p>\n<<addEventToQueue "Endgame Nexus Surface" start>>\n<p><<nextEventLink>></p>
<<include [[Endgame Approach Nexus Biologist Common]]>>\n<p>A vortex being responds, moving close to the <<shipName>> as if curious. Its gravitational tendrils brush against the hull, making the metal shudder, but it moves off without enveloping the ship in its gravity field.</p>\n<p><<fName>> tries again, but moments later the main power fails, leaving the <<shipName>> tumbling inert towards the surface. <<fName>> races from the engine room towards the crash shelter<<if $crew.length > 2>> where the other explorers have taken refuge<<elseif $crew.length == 2>> where <<randomCrewMember2 not1>> has taken refuge<</if>>, but it is too late.</p>\n<<include [[Endgame Approach Nexus Common Crash]]>>
<<TheExplorers>> <<eVerb brace>> for a crash landing
<p><<TheExplorers>> <<eVerb abandon>> the fragile habitat ring, don their spacesuits, and strap themselves into the tiny crash shelter in the <<shipName>>'s well-protected core. The final failure of the ship's power plunges them into darkness, and then the impact hurls them against the straps and fills their helmets with an avalanche of shattering metal. The crash shelter bounces and then rolls, thrown this way and that as pieces of the dying <<shipName>> break away.</p>\n<p>At last the shelter comes to a stop, and silence descends. By the light of their helmet lamps, <<theExplorers>> <<eVerb extract>> <<themselves>> from the wreckage and survey the strange landscape of the Gate Nexus's surface.</p>\n<<set $endgame_ship_destroyed = true>>\n<div class="notification-box injury"><span class="inline-icon"><<iconWithTooltip "defense-satellite" "Destroyed">></span>The <<shipName>> has been destroyed.</div>\n<<silently>>\n\t<<set $ship.fuel = 0>>\n\t<<for $ship.traits.length < $ship.getMaxDamage()>>\n\t\t<<inlineDamageShip "" "crashed into the surface of the Gate Nexus">>\n\t<</for>>\n<</silently>>\n<<addEventToQueue "Endgame Nexus Surface" start>>\n<p><<nextEventLink>></p>
<p>The <<shipName>> shatters on the canyons, individual fragments bouncing and rolling across the surface, fuel and atmosphere spewing into the void.\n<<if $crew.length > 2>>\n\tAt last the crash shelter rolls to a halt and the survivors emerge from the wreckage to survey the strange landscape of the Gate Nexus's surface.\n<<elseif $crew.length == 2>>\n\tAt last the crash shelter rolls to a halt and the last survivor emerges from the wreckage to survey the strange landscape of the Gate Nexus's surface.\n<<else>>\n\tAt last the fragments come to a halt, and stillness descends once more.\n<</if>>\n</p>\n\n<<set $endgame_ship_destroyed = true>>\n<<silently>>\n\t<<set $ship.fuel = 0>>\n\t<<for $ship.traits.length < $ship.getMaxDamage()>>\n\t\t<<inlineDamageShip "" "crashed into the surface of the Gate Nexus">>\n\t<</for>>\n<</silently>>\n\n<div class="notification-box injury"><span class="inline-icon"><<iconWithTooltip "defense-satellite" "Destroyed">></span>The <<shipName>> has been destroyed.</div>\n<<killCrewMember `"died in the crash of the <em>"+$ship.name+"</em>"`>>\n\n<<addEventToQueue "Endgame Nexus Surface" start>>\n<p><<nextEventLink>></p>
/% Put us on the planet %/\n<<set $locationOverride = "Surface of the Gate Nexus">>\n<<set $eventTitle = "">>\n\n<p>\n<<if $endgame_ship_destroyed>>\n\tThe wreckage of the <<shipName>> lies scattered across\n<<else>>\n\tThe damaged <<shipName>> lies crumpled on\n<</if>>\nthe surface of the Gate Nexus, the planet-sized machine that the <<civname>> created to sustain their wormhole network. The razor-sharp horizon divides the universe in two. Above, the blue-white aurora of the Gate network's heart roils and flashes; below, a complex pattern of canyons and trenches cuts across an otherwise featureless black plain. Vortex beings, glowing knots of energy, dance in the sky.</p>\n\n<p>A few kilometres away, the energy field lines, glowing streamers of aurora, and the dance of the vortex beings all converge on a @@.desc-explorable-trait;[[single point|Endgame Trek]]@@.</p>
<p><<TheExplorers>> <<eVerb begin>> the trek across the surface of the ancient machine, beneath the turbulent wormhole lights. Sometimes <<they>> <<eVerb walk>> along the bottom of a canyon or trench; other times, the route forces <<them>> to climb up the side of a canyon and down into another one, <<their>> climbing gear struggling to find purchase on the perfectly smooth material. Sometimes <<they>> <<eVerb pass passes>> indistinct, twisted objects, smashed or smeared across the surface--the remains of ships from other civilisations who reached the Gate Nexus before the <<shipName>>.</p>\n<p>\n<<TheExplorers>> <<eVerb have has>> not gone far when <<their>> <<eNoun suits>> <<eVerb flash flashes>> radiation warnings. Without the protection of the <<shipName>>'s radiation shielding, even the Chiron Project's anti-radiation drugs cannot prevent the energy fields from attacking <<theExplorerss>> <<eNoun bodies body>>. The radiation is less pronounced inside the canyons, but the extra time it would take for <<theExplorers>> to find a route through the labyrinth would more than counteract that shielding.</p>\n<p>\n<<opt "Endgame Trek Pilot" "ePilot" "very_hard" "sUpgradeShipLandingGear">>\n<<opt "Endgame Trek Medic" "eMedic" "very_hard" "sUpgradeAntiRadiation">>\n<<opt "Endgame Trek Engineer" "eEngineer" "very_hard" "sUpgradeShipRadiationShielding">>\n<<opt "Endgame Trek Generic">>\n</p>
<<name>> finds a safe route through the canyons based on what <<heshe>> saw of the landscape from orbit
<p>The <<shipName>> may never fly again, but <<fName>>'s piloting skills can still be of use. The shape of the landscape imprinted itself on <<hisher>> visual memory on the approach to the surface, and <<heshe>> can use that image to chart a relatively safe route through the labyrinth.\n<<if $crew.length > 1>>\n\t<<HeShe>> <<verb guides>> the group through the twisting canyons until they are within sight of the point where the field lines converge. They have all been subject to high levels of radiation, but not for long enough for it to do serious damage.\n<<else>>\n\t<<HeShe>> <<verb makes>> <<hisher>> way through the twisting canyons until <<heshe>> <<is>> within sight of the point where the field lines converge. <<HeShe>> <<verb has have>> been subject to high levels of radiation, but not for long enough for it to do serious damage.\n<</if>>\n</p>\n<<addEventToQueue "Endgame Confluence" start>>\n<p><<nextEventLink>></p>
<<if $crew.length > 1>>\n\t<p><<fName>> is sure that <<heshe>> got a good look at the landscape during the descent, but the crash and the unfamiliar light of the landscape have confused <<hisher>> sense of direction. <<HeShe>> leads the group along what <<heshe>> <<verb thinks>> is the best route, but several times <<heshe>> comes up against dead ends where <<heshe>> thought the way was clear, or blunders into exposed high-radiation areas where <<heshe>> thought the path would be protected. As the leader of the <<if $crew.length==2>>pair<<else>>group<</if>>, <<heshe>> <<verb takes>> the full brunt of radiation from these blunders, each time watching <<hisher>> suit's radiation monitor tick further and further into the danger zone. At last <<heshe>> <<verb manages>> to guide <<if $crew.length==2>><<randomCrewMember2 not1>><<else>>the others<</if>> to the confluence, before collapsing for the last time.</p>\n\t<<killCrewMember "died of vortex radiation">>\n<<else>>\n\t<p><<fName>> is sure that <<heshe>> got a good look at the landscape during the descent, but the crash and the unfamiliar light of the landscape have confused <<hisher>> sense of direction.<<HeShe>> takes what <<heshe>> <<verb thinks>> is the best route, but several times <<heshe>> comes up against dead ends where <<heshe>> thought the way was clear and is forced to double back, or blunders into exposed high-radiation areas where <<heshe>> thought the path would be protected. By the time <<heshe>> <<verb reaches>> the confluence, <<heshe>> has received a <<inlineGiveCrewMemberTrait "dangerous dose of radiation" "eRadiationSickness">>.</p>\n<</if>>\n<<addEventToQueue "Endgame Confluence" start>>\n<p><<nextEventLink>></p>
<<name>> medicates <<if $crew.length==1>><<himher>>self<<else>><<theExplorers>><</if>> against the effects of the radiation
<p>\n<<if $crew.length > 1>>\n\tIgnoring the maximum safe dosage recommended by the Chiron Project's medical researchers, <<fName>> administers the rest of <<hisher>> emergency supply of Gate sickness inoculations through the explorers' suits' bio-ports, along with drugs to counteract nausea, headaches, and other symptoms. The explorers will need serious medical attention if they ever make it back to Chiron Base, but for the moment <<fName>>'s work keeps them up for long enough to struggle across the radiation-soaked surface.\n<<else>>\n\tIgnoring the maximum safe dosage recommended by the Chiron Project's medical researchers, <<fName>> administers the rest of <<hisher>> emergency supply of Gate sickness inoculations through <<hisher>> suit's bio-port, along with drugs to counteract nausea, headaches, and other symptoms. <<HeShe>> will need serious medical attention if <<heshe>> ever <<verb makes>> it back to Chiron Base, but for the moment <<hisher>> work keeps <<himher>> up for long enough to struggle across the radiation-soaked surface.\n<</if>>\n</p>\n<<addEventToQueue "Endgame Confluence" start>>\n<p><<nextEventLink>></p>
<<if $crew.length > 1>>\n\t<p>Ignoring the maximum safe dosage recommended by the Chiron Project's medical researchers, <<fName>> administers the rest of <<hisher>> emergency supply of Gate sickness inoculations through the explorers' suits' bio-ports, along with drugs to counteract nausea, headaches, and other symptoms. When <<heshe>> <<verb comes>> to <<himher>>self, however, <<heshe>> <<verb finds>> that <<heshe>> <<verb does do>> not have enough left to give <<himher>>self the same dose.</p>\n\t<p>The explorers are half way to their destination before <<if $crew.length==2>><<randomCrewMember2 not1>> notices<<else>>the other explorers notice<</if>> <<fName>> falling behind, but by this time <<fName>> has sustained a fatal dosage of radiation. With <<hisher>> dying breath, <<fName>> urges <<if $crew.length==2>><<name2>><<else>>the others<</if>> to leave <<himher>> and complete the mission.</p>\n\t<<killCrewMember "died of vortex radiation">>\n<<else>>\n\t<p>Ignoring the maximum safe dosage recommended by the Chiron Project's medical researchers, <<fName>> administers the rest of <<hisher>> emergency supply of Gate sickness inoculations through <<hisher>> suit's bio-port, along with drugs to counteract nausea, headaches, and other symptoms. The medication lets <<himher>> function for a while, but by the time <<heshe>> <<is>> half way to the confluence the symptoms are beginning to return, and by the time <<heshe>> <<verb reaches reach>> <<hisher>> destination <<heshe>> can <<inlineGiveCrewMemberTrait `"barely stay on "+TextUtils.hisher($crew[0])+" feet"` "eRadiationSickness">>.</p>\n<</if>>\n<<addEventToQueue "Endgame Confluence" start>>\n<p><<nextEventLink>></p>
<<name>> enhances the suits' radiation shielding
<<if $crew.length > 1>>\n\t<p>The <<shipName>> may never fly again, but it can still protect <<theExplorers>>. <<fName>> cuts panels from the radiation shielding that protected the explorers during past wormhole journeys, <<if $crew.length==1>>and straps them to the outside of <<hisher>> suit like a medieval suit of armour.<<else>>and straps them to the outside of the explorers' suits like medieval suits of armour.<</if>></p>\n\t<p>Struggling inside the bulky suits but protected from the worst of the radiation, <<theExplorers>> <<eVerb make>> <<their>> way across the storm-lit surface of the alien machine.</p>\n<<else>>\n\t<p>The <<shipName>> may never fly again, but it can still protect its last crew member. <<fName>> cuts panels from the radiation shielding that protected the explorers during past wormhole journeys and uses them to fashion an exoskeleton on the outisde of <<hisher>> suit.</p>\n\t<p>Struggling inside the bulky suit but protected from the worst of the radiation, <<heshe>> <<makes>> <<hisher>> way across the storm-lit surface of the alien machine.</p>\n<</if>>\n<<addEventToQueue "Endgame Confluence" start>>\n<p><<nextEventLink>></p>
<<if $crew.length > 1>>\n\t<p>The <<shipName>> may never fly again, but it can still protect its crew. <<fName>> cuts panels from the radiation shielding that protected the explorers during past wormhole journeys and uses them to build exoskeletons on the outside of the explorers' suits. Struggling inside the bulky suits but protected from the worst of the radiation, the explorers set out across the storm-lit surface of the alien machine.</p>\n\t<p>They have nearly reached their destination when <<if $crew.length==2>><<randomCrewMember2 not1>> notices<<else>>the other explorers notice<</if>> <<fName>> falling behind. The engineer is half exposed to the radiation storm, shedding pieces of armour behind <<himher>> as <<heshe>> <<verb staggers>> deliriously forward. Unnoticed by <<if $crew.length==2>><<name2>><<else>>the other explorers<</if>>, <<fName>> ran out of good-quality radiation plating before coming to <<hisher>> own suit, and the awkwardness of building onto <<himher>>self meant that what shielding <<heshe>> had was not securely attached.</p>\n\t<p><<if $crew.length==2>><<name2>> tries<<else>>The other explorers try<</if>> to help <<fName>> up, but <<heshe>> <<verb has have>> sustained too much tissue damage to survive. With <<hisher>> dying breath, <<fName>> urges <<if $crew.length==2>><<name2>><<else>>the others<</if>> to leave <<himher>> and complete the mission.</p>\n\t<<killCrewMember "died of vortex radiation">>\n<<else>>\n\t<p>The <<shipName>> may never fly again, but it can still protect its last crew member. <<fName>> cuts panels from the radiation shielding that protected the explorers during past wormhole journeys and uses them to fashion an exoskeleton on the outisde of <<hisher>> suit. Struggling inside the bulky suit but protected from the worst of the radiation, <<heshe>> <<sets>> out across the storm-lit surface of the alien machine.</p>\n\t<p><<fName>> is half way to the confluence by the time <<heshe>> <<verb realises>> that <<hisher>> armour is inadequate. Radiation seeps through gaps between the panels, and <<hisher>> suit's radiation gauge ticks up into the danger zone. <<fName>> can do nothing but keep trudging on as <<heshe>> feels the encroaching symptoms of <<inlineGiveCrewMemberTrait "radiation sickness" "eRadiationSickness">>.</p>\n<</if>>\n<<addEventToQueue "Endgame Confluence" start>>\n<p><<nextEventLink>></p>
<<TheExplorers>> try to find a route through the canyons
<p>\n<<if $crew.length == 1>>\n\tThe layout of the canyons must have something to do with the workings of the Nexus machine, but it conforms to no rational pattern that <<name>> can discern. <<HeShe>> <<verb spends>> hours exploring the labyrinth, having to retrace <<hisher>> steps dozens of times when <<heshe>> <<verb comes>> upon dead ends, all the while listening to <<hisher>> radiation counter tick up. At last, fighting down headaches and nausea, <<heshe>> <<verb comes>> close to <<hisher>> destination, but not before <<heshe>> <<verb has have>> been subjected to <<inlineGiveCrewMemberXTrait "dangerous levels of radiation" 0 "eRadiationSickness">>.\n<<else>>\n\tThe layout of the canyons must have something to do with the workings of the Nexus machine, but it conforms to no rational pattern that the explorers can discern. They spend hours exploring the labyrinth, having to retrace their steps dozens of times when they come upon dead ends, all the while listening to their radiation counters tick up. At last, fighting down headaches and nausea, they come close to their destination, but not before they have been subjected to <<inlineGiveCrewMemberXTrait "dangerous levels of radiation" 0 "eRadiationSickness">>.\n\t<<silently>>\n\t\t<<for _n = 1; _n < $crew.length; _n++>>\n\t\t\t<<inlineGiveCrewMemberXTrait "" _n "eRadiationSickness">>\n\t\t<</for>>\n\t<</silently>>\n<</if>>\n\n</p>\n\n<<addEventToQueue "Endgame Confluence" start>>\n<p><<nextEventLink>></p>
<<if $crew.length > 1>>\n\t<p>The explorers reach the confluence of the field lines and find a dark crystalline protrusion rising out of the surface of the Gate Nexus. The beams of their helmet lamps, flickering under the influence of the wormhole radiation, reveal a surface covered in <<civname>> glyphs. Vortex beings flock above like attendant angels.</p>\n\t<p>As they approach the object, splitting headaches knock them to their feet and their suits blurt error messages onto their faceplates. Through the haze of pain and warning lights, they can see that a new energy field is emanating from the crystal, smaller in scope but more intense than the general wormhole radiation above. The suit error messages cease but the headaches grow more intense, as the new energy homes in on their brains.</p>\n<<else>>\n\t<p><<randomCrewMember>> reaches the confluence of the field lines, and finds a dark crystalline protrusion rising out of the surface of the Gate Nexus. The beam of <<hisher>> helmet lamp, flickering under the influence of the Gate radiation, reveals a surface covered in <<civname>> glyphs. Vortex beings flock above like attendant angels.</p>\n\t<p>As <<heshe>> <<verb approaches approach>> the object, a splitting headache knocks <<himher>> to <<hisher>> feet and <<hisher>> suit blurts error messages onto <<hisher>> faceplate. Through the haze of pain and warning lights, <<heshe>> can see that a new energy field is emanating from the crystal, smaller in scope but more intense than the general wormhole radiation above. The suit's error messages cease but the headache grows more intense, as the new energy homes in on <<fName>>'s brain.</p>\n<</if>>\n\n<p>\n<<opt "Endgame Confluence Medic" "eMedic" "very_hard" "sUpgradeFirstAid">>\n<<opt "Endgame Confluence Planetary Scientist" "ePlanetaryScientist" "very_hard" "sUpgradeSuitsArmour">>\n<<opt "Endgame Confluence Xenologist" "eXenologist" "very_hard" "sUpgradeTranslator">>\n<<opt "Endgame Confluence Generic">>\n</p>
<<name>> treats the headaches
<p><<HisHer>> head swimming with pain, <<fName>> uses <<if $crew.length>1>>the suits'<<else>><<hisher>> suit's<</if>> internal medical scanners to scan <<theExplorerss hisher>> <<eNoun brains>>, and finds that the Nexus's energy fields appear to be doing the same thing. The fields have already narrowed their scope from <<theExplorerss>> whole <<eNoun bodies body>> to just <<their>> <<eNoun brains>>; now they appear to be experimentally probing different brain regions and observing the results.</p>\n<p>As unpleasant as the process is, the energy fields appear to be taking care not to touch <<theExplorerss hisher>> <<eNoun brains>> lightly, and the headaches are not a sign of permanent damage. <<fName>> administers light painkillers to suppress the symptoms without interfering with the energy field's study, and <<theExplorers X>> <<eVerb wait>> for the alien device to finish what it is doing.</p>\n<<include [[Endgame Pattern]]>>
<p>For the moment the fields are not doing permanent damage, but <<fName>> knows that <<heshe>> may only have seconds before they reach harmful levels. <<HeShe>> quickly <<verb puts>> together a drug cocktail that should counteract the symptoms, and administers it through <<hisher>> suit's bio-port<<if $crew.length>1>>, treating <<himher>>self first before <<heshe>> <<verb loses>> consciousness<</if>>s.</p>\n<p><<fName>> immediately feels dizzy and collapses, and within seconds <<heshe>> <<is>> unconscious. The energy fields were not seriously harmful, but <<fName>>'s hastily improvised treatment interacted with them in unexpected ways, shutting down key parts of <<hisher>> brain and doing irreversible damage.</p>\n<<if $crew.length > 1>>\n\t<p><<randomCrewMember2 not1>> scrambles to <<fName>>'s side, but there is nothing <<heshe2>> can do.</p>\n<<else>>\n\t<p>The energy fields run through <<fName>>'s dying brain for a few more seconds, perhaps trying to stabilise <<himher>> or simply studying <<hisher>> demise. Then they retract, and the Gate Nexus is silent once more.</p>\n<</if>>\n<<killCrewMember "was destroyed by an energy field">>\n<<addEventToQueue "Endgame Pattern" start>>\n<p><<nextEventLink>></p>
<<name>> analyses the energy field
<p><<HisHer>> vision swimming, <<fName>> focuses <<hisher>> suit's scanner on the energy fields making their way through <<theExplorerss hisher>> <<eNoun bodies body>>. They are subtle, complicated, passing through the <<eNoun suits' suit's>> radiation shielding as if it is not there and lightly brushing the delicate nerves of <<theExplorerss hisher>> <<eNoun brains>>. It resembles the signals the explorers' scanners use to probe their surroundings.</p>\n<p>...Which is what it's doing, <<fName>> realises. The headaches are a sign of the energy field probing <<theExplorerss hisher>> <<eNoun brains>> to see how it reacts.</p>\n<p>A moment after <<fName>> realises that, the headache subsides. \n<<if $crew.length==2>>\n\tBehind <<himher>>, <<randomCrewMember2 not1>> gets to <<hisher2>> feet.\n<<elseif $crew.length > 2>>\n\tBehind <<himher>>, the other explorers get to their feet.\n<</if>>\nSomehow, coming to an understanding of what the Gate Nexus is doing has given it what it needs to understand <<theExplorerss hisher>> <<eNoun brains>>.\n</p>\n<<addEventToQueue "Endgame Pattern" start>>\n<p><<nextEventLink>></p>
<p><<HisHer>> vision swimming, <<fName>> focuses <<hisher>> suit's scanner on the energy fields making their way through <<theExplorerss hisher>> <<eNoun bodies body>>. The energy passes through the <<eNoun suits' suit's>> shielding as if it is not there, and seem to be systematically probing <<their>> <<eNoun brains>>. <<fName>> does not know if the energy probe is intended to be harmful, but at any moment it could do damage inadvertently. <<HeShe>> quickly <<verb rigs>> up <<hisher>> suit's transmitter to jam the probe.</p>\n<p>A blast of energy throws <<fName>> backwards. <<HisHer>> jamming signal has had the opposite effect that <<heshe>> intended, setting up a feedback loop that blew out <<hisher>> suit's electronics and scrambled <<hisher>> neurons.\n<<if $crew.length > 2>>\n\tThe other explorers rush over to <<himher>> but find that <<heshe>> <<is>> already dead.\n<<elseif $crew.length == 2>>\n\t<<randomCrewMember2 not1>> rushes over to <<himher>> but finds that <<heshe>> <<is>> already dead.\n<</if>>\n</p>\n\n<<if $crew.length > 1>>\n\t<p>But the last energy discharge appears to have given the Gate Nexus what it needed.</p>\n<<else>>\n\t<p>With the last explorer dead, silence descends on the Gate Nexus once more.</p>\n<</if>>\n<<killCrewMember "was destroyed by an energy field">>\n<<addEventToQueue "Endgame Pattern" start>>\n<p><<nextEventLink>></p>
<<name>> tries to read the <<civname>> glyphs
<p>Fighting down pain and nausea, <<fName>> crawls the rest of the way to the crystal and pulls <<himher>>self up its side until <<heshe>> can read the glyphs. The symbols for the Gate Nexus itself, which <<heshe>>'d seen in the ruins on <<planetName>>. Glyphs representing a control system, or an information retrieval system. An automated, quasi-intelligent system. Something about change, or adaptation...</p>\n<p>//Gate Nexus adaptive information access node.//</p>\n<p>\nAs <<fName>> holds the shape of the glyphs and <<hisher>> translation side-by-side in <<hisher>> mind, <<hisher>> headache subsides.\n<<if $crew.length==2>>\n\tBehind <<himher>>, <<randomCrewMember2 not1>> gets to <<hisher2>> feet.\n<<elseif $crew.length > 2>>\n\tBehind <<himher>>, the other explorers get to their feet.\n<</if>>\nLooking again with a clear mind--although with a feeling that the invasive energy field is still there, watching--<<fName>> realises what happened.</p>\n<p>The Gate Nexus is too complex and subtle to be understood through anything as crude as language. It needs to form a direct link with another information system, such as an advanced computer or an organic brain. The headaches were a symptom of the access node attempting to establish an interface with <<theExplorerss>> <<eNoun brains>> by trial and error. When <<fName>> translated the glyphs, that provided a sort of mental rosetta stone that the node could use to make the rest of the connection.</p>\n<<addEventToQueue "Endgame Pattern" start>>\n<p><<nextEventLink>></p>
<p>Fighting down pain and nausea, <<fName>> crawls the rest of the way to the crystal and pulls <<himher>>self up its side until <<heshe>> can read the glyphs. There are the symbols for the Gate Nexus itself, which <<heshe>>'d seen in the ruins on <<planetName>>, but the other symbols elude <<himher>>. <<HeShe>> can't think...</p>\n<p>The headache feels like something is rummaging about in <<hisher>> brain. <<HeShe>> experiences flashes of insight. It's looking for something--building a model--trying to achieve communication. Those flashes of insight mean that it's starting to succeed, but it needs more to work with.</p>\n<p><<fName>> knows what <<heshe>> <<verb has have>> to do. <<HeShe>> stares at the glyphs, hoping that making some sense out of them will give the intelligence what it needs...</p>\n<<if $crew.length > 1>>\n\t<p><<fName>> collapses.\n\t<<if $crew.length > 2>>\n\t\tThe other explorers get to their feet, freed of the headaches, but they find that <<fName>> is dead.\n\t<<else>>\n\t\t<<randomCrewMember2 not1>> gets to <<hisher2>> feet, freed of the headaches, but finds that <<fName>> is dead.\n\t<</if>>\t\n\t<<HisHer>> suit's medical readouts indicate that <<hisher>> brain simply failed, overwhelmed by the energy emanating from the crystal. But <<hisher>> sacrifice has let the Gatebuilder intelligence achieve communication...</p>\n<<else>>\n\t<p>\n\t\tThe headache fades, along with <<fName>>'s vision, and all sensation. In a final moment of clarity before, <<heshe>> <<verb sees>> the Gate network spread out on the face of the crystal, the masterpiece of the <<civname>>, the triumph of intelligent life over time and space. But the exertion of contact was too much for <<hisher>> brain, and <<heshe>> slips away.\n\t</p>\n<</if>>\n\n<<killCrewMember "was destroyed by an energy field">>\n<<addEventToQueue "Endgame Pattern" start>>\n<p><<nextEventLink>></p>
<<TheExplorers>> <<eVerb wait>> to see what the energy will do
<p><<TheExplorers>> <<eVerb fall>> to the ground, helpless as the energy field drills into <<their>> <<eNoun brains>>. The crystal is probing them, trying to establish a connection--but without having encountered humans before, it does not know how to do so without causing harm.</p>\n\n<<if $crew.length > 2>>\n\t<p>At last the pain ceases, and the explorers get to their feet--except for <<randomCrewMember>>. The others rush over to <<himher>>, but <<heshe>> <<is>> dead, <<hisher>> brain destroyed by the energy field. But the energy field's destructive investigation of <<fName>>'s brain has given the crystal what it needed...</p>\n<<elseif $crew.length == 2>>\n\t<<silently>><<randomCrewMember>><</silently>>\n\t<p>At last the pain ceases, and <<randomCrewMember2 not1>> gets to <<hisher2>> feet--but <<name>> does not. <<fName2>> rushes over to <<himher>>, but <<heshe>> <<is>> dead, <<hisher>> brain destroyed by the energy field. But the energy field's destructive investigation of <<fName>>'s brain has given the crystal what it needed...</p>\n<<else>>\n\t<p>At last the crystal learns what it needs to--but too late. In establishing communication with <<randomCrewMember>>'s unfamiliar brain, the energy field has destroyed it. The Gatebuilder crystal shuts down, leaving the body of the last explorer lying on the Gate Nexus.</p>\n<</if>>\n<<killCrewMember "was destroyed by an energy field">>\n<<addEventToQueue "Endgame Pattern" start>>\n<p><<nextEventLink>></p>
<<if $crew.length==1>>\n\t<p>On the surface of the Gate Nexus, in the still centre of the wormhole vortex, <<randomCrewMember>> stands before the crystalline shape. <<HisHer>> headache is gone, but the energy field that was probing <<hisher>> brain is still present, minute impulses stimulating <<hisher>> visual cortex.</p>\n<<else>>\n\t<p>On the surface of the Gate Nexus, in the still centre of the wormhole vortex, the explorers stand around the crystalline shape. Their headaches are gone, but the energy fields that were probing their brains are still present, minute impulses stimulating their visual cortices.</p>\n<</if>>\n<p>The glyphs on the surface of the crystal seem to glow white, making the blue aurora above fade away, although according to <<theExplorerss hisher>> scanners they are not casting any light. They have formed a new pattern.</p>\n\n<p>\n<<opt "Endgame Pattern Pilot" "ePilot">>\n<<opt "Endgame Pattern Medic" "eMedic">>\n<<opt "Endgame Pattern Engineer" "eEngineer">>\n<<opt "Endgame Pattern Planetary Scientist" "ePlanetaryScientist">>\n<<opt "Endgame Pattern Biologist" "eBiologist">>\n<<opt "Endgame Pattern Xenologist" "eXenologist">>\n</p>
<<name>> sees a navigational chart...
<p>What else could it be? The pattern is a map of the Gate network.</p>\n<p>Millions of wormholes spread out from this central point. A web of them, with nodes and relays, trunks and branches. Every star in the galaxy, plotted and charted for navigation by the Gatebuilders' ancient ships.</p>\n\n<p>The Gatebuilders slipped in and out of the newly-built Gates easily, able to home in on any destination with a thought. A million years later, however, the network has become more hostile, less stable.</p>\n\n<p>The wormholes themselves are fixed and timeless--but the stars of the galaxy are not. They move on cosmic timescales, orbiting the central core, taking the wormholes' real-space exits with them. After a million years, the wormholes are not quite where the Nexus map expects them to be. The strain this puts on the system makes it unstable, and repeated use--such as by the <<shipName>> entering the Chiron Gate--causes it to degrade further.</p>\n\n<p>But from here, <<fName>> has mental control over the navigation system. Other civilisations have been here before, one every ten thousand or hundred thousand years, and updated the charts to the current position of the stars. Now it is humanity's turn.</p>\n\n<<addEventToQueue "Endgame PostContact" start>>\n<p><<nextEventLink "Endgame Pattern Reach Out Option">></p>
<<name>> sees a medical diagram...
<p>It is far from human medicine--but the network is //alive//, in its own way, and the Gate Nexus is a machine dedicated to keeping it healthy. <<fName>> reads it as <<heshe>> would the <<shipName>>'s medical scanners. Strands of wormholes like nerves or blood vessels, branching out to touch each individual star of the galaxy.</p>\n\n<p>The patient is mostly healthy, but it is ancient, and old age is taking its toll. The stars progressed in their long orbits around the galactic core, and their new positions irritate the skin of the network. A foreign body opening the wormholes and travelling through only exacerbates the problem.</p>\n\n<p>But from here, <<fName>> can administer treatment. The network is able to heal itself; all it needs is a little help. Other civilisations have been here before, every ten thousand or hundred thousand years, and kept the network healthy. Now it is humanity's turn.</p>\n\n<<addEventToQueue "Endgame PostContact" start>>\n<p><<nextEventLink "Endgame Pattern Reach Out Option">></p>
<<name>> sees an engineering blueprint...
<p>The Gate network is a miracle of engineering, a galaxy-scale machine whose building blocks are the fundamental forces of time and space. The details of its workings are far beyond <<fName>>'s comprehension--but <<hisher>> engineering instincts call tell when something is not as it should be. Tension in one part of the system. Something misaligned, and becoming more so through repeated misuse.</p>\n\n<p>The machine was built to fit its surroundings, a galaxy full of stars in precise locations, as mapped by the Gatebuilders' ancient drones. But that was a million years ago, and since then the stars have progressed slightly in their long orbits around the galactic core. The new positions put a strain on the system, which is gradually causing it to fail.</p>\n\n<p>But from here, <<fName>> can fix the problem. Other civilisations have been here before, every ten thousand or hundred thousand years, and performed this maintenance. Now it is humanity's turn.</p>\n\n<<addEventToQueue "Endgame PostContact" start>>\n<p><<nextEventLink "Endgame Pattern Reach Out Option">></p>
<<name>> sees an interplay of physical forces...
<p>The physics behind the wormhole network has fascinated and confounded humanity's scientists since the unmanned space probe detected what would come to be called the Chiron Gate. Here, at the heart of the network, are the answers that they have been seeking. In a clarity that transcends language, the pattern lays bare the deep strata of reality that the Gatebuilders discovered and manipulated to build their masterwork.</p>\n\n<p>It is all so simple. Time, space, energy, matter--the Gatebuilders learned how they all worked. Using that knowledge, they could slip effortlessly through the wormholes they had created to explore every corner of the galaxy. But the two sides of the network, the wormholes running through exotic Gate space and their openings in the normal world, had to be precisely aligned. As the millennia have passed, the stars have progressed on their long, complex orbits around the galactic core, taking the real-space ends of the wormholes with them. Every use of the misaligned network puts it under additional strain.</p>\n\n<p>But here, at last, <<fName>> can not only see how the Gates work but also alter the energy fields. Other civilisations have been here before, every ten thousand or hundred thousand years, and kept the energy fields calibrated. Now it is humanity's turn.</p>\n<<addEventToQueue "Endgame PostContact" start>>\n<p><<nextEventLink "Endgame Pattern Reach Out Option">></p>
<<name>> sees an organism...
<p>Complex, self-sustaining, reactive to its surroundings--the Gate network is like no life that <<fName>> has encountered, but it is more like a life form than it is like anything else. It is similar to the vortex beings, in the same way that a human being is similar to the bacteria living in their gut. And, like any life form, the network is suited to a particular environment.</p>\n\n<p>A million years ago, the Gatebuilders and their creation enjoyed a perfect symbiosis. They grew the network to fill the entire galaxy, wormhole tendrils reaching to touch each star. But since then, the environment has changed, and the network has not been able to adapt. The stars have moved slowly on their long orbits around the galactic core, deforming the network's habitat so that it now strains awkwardly to fit.</p>\n\n<p>But, from here, <<fName>> can care for the network just as the Gatebuilders once did. Other civilisations have been here before, every ten thousand or hundred thousand years, and modified the network for the new galactic environment. Now it is humanity's turn.</p>\n\n<<addEventToQueue "Endgame PostContact" start>>\n<p><<nextEventLink "Endgame Pattern Reach Out Option">></p>
<<name>> sees the work of an alien intelligence...
<p>The Gate network is so much more than a transportation device. It is an artwork, or a statement, or a prayer; it is the soul of the <<civname>> civilisation painted onto the very fabric of space. Even the Gatebuilders' own language could not express the full sophistication of what they had accomplished, and far more would be lost in translation to an alien language and alien psychology. This is why they created the energy construct that reached into the explorers' minds, to make the connection directly. Dangerous, potentially fatal to creatures whose organs of intelligence were very different from the <<civname>>'s own, but the only way.</p>\n\n<p>The <<civname>> intended later civilisations to find the Gates, and they built the network to last. But one thing they learned in their millennia of advancement was that nothing can be made eternal. Stars orbit the galactic core according to infinitely complex interplays of gravitational force, changing the network's conditions in ways that the <<civname>> could not fully predict. A million years after the <<civname>> wrote their soul across the galaxy, it no longer quite fits.</p>\n\n<p>But, from here, <<fName>> can make changes. Other civilisations have been here before, every ten thousand or hundred thousand years, and added their own amendments to the <<civname>> masterwork. Now it is humanity's turn.</p>\n\n<<addEventToQueue "Endgame PostContact" start>>\n<p><<nextEventLink "Endgame Pattern Reach Out Option">></p>
<<fName>> reaches out...
<<set $endgame_fixed_wormhole = true>>\n<<set $noCrewGameOver = true>>\n\n<<if $crew[$selectedCrewMember].apFirstLandingExplorer>>\n\t<<unlockAchievement "same_explorer">>\n<</if>>\n\n<p>\nIt is done.\n<<if $crew.length > 1>>\n\tThe glowing patterns fade back into <<civname>> glyphs.\n<<else>>\n\tThe glowing pattern fades back into <<civname>> glyphs.\n<</if>>\nAbove, a ripple spreads through the vortex; the field lines waver and then stabilise, and the radiation level rapidly drops. The vortex beings relax, no longer fighting to hold together in the unstable environment.\n</p>\n\n<p>The energy field withdraws from <<fName>>'s brain, and <<heshe>> <<verb returns>> to normal reality. <<HeShe>> <<is>> forever changed by <<hisher>> experience, and will never be able to fully explain it, but <<heshe>> <<verb knows>> that the <<shipName>>'s mission is accomplished.</p>\n\n<p>\n<<if $endgame_ship_destroyed>>\n\tThe wreckage of the <<shipName>> lies scattered across the surface. It will never fly again, but there is enough of the life support system left for it to provide shelter for <<theExplorers>>.\n<<else>>\n\tThe <<shipName>> lies crumpled on the surface. Repairing it will take some work, but the stabilised Nexus means that it should face no problems taking off again.\n<</if>>\n</p>\n<p>The crystalline structure that <<fName>> used to interface with the Gate Nexus is dark, but it still hums with energy. Contact with the Nexus nearly destroyed <<fName>>, but <<heshe>> only experienced the shallows of the ocean of knowledge that it could impart.</p>\n\n<p>\n\t<<if $endgame_ship_destroyed>>\n\t\t<<opt "Endgame PostContact Shelter" "only1">>\n\t<<else>>\n\t\t<<opt "Endgame PostContact Take Off" "only1">>\n\t<</if>>\n\t<<opt "Endgame PostContact Crystal" "only1" "very_hard">>\n</p>
<<TheExplorers>> <<eVerb repair>> the <<shipName>> and take off
<<set $endgame_option = "return">>\n<p>\n<<if $crew.length == 1>>\n\tThe trek back to the <<shipName>> is lonely, but not dangerous now that <<inlineGainData "the Nexus has been repaired" planetary_science 100>>. <<fName>> spends some time making the ship spaceworthy again, then straps <<himher>>self into the pilot's chair and begins the launch sequence.\n<<else>>\n\tThe trek back to the <<shipName>> is long, but not dangerous now that <<inlineGainData "the Nexus has been repaired" planetary_science 100>>. The explorers spend some time making the ship spaceworthy again, then strap themselves into their acceleration chairs while <<bestPilot>> begins the launch sequence.\n<</if>>\nThe damaged engines roar back to life, and the <<shipName>> lifts slowly from the surface of the Gate Nexus.</p>\n<<addEventToQueue "Endgame Activation" start>>\n<p><<nextEventLink>></p>
<<TheExplorers>> <<eVerb build>> a shelter out of wrecked <<shipName>> and <<eVerb await>> rescue
<<set $endgame_option = "shelter">>\n<p>\n<<if $crew.length > 1>>\n\t<<TheExplorers>> trek along the path of the <<shipName>>'s crash landing, scouring the mangled parts of their home for anything still intact enough to use to build a pressurised habitat. They drag what they find back to the crash shelter in which they made landfall, and eventually put together a simple dome with a working air recycler and food-fab. <<inlineGainData "The wormhole aurora pulses steadily overhead" planetary_science 100>>, and the explorers settle in to await rescue.\n<<else>>\n\t<<fName>> treks along the path of the <<shipName>>'s crash landing, scouring the mangled parts of <<hisher>> home for anything still intact enough to use to build a pressurised habitat. <<HeShe>> <<verb drags>> what <<heshe>> <<verb finds>> back to the crash shelter in which <<heshe>> made landfall, and eventually puts together a simple dome with a working air recycler and food-fab. <<inlineGainData "The wormhole aurora pulses steadily overhead" planetary_science 100>>, and the last surviving explorer settles in to await rescue.\n<</if>>\n</p>\n<<addEventToQueue "Endgame Activation" start>>\n<p><<nextEventLink>></p>
<<if $crew.length > 1>>\n\t<<name>> guides the explorers into mental contact with the crystal\n<<else>>\n\t<<name>> reconnects with the crystal\n<</if>>
<<set $endgame_option = "crystal">>\n<p>The interface responds again to <<fName>>'s touch. It is smoother this time, as both the interface and <<fName>>'s brain have become better at making the connection. The crystal seems to glow, but what <<fName>> perceives no longer resembles any human-made diagram. <<HeShe>> <<verb has have>> achieved a deeper level of connection, beyond the ability of language to express.</p>\n\n<p>\n<<if $crew.length >= 2>>\n\t<<if $crew.length == 2>>\n\t\t<<fName>> takes <<randomCrewMember2 not1>>'s hand,\n\t<<elseif $crew.length > 2>>\n\t\t<<fName>> takes <<hisher>> companions' hands,\n\t<</if>>\n\tand the energy field envelops them. Vortex beings beckon them onwards. The indescribable pattern surrounds them, becomes a universe. They understand it now, \n\t\n<<else>>\n\t<<fName>> takes a last look back in the direction of the <<shipName>> as the energy field envelops <<himher>>. The indescribable pattern surrounds <<himher>>, becomes a universe. <<HeShe>> <<verb understands>> it now,\n<</if>>\n<<inlineGainData "all" planetary_science 100>> <<inlineGainData "of" xenobiology 100>> <<inlineGainData "it" xenotechnology 100>>. The Gate network connects to so much more than just other star systems. The Gatebuilders learned the secret, at long last, and they used their Gates to travel beyond anything they had imagined. Now <<theExplorers heshe>> can follow them.\n</p>\n\n\n<<set $endgameRetiredCrew = clone($crew)>>\n\n<<for $crew.length > 0>>\n\t<div class="notification-box"><span class="inline-icon"><<iconWithTooltip "unstable-orb" "Beyond the Gates">></span> <<nameX 0>> has gone beyond the Gates.</div>\n\t<<retireCrewMemberX 0 "went beyond the Gates">>\n<</for>>\n\n<<unlockAchievement "golden_ending">>\n<<addEventToQueue "Endgame Activation" start>>\n<p><<nextEventLink>></p>
<p>The interface responds again to <<fName>>'s touch. The crystal seems to glow, but what <<fName>> perceives no longer resembles any human-made diagrams. It is confusing, baffling, the meaning just out of <<hisher>> reach.</p>\n\n<p>The energy field envelops <<fName>>, and <<heshe>> <<verb falls>> to <<hisher>> knees. \n<<if $crew.length > 1>>\n\t<<randomCrewMember2 not1>> runs to help <<himher>>, but the field pushes <<himher2>> away.\n<</if>>\nImpulses flash between the crystal and <<fName>>'s brain, faster and faster. For an instant <<heshe>> can see it all, the universe beyond time and space to which the Gatebuilders travelled--but <<heshe>> cannot understand it. It is too much for the tenuous connection between the human mind and the Gatebuilder device, or perhaps too much for the human mind to ever hold. The light of the multiverse pierces <<himher>>, and <<heshe>> <<is>> burned away.</p>\n\n<p>The energy field vanishes, and <<fName>> slumps to the surface of the Gate Nexus.\n\n<<if $crew.length > 2>>\n\tThe other explorers run over to <<himher>>,\n<<elseif $crew.length == 2>>\n\t<<randomCrewMember2 not1>> runs over to <<himher>>,\n<<else>>\n\t<<HisHer>> suit tries to stabilise <<himher>>,\n<</if>>\nbut <<heshe>> <<is>> dead, brain activity simply ceased.</p>\n\n<p>\n<<if $crew.length > 1>>\n\tThe crystal is inert and unresponsive.\n\t<<if $crew.length == 2>>\n\t\t<<randomCrewMember2 not1>> picks up <<fName>>'s body and begins the long trek back to <<if $endgame_ship_destroyed>>the wreck of<</if>> the <<shipName>>.\n\t<<else>>\n\t\tThe other explorers pick up <<fName>>'s body and begin the long trek back to <<if $endgame_ship_destroyed>>the wreck of<</if>> the <<shipName>>.\n\t<</if>>\n\t<<if $endgame_ship_destroyed>>\n\t\t<<set $endgame_option = "shelter">>\n\t<<else>>\n\t\t<<set $endgame_option = "return">>\n\t<</if>>\n<<else>>\n\t<<set $endgame_option = "crystal_fail">>\n\tThe crystal's energy field withdraws, and darkness falls on the surface of the Gate Nexus.\n<</if>>\n</p>\n\n<<killCrewMember "was mentally destroyed by contact with the Gate Nexus">>\n\n<<addEventToQueue "Endgame Activation" start>>\n<p><<nextEventLink>></p>
<<set $locationOverride = "Chiron Base">>\n<<set $positionTrait = "xChironBase">>\n\n<p>\n<<if $lastChanceTrip>>\n\tIn the partially repaired wreck of Chiron Base, the few remaining monitoring devices trained on the Chiron Gate register a power surge.\n<<else>>\n\tIn Chiron Base, the array of monitoring devices trained on the Chiron Gate register an unprecedented power surge.\n<</if>>\nWormhole scientists rush to their stations, while the rest of the Chiron Project gather at windows looking out on the wormhole. The glowing blue ring of the Chiron Gate opens, wider and brighter than ever before. For a few moments it bathes the habitats of Chiron Base with blue-white light and rocks them with spatial distortions--and then it stabilises and settles, its chaotic flickering replaced by a steady, healthy glow.</p>\n<p>The readings confirm the Project's hopes. The Gate has indeed stabilised, and will no longer decay.</p>\n\n<p>@@.full-width-link;[[Continue|Endgame Activation 2]]@@</p>
<<set $selectedCrewMember = 0>>\n<<if $endgame_option == "return">>\n\t<p>With the Gate safe for repeated use, the Chiron Project's shipwrights begin work on a new line of starships. Before they can complete the first one, however, the Gate activates and the <<shipName>> emerges. It moves in to dock, battered and scarred next to the shining structure of the new ships, and the Chiron Project personnel erupt into a spontaneous cheer.</p>\n\t\n<<elseif $endgame_option == "shelter" || $endgame_option == "crystal" || $endgame_option == "crystal_fail">>\n\t<p>With the Gate safe for repeated use, the Chiron Project's shipwrights begin work on a new line of starships. There has still been no sign of the <<shipName>> by the time the first of the new ships is ready, so the inaugural mission of the //<<shipName>> II// is to go to the Gatebuilders' system and look for the explorers.</p>\n\t<<if $endgame_option == "shelter">>\n\t\t<p>After a smooth Gate journey, the new ship emerges from the wormhole and immediately picks up a distress signal. It follows it to a small moon shrouded in wormhole-like spatial distortions, where it finds the wreck of the <<shipName>> and the improvised habitat containing <<theExplorers>>. <<They>> <<are>> thin and sickly after months in the tiny shelter, but alive.</p>\n\t<<elseif $endgame_option == "crystal">>\n\t\t<p>After a smooth Gate journey, the new ship scans the system and detects the spatial distortion of the Gate Nexus. Coming into orbit, it detects\n\t\t<<if $endgame_ship_destroyed>>the wreckage of<</if>> \n\t\t<<if $deadCrew.length == 1>>\n\t\t\tthe <<shipName>> and the remains of <<nameObj $deadCrew[0]>>,\n\t\t<<elseif $deadCrew.length > 1>>\n\t\t\tthe <<shipName>> and the remains of <<= TextUtils.numberWord($deadCrew.length)>> of the explorers,\n\t\t<<else>>\n\t\t\tthe <<shipName>>,\n\t\t<</if>>\n\t\t<<if $endgameRetiredCrew.length == 1>>\n\t\t\tbut there is no sign of <<nameObj $endgameRetiredCrew[0]>>.\n\t\t<<elseif $deadCrew.length == 0>>\n\t\t\tbut there is no sign of the explorers.\n\t\t<<else>>\n\t\t\tbut there is no sign of the others.\n\t\t<</if>>\n\t\t</p>\n\t\t<p>Back at Chiron Base, the Chiron Project erects a memorial to the explorers who discovered the Gate Nexus and restored the Gates. They become heroes throughout the solar system, and will be remembered in the history books for as long as human civilisation continues. The mystery of their disappearance is never solved--although, sometimes, Chiron Base personnel swear that something in the wormhole is looking out at them.</p>\n\t\t\n\t<<elseif $endgame_option == "crystal_fail">>\n\t\t<p>After a smooth Gate journey, the new ship scans the system and detects the spatial distortion of the Gate Nexus. Coming into orbit, it detects\n\t\t<<if $endgame_ship_destroyed>>the wreckage of<</if>> \n\t\tthe <<shipName>>, and the now inert crystal, next to which lies the body of <<nameObj $deadCrew.last()>>.</p>\n\t\t<p>Back at Chiron Base, the Chiron Project erects a memorial to the explorers who discovered the Gate Nexus and restored the Gates. They become heroes throughout the solar system, and will be remembered in the history books for as long as human civilisation continues. Future missions revisit the Gate Nexus and investigate the crystal, but it remains inert, the new universe of understanding that <<nameObj $deadCrew.last()>> glimpsed briefly in <<hisherObj $deadCrew.last()>> final moments never to be revealed.</p>\n\t<</if>>\n<</if>>\n<<if $endgame_option == "return" || $endgame_option == "shelter">>\n\t<p>\n\t\t<<if $crew.length == 1>>\n\t\t\tThe Chiron Project gives <<name>> a hero's welcome, and then lets <<himher>> have time and support to recover from the mission<<if $deadCrew.length > 1>> and deal with the loss of <<hisher>> crewmates<<elseif $deadCrew.length == 1>> and deal with the loss of <<nameObj $deadCrew[0]>><</if>>. <<HeShe>> becomes a celebrity throughout the solar system, and will be remembered in the history books for as long as human civilisation continues.\n\t\t<<else>>\n\t\t\tThe Chiron Project gives the explorers a heroes' welcome, and then lets them have time and support to recover from the mission<<if $deadCrew.length > 1>> and deal with the loss of their crewmates<<elseif $deadCrew.length == 1>> and deal with the loss of <<nameObj $deadCrew[0]>><</if>>. They become celebrities throughout the solar system, and will be remembered in the history books for as long as human civilisation continues.\n\t\t<</if>>\n\t</p>\n<</if>>\n\n<p>Meanwhile, Chiron Base begins to grow into an orbital city filled with explorers, adventurers, and colonists. The age of humanity as an interstellar civilisation has begun.</p>\n\n\n<<if $endgame_option == "return">>\n\t<<gameOver "restored the Gates and returned home" "ship" "victory">>\n<<elseif $endgame_option == "shelter">>\n\t<<gameOver "crashed but restored the Gates" "crew_multiple" "victory">>\n<<elseif $endgame_option == "crystal">>\n\t<<gameOver "restored the Gate Nexus and vanished into the wormhole vortex" "crew_multiple" "victory">>\n<<elseif $endgame_option == "crystal_fail">>\n\t<<gameOver "restored the Gates but was mentally destroyed by contact with the Gatebuilder crystal" "crew" "victory">>\n<<else>>\n\tERROR: Unexpected endgame_option: <<= $endgame_option>>.\n<</if>>\n\n/% Achievement unlocks %/\n<<unlockAchievement "complete_game">>\n\n<<if $deadCrew.length == 0 && $memorialCrew.length == 0>>\n\t<<unlockAchievement "everybody_lives">>\n<</if>>\n\n<<if $crew.length == 1 && $deadCrew.length == 5>>\n\t<<unlockAchievement "one_survivor">>\n<</if>>\n\n<<if !$apBrokePrimeDirective>>\n\t<<unlockAchievement "prime_directive">>\n<</if>>\n\n<<if !$apInterstellarCivHomeworlds || $apInterstellarCivHomeworlds <= 1>>\n\t<<unlockAchievement "no_insterstellar_civ_systems">>\n<</if>>
<p>Gate instability means that the <<shipName>> can only visit a given system once. If <<theExplorers>> <<eVerb return>> without learning how to stabilise the Gates, they will have no way of preventing the Chiron Gate from closing forever.</p>\n\n<p>\n\t<<opt "Return From Gatebuilders System Confirm">>\n\t<<nextEventLink "Return From Gatebuilders System Cancel">>\n</p>
<<TheExplorers>> <<eVerb continue>> to explore the <<systemName>> system
The <<shipName>> returns home without the Gatebuilders' secret
<<set $eventTitle = "Return in Failure">>\n<p><<TheExplorers>> <<eVerb decide>> that searching for the Gatebuilders' secret is not worth the risk--or perhaps that it is better for humanity not to become a starfaring civilisation. With a flash of blue light, the <<shipName>> enters the Gate, leaving the Gatebuilders' home system forever.</p>\n<<if $crew.length == 1 && $deadCrew.length == 5>>\n\t<<unlockAchievement "one_survivor">>\n<</if>>\n<<gameOver "reached the Gatebuilders' system but failed to restore the Gates" "ship">>
<<set $seenFirstBaseReturn = true>>\n<p>Once again the <<shipName>> rushes through the flickering tunnel of light, and then emerges into the middle of Chiron Base.\n<<if Crew.anyoneHasTrait($crew, "ePilot")>>\n\t<<bestPilot>> quickly gets the ship's spinning under control and brings it in to dock with the shipyard.\n<<else>>\n\tThe autopilot slowly gets the ship's spinning under control, and tug drones guide it in to dock with the shipyard.\n<</if>>\n<<if $crew.length > 1>>\n\tAfter their time amid alien stars, the explorers are relieved to see the familiar constellations and the yellow light of Sol.\n<<else>>\n\t<<silently>><<randomCrewMember>><</silently>>\n\tAfter losing <<hisher>> crewmates, <<name>> is relieved to see the familiar constellations and the yellow light of Sol.\n<</if>>\n</p>\n\n<p>\nIn the floating habitats of Chiron Base, personnel who had been anxiously awaiting the <<shipName>>'s return break out bottles of champagne. The Project's engineers begin examining how the ship performed on its mission, and the research groups get ready to study the data it brought back. A feeling of triumph and jubilation spreads throughout the base and across the inhabited solar system. Humanity's first interstellar mission was a success.</p>\n\n<p><<nextEventLink>></p>
<<set $eventTitle = "Report of the Wormhole Research Group">>\n<<set $seenFirstDestinationChoice = true>>\n<p>While \n<<if $crew.length > 1>>\n\tthe explorers recover\n<<else>>\n\t<<randomCrewMember>> recovers\n<</if>>\nand engineers prepare the <<shipName>> for its next voyage, the Wormhole Research Group studies the newly-activated Gate. At last they call a General Meeting of the Chiron Project to present their findings.</p>\n<p>"We've learned to partially control the gate," the WRG's spokesperson says. "By modulating the energy we feed into it, we can partially open it to five possible destination systems, and get enough readings from them to determine each one's star type. Then we can fully open the gate to any of them we choose.</p>\n<p>"That's the good news. The bad news is that the Gate is unstable. Each time we open it, the network shifts so that the five possible destination systems change. We can't visit the same system twice. Furthermore, it decays a little each time we use it. After <<= TextUtils.numberWord($wormholeUsesRemaining)>> more openings, we'll no longer be able to open it wide enough to accept a ship."</p>\n<p>The gathered Project personnel look at the images of <<= $firstSystemName>> with new eyes. These are likely the only images that human eyes will ever see of that star system--but any number of other star systems are now within reach.</p>\n<p>"We have to assume that the Gate's builders had a way of controlling it," the wormhole physicist continues. "If the <<shipName>> can reach the Gatebuilders' home system within the next <<= TextUtils.numberWord($wormholeUsesRemaining)>> trips, we might learn enough to keep the Gate open indefinitely. If we can't do that...we'll be locked out of the stars forever."</p>\n<<unlockUpgrade "sUpgradeGateOriginHoming">>\n<<unlockUpgrade "sUpgradeGateNexusLocator">>\n<p><<nextEventLink>></p>
<<set $eventTitle = "First Contact">>\n<<set $seenFirstLivingCivHomeworld = true>>\n<p>\n<<if $seenFirstExtinctCivHomeworld>>\n\tThe <<shipName>> has already encountered extinct alien civilisations,\n<<else>>\n\tThe Chiron Project already knew of the existence of the ancient Gatebuilders,\n<</if>>\nbut until now <<theExplorers>> did not know how common and long-lived alien civilisations were: whether humanity was alone in a universe of ruins, or whether it coexisted with other minds. Now <<they>> <<eVerbpn know>> that they share the galaxy with at least one other civilisation, and probably many more.</p>\n\n<p>It is the dawn of a new age of humankind: the end of its childhood isolation and the start of its membership of a community of civilisations. <<crewMemberWithWithoutTrait eXenologist eInspired>> is <<inlineInspireCrewMember "filled with awe">> at being a part of these historic events.</p>\n\n<p><<nextEventLink>></p>
<<set $seenFirstBaseReturnAfterDeath = true>>\n<<set $eventTitle = "Sad Return">>\n<p>Silence falls in the Chiron Base control room as\n<<if $crew.length == 1>>\n\t<<nameX 0>> reports\n<<else>>\n\tthe surviving explorers report\n<</if>>\n<<if $deadCrew.length == 1>>\n\t<<nameObj $deadCrew[0]>>'s death.\n<<else>>\n\tthe <<= TextUtils.numberWord($deadCrew.length)>> deaths.\n<</if>>\nEveryone knew that exploration beyond the Chiron Gate would be risky, but the first <<if $deadCrew.length == 1>>death still comes<<else>>deaths still come<</if>> as a shock.</p>\n\n<p>The base's designers solemnly begin designing a memorial to the dead <<if $deadCrew.length == 1>>explorer<<else>>explorers<</if>>. Hopefully not too many more names will need to be added to it on the <<shipName>>'s future missions.</p>\n\n<<set $memorialCrew = $memorialCrew.concat($deadCrew)>>\n<<set $deadCrew = []>>\n<p><<nextEventLink>></p>
<<set $eventTitle = "Those Who Came Before">>\n<<set $seenFirstExtinctCivHomeworld = true>>\n<p>\n<<if $seenFirstLivingCivHomeworld>>\n\tThe <<shipName>> has already encountered living aliens, but the ruins of <<planetName>> are a reminder that every civilisation's story must end. A universe as ancient as the one the <<shipName>> is exploring must contain far more dead civilisations than living ones. The knowledge that entire civilisations have passed into extinction is sobering, but <<crewMemberWithWithoutTrait eXenologist eInspired>> finds <<inlineInspireCrewMember "hope">> in the thought that their stories are still there for the <<shipName>> to discover.\n<<elseif $seenFirstInterplanetaryTrace>>\n\tThe <<shipName>> has already encountered evidence of spacefaring civilisations, but this is the first time it has found the planet where a civilisation arose. <<planetName>>'s inhabitants are long dead now, but <<crewMemberWithWithoutTrait eXenologist eInspired>> finds <<inlineInspireCrewMember "hope">> in the thought that their stories are still there for the <<shipName>> to discover.\n<<else>>\n\tThe Chiron Project already knew of the existence of the ancient Gatebuilders, but until now they did not know how common alien civilisations were. The ruins of <<planetName>> stand as proof that at least one other civilisation has been and gone, and it is likely that there are others out there. <<crewMemberWithWithoutTrait eXenologist eInspired>> is <<inlineInspireCrewMember "awe-struck">> at the possibility of learning more about those that have gone before--even though <<theExplorers heshe>> still <<eVerbpn do does>> not know whether any of humanity's sibling civilisations are still alive or whether they are alone in a universe of ruins.\n<</if>>\n</p>\n<p><<nextEventLink>></p>
<<set $eventTitle = "First Interplanetary Journey">>\n<p>The interplanetary fusion drive fires, and the <<shipName>> begins its first journey into an alien star system. The explorers begin their routine, checking over the systems, setting up their scientific equipment, and adjusting to life on board. Their training at Chiron Base has given them all experience of living in space, so there is nothing unfamiliar about their day-to-day lives besides the alien light of \n\n<<if $currentSystem.stars.length == 1>>\n\t<<= $currentSystem.stars[0].name>>.\n<<elseif $currentSystem.stars.length == 2>>\n\tthe <<systemName>> system's binary stars.\n<<else>>\n\tthe <<systemName>> system's <<= TextUtils.numberWord($currentSystem.stars.length)>> stars.\n<</if>>\n\n</p>\n\n\n<p>\nAt last\n<<if $currentSystem.planets[$destinationPlanet].traits.includes("pBelt")>>\n\tthe closest planetoid of \n<</if>>\n<<= $currentSystem.planets[$destinationPlanet].name>> becomes a bright point in the forward windows, then a disc, and then begins to show detail.\n\n<<if Crew.anyoneHasTrait($crew, "ePilot")>>\n\t<<bestPilot>>\n<<else>>\n\tThe autopilot\n<</if>>\nfires the engine burn that will place the <<shipName>> into orbit, while\n\n<<if Crew.anyoneHasTrait($crew, "ePlanetaryScientist")>>\n\t<<bestPlanetaryScientist>> pores\n<<else>>\n\tthe explorers pore\n<</if>>\nover the data as it comes in from the sensors, identifying points of interest for closer investigation.</p>\n\n<p><<nextEventLink>></p>
<<set $eventTitle = "Fellow Starfarers">>\n<<set $seenFirstInterplanetaryTrace = true>>\n<p>The Chiron Project's scientists already knew that the Chiron Gate was an artefact left by an advanced spacefaring civilisation, but until now they had engaged in heated debate about whether the Gatebuilders were the only such civilisation or one of many. The <<shipName>>'s latest discovery confirms that at least one other civilisation has discovered the Gates and used them to visit other star systems. <<crewMemberWithWithoutTrait eXenologist eInspired>> is <<inlineInspireCrewMember "filled with awe">> at the thought of learning more about humanity's fellow starfarers.</p>\n\n<p><<nextEventLink>></p>
<<set $eventTitle = "Another Small Step">>\n<<set $seenFirstStep = true>>\n<p>Two and a half centuries ago, Neil Armstrong's first step onto the Moon was broadcast live to the whole human race. With no way to communicate through the Chiron Gate, humanity's first step onto an extrasolar planet will be witnessed only by the <<shipName>>'s crew, but a dozen cameras are recording the moment for posterity. The outer airlock opens, revealing the <<surfaceAdj>> surface of <<planetName>>. The first human to set foot on a world beyond the Chiron Gate is:</p>\n\n<p>\n<<for _n = 0; _n < $crew.length; _n++>>\n\t<<capture _n>>\n\t\t@@.full-width-link;<<link `"<<nameX _n>>"` "StoryEvent First Step 2">><<set $selectedCrewMember = _n>><</link>>@@\n\t<</capture>>\n<</for>>\n</p>
<p><<name>> descends the ramp and solemnly places <<hisher>> foot on the alien ground. <<HisHer>> suit's medical monitor registers a brief spike in heart rate. The explorers all know that the Chiron Project is a group effort between the <<shipName>>'s crew and the thousands of staff back at Chiron Base, but even so, <<fName>> <<inlineInspireCrewMember "will always remember">> that <<heshe>> <<verb was were>> the first human being to set foot on an extrasolar planet.</p>\n<<set $crew[$selectedCrewMember].apFirstLandingExplorer = true>>\n<p><<nextEventLink>></p>
<<set $eventTitle = "Life">>\n<<set $seenFirstLife = true>>\n<p>Ever since the first primitive Mars probes of the 20th century, much of humanity's exploration of space has been consumed with one question: is there life on other worlds, or is Earthly life alone in the universe?\n<<if $seenFirstInterplanetaryTrace || $seenFirstExtinctCivHomeworld || $seenFirstLivingCivHomeworld>>\n\tThe <<shipName>> has already encountered signs of technological civilisations, but until now the explorers have not come into direct contact with alien biology. At last, <<crewMemberWithWithoutTrait eBiologist eInspired>> is able to closely examine the way in which life has arisen on other worlds.\n<<else>>\n\tOver the last century the Earth's solar system has been thoroughly explored and every place that might have harboured life has been found to be empty. But now, <<if $contextTraits.includes("xExploringSurface")>>on the <<surfaceAdj>> surface of <<planetName>>,<</if>> <<crewMemberWithWithoutTrait eBiologist eInspired>> holds in <<hisher>> hands incontrovertible proof that life has evolved independently at least once.\n<</if>>\n</p>\n\n<p>The stars above <<fName>>'s head <<inlineInspireCrewMember "seem somehow more colourful">>. No longer simply lifeless balls of gas and whirling rocks, any one of them could be home to ecosystems of fascinating, alien complexity.</p>\n\n<p><<nextEventLink>></p>
<div class="credits-or-final-score">\n\t<h1>Credits</h1>\n\t<h2>Created by</h2>\n\t<p>John Ayliff</p>\n\n\t<h2>Playtesters</h2>\n\t<p class="credits-name-list">\n\tMatt Buchanan<br>\n\tDave C<br>\n\tLok-Hymn Chow<br>\n\tRachel Cobb<br>\n\tMike Cripps<br>\n\tekimekim<br>\n\tFenderKing<br>\n\tMatthew Holland<br>\n\tIke<br>\n\tStephan Liberman<br>\n\tRyan Livingston<br>\n\tJP McKeown<br>\n\tnotkarpov<br>\n\tJussi K<br>\n\tMischa D. Krilov<br>\n\tDaphne Qin<br>\n\tJonathan Renteria<br>\n\tVishal S (OffPoynt)<br>\n\tJames St. Don<br>\n\tScript Train<br>\n\tSiuwa<br>\n\tDavid Stark (Zarkonnen)<br>\n\tTaylor1999<br>\n\tKadin Thorn<br>\n\tRuss Wung\n\t</p>\n\t\n\t<h2>Cover art</h2>\n\t<p>Tom Morley (@nukethellamas)</p>\n\n\t<h2>Music</h2>\n\t<p>"Phobos" and "Deimos" by Wiktoria Zac</p>\n\t\n\t<h2>Icons</h2>\n\t<p>\n\tMost icons CC-BY Delapouite, Lorc, Lord Berandas, Skoll, SpencerDub, Viscious Speed, and sbed, from game-icons.net<br>\n\tSome icons created or modified by John Ayliff\n\t</p>\n\t\n\t<h2>Tools credits</h2>\n\t<p>\n\tTwine by Chris Klimas<br>\n\tSugarcube story format and Tweego compiler by Thomas Michael Edwards<br>\n\tTwine App Builder by Em Lazer-Walker\n\t</p>\n\n\t<h2>$5+ Patreon backers</h2>\n\t<p class="credits-name-list">\n\tAndrea Rabufetti<br>\n\tAndrew J. Martin<br>\n\tAndrew Roach<br>\n\tÁrmin Scipiades<br>\n\tBlueJay<br>\n\tboxtrain<br>\n\tBruce Steinberg<br>\n\tCatacman<br>\n\tCharlie Maas<br>\n\tEdward Dunar<br>\n\tG.P. Prior<br>\n\tGraham Peebles<br>\n\tirradiance<br>\n\tJ.A. Woodbridge<br>\n\tJörg Reisig<br>\n\tJames St. Don<br>\n\tJanelle Shane<br>\n\tJason Paul<br>\n\tJason Walter<br>\n\tJay Ayliff<br>\n\tKay-Viktor Stegemann<br>\n\tKevin Kraft<br>\n\tKurtis<br>\n\tLiza Daly<br>\n\tMarcus Jager<br>\n\tMatthew Holland<br>\n\tMichael Lang<br>\n\tMichael Lewis<br>\n\tMickey Phoenix<br>\n\tMike Cripps<br>\n\tPablo Longobardi<br>\n\tPangolinasaur<br>\n\tPatrick M Brennan<br>\n\tRachel Cobb<br>\n\tRhys Wolfenden<br>\n\tRobin Arnold<br>\n\tSaul Pwanson<br>\n\tScott Anderson<br>\n\tSeamus Sweeney<br>\n\tShopping Mall Krampus<br>\n\tstarmannnn<br>\n\tStealth<br>\n\tStellarator<br>\n\tStephen Dewhurst<br>\n\tsteven<br>\n\tTrilobyte Loaf<br>\n\tV.K.<br>\n\tWalter Luers<br>\n\tZach Hauser\n\t</p>\n\n\t<div class="title-screen-button-row"><span class="title-screen-link">[[Back|Start]]</span></div>\n</div>
<<set _highscores = recall("highscores",[])>>\n\t<div class="credits-or-final-score">\n\t<h1>Records</h1>\n\t<table class="high-scores-table">\n\t\t<tr>\n\t\t\t<th></th>\n\t\t\t<th>Ship</th>\n\t\t\t<th class="high-score-table-ending-column">Ending</th>\n\t\t\t<th>Trips</th>\n\t\t\t<th>Data</th>\n\t\t\t<th></th>\n\t\t</tr>\n\n\t<<for _n = 0; _n < _highscores.length; _n++>>\n\t\t<<capture _n>>\n\t\t\t<tr>\n\t\t\t\t<td>\n\t\t\t\t\t<<if _highscores[_n].victory>>\n\t\t\t\t\t\t<span class="inline-icon"><<iconWithTooltip "stars-stack" "Victory">></span>\n\t\t\t\t\t<</if>>\n\t\t\t\t</td>\n\t\t\t\t<td><em><<= _highscores[_n].shipName>></em></td>\n\t\t\t\t<td class="high-score-table-ending-column">\n\n\t\t\t\t\t<<if _highscores[_n].endingType == "crew">>\n\t\t\t\t\t\tThe last explorer <<= _highscores[_n].endingReason>>\n\t\t\t\t\t<<elseif _highscores[_n].endingType == "crew_multiple">>\n\t\t\t\t\t\tThe explorers <<= _highscores[_n].endingReason>>\n\t\t\t\t\t<<elseif _highscores[_n].endingType == "base">>\n\t\t\t\t\t\t<<= _highscores[_n].endingReason>>\n\t\t\t\t\t<<else>>\n\t\t\t\t\t\tThe <em><<= _highscores[_n].shipName>></em> <<= _highscores[_n].endingReason>>\n\t\t\t\t\t<</if>>\n\t\t\t\t</td>\n\t\t\t\t<td>''<<= _highscores[_n].systemsVisited>>''</td>\n\t\t\t\t<td>''<<= _highscores[_n].totalData>>''</td>\n\t\t\t\t<td style="text-align:right">\n\t\t\t\t\t<<link "View" "High Scores Table Show Record">>\n\t\t\t\t\t\t<<set $gameStats = _highscores[_n]>>\n\t\t\t\t\t<</link>>\n\t\t\t\t</td>\n\t\t\t</tr>\n\t\t<</capture>>\n\t<</for>>\n\n\t</table>\n\n\t<div class="title-screen-button-row"><span class="title-screen-link">[[Back|Start]]</span></div>\n</div>
<div class="credits-or-final-score">\n<h1>The Story of the <em><<= $gameStats.shipName>></em></h1>\n\n\t<<showGameStats $gameStats>>\n\n\t<div class="title-screen-button-row"><span class="title-screen-link">[[Back|High Scores Table]]</span></div>\n</div>
Beyond the Chiron Gate
John Ayliff
<div class="front-matter-how-to-play">\n\t<h1>Privacy Policy</h1>\n\n\t<p>\n\tThis app does not collect, store, or transmit any information about you or your device.\n\t</p>\n\t<p>\n\tIf you have any questions about this, you can contact privacy@johnayliff.com.\n\t</p>\n\t<div class="title-screen-button-row"><span class="title-screen-link">[[Back|Start]]</span></div>\n</div>
<<run BackgroundStarfield.doStarfield()>>\n\n<<run Music.setup()>>\n\n<<if recall("music",true)>>\n\t<<set _volume = recall("music_volume",100)>>\n\t<<masteraudio volume `_volume/100`>>\n\t<<run Music.playNewTrack("exploration")>>\n<</if>>\n\n<<updateTextSize>>
<div id="title-screen-block">\n\t<img id="title-screen-img" data-passage="Title_Glow" alt="Beyond the Chiron Gate" class="fade-in">\n\t<div class="title-screen-button-row fade-in-delayed">\n\t\t<<if Save.autosave.has()>>\n\t\t\t<span class="title-screen-link title-screen-link-big"><<link "Continue">>\n\t\t\t\t<<script>>\n\t\t\t\t\tSave.autosave.load();\n\t\t\t\t\tMusic.fadeOutAndChange();\n\t\t\t\t<</script>>\n\t\t\t<</link>></span>\n\t\t\t<span class="title-screen-link title-screen-link-big">\n\t\t\t\t<<link "New Game">>\n\t\t\t\t\t<<run $("#overwrite-saved-game-confirm").fadeIn()>>\n\t\t\t\t<</link>>\n\t\t\t</span>\n\t\t<<else>>\n\t\t\t<span class="title-screen-link title-screen-link-big">[[New Game|Intro 1]]</span>\n\t\t<</if>>\n\t</div>\n\n\t<div class="title-screen-button-row fade-in-delayed">\n\t\t<span class="title-screen-link">[[How to Play|Title Screen How to Play]]</span>\n\t\t<span class="title-screen-link">[[Records|High Scores Table]]</span>\n\t\t<span class="title-screen-link">[[Achievements|Title Screen Achievements]]</span>\n\n\t\t<span id="music-toggle" class="title-screen-link">\n\t\t\t<<include [[Title Screen Music Toggle]]>>\n\t\t</span>\n\t\t<<if (document.fullscreenEnabled || document.webkitFullscreenEnabled || document.msFullscreenEnabled) && !mobileVersion>>\n\t\t\t<span class="title-screen-link hide-in-fullscreen">\n\t\t\t\t<<link "Full screen: Off">>\n\t\t\t\t\t<<run enterFullScreen()>>\n\t\t\t\t<</link>>\n\t\t\t</span>\n\t\t\t<span class="title-screen-link show-in-fullscreen">\n\t\t\t\t<<link "Full screen: On">>\n\t\t\t\t\t<<run exitFullScreen()>>\n\t\t\t\t<</link>>\n\t\t\t</span>\n\t\t<</if>>\n\t\t<span class="title-screen-link">\n\t\t\t[[Settings|Title Screen Settings]]\n\t\t</span>\n\n\t\t<span class="title-screen-link">[[Credits|Credits]]</span>\n\t\t<<if !mobileVersion>>\n\t\t\t<span class="title-screen-link">\n\t\t\t\t<<link "Quit">>\n\t\t\t\t\t<<run window.close()>>\n\t\t\t\t<</link>>\n\t\t\t</span>\n\t\t<</if>>\n\t</div>\n</div>\n<div class="version-number">version <<= Config.saves.version>></div>\n<<if mobileVersion>>\n\t<div class="title-screen-privacy-policy">[[Privacy policy]]</div>\n<</if>>\n\n<div class="title-screen-debug-link">\n\t/% Debug stuff %/\n\t<div class="debug-text">\n\t\t<<link "Manage saves...">>\n\t\t\t<<run UI.saves()>>\n\t\t<</link>>\n\t\t<br>[[Debug Quick Start]]\n\t\t<br>[[Debug Test Event From Title Screen]]\n\t\t<br>[[Debug Test New Universe Generator Count Traits]]\n\t\t<br>[[Debug Test Alien Names]]\n\t\t<br><br>\n\t</div>\n\t/% <<link "Toggle debug text">><<run $("html").toggleClass("show-debug-text")>><</link>> %/\n</div>\n\n\n<div id="overwrite-saved-game-confirm">\n\t<p>Overwrite the saved game?</p>\n\t<div class="overwrite-saved-game-confirm-buttons">\n\t\t<span class="overwrite-saved-game-button">[[Confirm|Intro 1]]</span>\n\t\t<span class="overwrite-saved-game-button"><<link "Cancel">><<run $("#overwrite-saved-game-confirm").fadeOut()>><</link>></span>\n\t</div>\n</div>
<<set _volume = recall("music_volume",100)>>\n<<if recall("music",true)>>\n\t<<link "Music: On">>\n\t\t<<run memorize("music",false)>>\n\t\t<<masteraudio stop>>\n\t\t<<run setPageElement("music-toggle","Title Screen Music Toggle")>>\n\t<</link>>\n<<else>>\n\t<<link "Music: Off">>\n\t\t<<run memorize("music",true)>>\n\t\t<<if _volume <= 0>>\n\t\t\t<<set _volume = 5>>\n\t\t\t<<run memorize("music_volume",_volume)>>\n\t\t<</if>>\n\t\t<<masteraudio volume `_volume/100`>>\n\t\t<<run Music.playNewTrack()>>\n\t\t<<run setPageElement("music-toggle","Title Screen Music Toggle")>>\n\t<</link>>\n<</if>>
<div class="credits-or-final-score">\n\t<<include [[Settings Display]]>>\n</div>
<div class="credits-or-final-score">\n\t<<include [[Achievements List]]>>\n\t<div class="title-screen-button-row"><span class="title-screen-link">[[Back|Start]]</span></div>\n</div>
<div class="front-matter-how-to-play">\n\t<<include [[How to Play]]>>\n\t<div class="title-screen-button-row"><span class="title-screen-link">[[Back|Start]]</span></div>\n</div>
<<set $eventTitle = "The "+$civilisations[$currentSystem.planets[$planetNumber].nativeCiv].civName>>\n<<if $civilisations[$currentSystem.planets[$planetNumber].nativeCiv].traits.includes("ctInterstellar")>>\n\t<p><<TheExplorers>> <<eVerb manage>> to make contact, and <<eVerb find>> that <<they>> <<eVerb have has>> found the homeworld of the <<civname>>.</p>\n<<elseif $contextTraits.includes("cKnowName")>>\n\t<p><<TheExplorers>> <<eVerb approach>> a <<civname>> community to learn more about <<their>> hosts.</p>\n<<else>>\n\t<p><<TheExplorers>> <<eVerb manage>> to make contact with the <<civname>> and <<eVerb decipher>> the rudiments of their language.</p>\n<</if>>\n\n/% Successful contact - learn any interesting mysteries %/\n<<set $civilisations[$currentSystem.planets[$planetNumber].nativeCiv].knownTraits.push("cKnowName")>>\n<<set $civilisations[$currentSystem.planets[$planetNumber].nativeCiv].traits.push("cKnowName")>>\n/% Replace temp name of planet with the natives' own name %/\n<<set $currentSystem.planets[$planetNumber].name = $currentSystem.planets[$planetNumber].civPlanetName>>\n\n<<include [[Explore Trait Discover Features]]>>\n\n<<exploreTrait psCiv>>\n\n<<if $civilisations[$currentSystem.planets[$planetNumber].nativeCiv].traits.includes("ctInterstellar")>>\n\t<<achievementLogInterstellarCivHomeworld>>\n<</if>>\n\n<<if !$civilisations[$currentSystem.planets[$planetNumber].nativeCiv].traits.includes("ctSpacefaring")>>\n\t<<set $apBrokePrimeDirective = true>>\n<</if>>\n\n<<addEventFromListToQueue "civContactSuccess" end>>\n<p><<nextEventLink>></p>
<<set $eventTitle = "The "+$civilisations[$currentSystem.planets[$planetNumber].nativeCiv].civName>>\n\n<<if $civilisations[$currentSystem.planets[$planetNumber].nativeCiv].traits.includes("ctInterstellar")>>\n\t<p><<TheExplorers>> <<eVerb have has>> found the homeworld of the <<civname>>.</p>\n<<else>>\n\t<p><<TheExplorers>> <<eVerb study studies>> the ruins left by the <<civname>>.</p>\n<</if>>\n\n/% Successful contact - learn any interesting mysteries %/\n<<set $civilisations[$currentSystem.planets[$planetNumber].nativeCiv].knownTraits.push("cKnowName")>>\n<<set $civilisations[$currentSystem.planets[$planetNumber].nativeCiv].traits.push("cKnowName")>>\n/% Replace temp name of planet with the natives' own name %/\n<<set $currentSystem.planets[$planetNumber].name = $currentSystem.planets[$planetNumber].civPlanetName>>\n\n\n<<include [[Explore Trait Discover Features]]>>\n\n<<exploreTrait psCiv>>\n\n<<if $civilisations[$currentSystem.planets[$planetNumber].nativeCiv].traits.includes("ctInterstellar")>>\n\t<<achievementLogInterstellarCivHomeworld>>\n<</if>>\n\n<<addEventFromListToQueue "civArchaeology" end>>\n<p><<nextEventLink>></p>
<<set $eventTitle = "Interstellar Contact">>\n<<include [[Explore Trait Discover Features]]>>\n<<addEventFromListToQueue "starshipContact" end>>\n<p><<nextEventLink>></p>
<<if $contextTraits.includes("tGatebuildersHomeSystem")>>\n\t<<addEventToQueue "Return From Gatebuilders System" end>>\n\t<<includeNextEvent>>\n<<else>>\n\t<<set $positionTrait = "xGateJourney">>\n\t<<addEventFromListToQueue "gatewayJourney" start>>\n\t<<addEventToQueue "Chiron Base Return" end>>\n\t<<includeNextEvent>>\n<</if>>
/% The internal name trait whose name the player clicked on is in $exploringTrait %/\n/% Find the secret trait(s) behind this trait and add them to the queue %/\n\n/% Land if necessary %/\n<<if $positionTrait == "xInOrbit" && !("location" in Traits[$exploringTrait])>>\n\t<<addEventFromListToQueue "landing" end>>\n\t<<addEventToQueue "Landing Successful" end>>\n<<elseif $positionTrait == "xExploringSurface" && Traits[$exploringTrait].location == "xInOrbit">>\n\t/% Silently take off if necessary %/\n\t<<addEventToQueue "Return To Orbit" end>>\n<</if>>\n\n<<if "exploreEvent" in Traits[$exploringTrait]>>\n\t<span class="debug-text">Next event is special: <<= Traits[$exploringTrait].exploreEvent>></span>\n\t<<addEventToQueue `Traits[$exploringTrait].exploreEvent` end>>\n<<else>>\n\t<span class="debug-text">Next event is regular explore trait event</span>\n\t<<addEventToQueue "Explore Trait Event" end>>\n<</if>>\n\n<<includeNextEvent>>
<<set $eventQueue = []>>\n\n/% Add one landing event (if there are any eligible ones) %/\n<<addEventFromListToQueue "landing" start>>\n<<addEventToQueue "Landing Successful" end>>\n\n/% Go to the first event on the list! %/\n<<includeNextEvent>>
<<set $positionTrait = "xExploringSurface">>\n\n<<set _landingFuelCost = getPlanetLandingFuel($contextTraits)>>\n\n<<set $ship.fuel -= _landingFuelCost>>\n\n<<if !$seenFirstStep && !$contextTraits.includesAny("pGasGiant","pBelt")>>\n\t<<addEventToQueue "StoryEvent First Step" start>>\n\t<<set $suppressLandingFlavourText = true>>\n<</if>>\n<<if !$suppressLandingFlavourText>>\n\t<<set _passage = getRandomPassageForTraits("landingFlavour", $contextTraits,[],$lastEvents)>>\n\t<<if _passage != "">>\n\t\t<p><<include _passage>></p>\n\t<<else>>\n\t\t<p>ERROR: Could not get landing flavour text</p>\n\t<</if>>\n<</if>>\n<<unset $suppressLandingFlavourText>>\n\n<<includeNextEvent>>
<<set $positionTrait = "xInOrbit">>\n<<set _passage = getRandomPassageForTraits("takeoffFlavour", $contextTraits,[],$lastEvents)>>\n<<include _passage>>\n\n<<includeNextEvent>>
<<widget hazardEscapeToOrbit>>\n\t<<set $positionTrait = "xInOrbit">>\n\t<<set $eventQueue = []>>\n\t<p><<nextEventLink>></p>\n<</widget>>
<<if $contextTraits.includes("cNotExtinct")>>\n\t<<include [[Civ Contact]]>>\n<<else>>\n\t<<include [[Extinct Civ]]>>\n<</if>>
<<if !$contextTraits.includesAny("psOrbitalDerelict","psSurfaceDerelict")>>\n\t<span class="debug-text">Including Starship Contact</span>\n\t<<include [[Starship Contact]]>>\n<<else>>\n\t<span class="debug-text">Including Derelict Starship</span>\n\t<<include [[Derelict Starship]]>>\n<</if>>
/% Set title to name of trait being explored %/\n<<set $eventTitle = TextUtils.titleCase(Traits[$exploringTrait].name)>>\n\n/% Discover revealed traits and print description %/\n<<include [[Explore Trait Discover Features]]>>\n\n/% Queue up another event from the planet or civ list %/\n<<if Traits.psCiv.canReveal.includes($exploringTrait) && $currentSystem.planets[$planetNumber].knownTraits.includes("psCiv")>>\n\t<<if $contextTraits.includes("cExtinct")>>\n\t\t<<set _passage = getRandomPassageForTraits("civArchaeology", $contextTraits, _revealedTraits,$lastEvents)>>\n\t<<else>>\n\t\t<<set _passage = getRandomPassageForTraits("civContactSuccess", $contextTraits, _revealedTraits,$lastEvents)>>\n\t<</if>>\n<<elseif $positionTrait == "xExploringSurface">>\n\t<<set _passage = getRandomPassageForTraits("surface", $contextTraits, _revealedTraits,$lastEvents)>>\n<<else>>\n\t<<set _passage = getRandomPassageForTraits("orbit", $contextTraits, _revealedTraits,$lastEvents)>>\n<</if>>\n<<if _passage != null && _passage != "">>\n\t<<addEventToQueue _passage "end">>\n<</if>>\n\n<div class="debug-text">Revealed traits (focus traits): <<= _revealedTraits>></div>\n/%<<unset $exploringTrait>>%/\n<p><<nextEventLink>></p>\n\n\n\n/% This is included in Explore Trait Event but also sometimes in other events %/
/%<<set _traitList = $contextTraits>>%/\n<<set _planet = $currentSystem.planets[$planetNumber]>>\n<<set _traitList = _planet.traits>>\n\n/% Trait being explored should be in $exploringTrait %/\n/% Get all traits on this planet that are revealed by this trait (recursively) %/\n<<set _revealedTraits = getAllRevealedTraits($exploringTrait, _traitList)>>\n\n/% If any of the revealed traits can reveal psCiv or psMeddlingCiv, check the relevant civ's traits for traits they reveal %/\n<<set _nativeCivRevealedTraits = []>>\n<<set _meddlingCivRevealedTraits = []>>\n\n/%<<set _fullContext = _traitList>>%/\n<<set _fullContext = _revealedTraits.concat(_planet.knownTraits)>>\n\n<<if _planet.nativeCiv != -1 && _revealedTraits.includes("psCiv")>>\n\t<<set _civTraitList = $civilisations[_planet.nativeCiv].traits>>\n\t<<set _fullContext = _fullContext.concat(_civTraitList)>>\n\t<<for _t = 0; _t < _revealedTraits.length; _t++>>\n\t\t<<if ("canReveal" in Traits[_revealedTraits[_t]] && Traits[_revealedTraits[_t]].canReveal.includes("psCiv")) && !("explorable" in Traits[_revealedTraits[_t]])>>\n\t\t\t<<set _nativeCivRevealedTraits = _nativeCivRevealedTraits.concat(getAllRevealedTraits(_revealedTraits[_t], _civTraitList))>>\n\t\t<</if>>\n\t<</for>>\n<</if>>\n<<if _planet.interstellarCiv != -1 && _revealedTraits.includes("psMeddlingCiv")>>\n\t/% Only traits starting in "ic" can be revealed outside a civ's homeworld %/\n\t<<set _civTraitList = $civilisations[_planet.interstellarCiv].traits.filter(function(t) { return t.startsWith("ic"); })>>\n\t<<set _fullContext = _fullContext.concat(_civTraitList)>>\n\t<<for _t = 0; _t < _revealedTraits.length; _t++>>\n\t\t<<if ("canReveal" in Traits[_revealedTraits[_t]] && Traits[_revealedTraits[_t]].canReveal.includes("psMeddlingCiv")) && !("explorable" in Traits[_revealedTraits[_t]])>>\n\t\t\t<<set _meddlingCivRevealedTraits = _meddlingCivRevealedTraits.concat(getAllRevealedTraits(_revealedTraits[_t], _civTraitList))>>\n\t\t<</if>>\n\t<</for>>\n<</if>>\n<<set _revealedTraits = _revealedTraits.concat(_nativeCivRevealedTraits,_meddlingCivRevealedTraits)>>\n\n/% Remove any we already know %/\n/%<<set _revealedTraits.delete(_planet.knownTraits)>>%/\n/% But put back in the trait we're exploring %/\n<<set _revealedTraits.push($exploringTrait)>>\n\n<<set _newDiscoveredTraits = clone(_revealedTraits)>>\n<<set _newDiscoveredTraits.delete(_planet.knownTraits)>>\n<<set _desc = DiscoveryDescription.describeDiscovery($exploringTrait, _revealedTraits, _newDiscoveredTraits, _fullContext)>>\n\n<<exploreTrait $exploringTrait>>\n\n<<run _revealedTraits.sort(traitSort)>>\n<<run _nativeCivRevealedTraits.sort(traitSort)>>\n<<run _meddlingCivRevealedTraits.sort(traitSort)>>\n\n<<for _t = 0; _t < _revealedTraits.length; _t++>>\n\t<<revealPlanetTrait _revealedTraits[_t]>>\n<</for>>\n<<for _t = 0; _t < _nativeCivRevealedTraits.length; _t++>>\n\t<<revealNativeCivTrait _nativeCivRevealedTraits[_t]>>\n<</for>>\n<<for _t = 0; _t < _meddlingCivRevealedTraits.length; _t++>>\n\t<<revealMeddlingCivTrait _meddlingCivRevealedTraits[_t]>>\n<</for>>\n\n<p><<printDesc _desc false _planet>>\n\n<<if _revealedTraits.includes("psCiv")>>\n\t<<discoverNativeCiv>>\n<</if>>\n\n<<if _revealedTraits.includes("psMeddlingCiv")>>\n\t<<discoverMeddlingCiv _revealedTraits>>\n<</if>>\n</p>\n\n<<giveXPAll>>\n\n\n<div class="debug-text">\nAll traits: <<= _revealedTraits>>\n</div>
The <<shipName>> touches down on <<planetName>>.
The <<shipName>>'s engines throw up clouds of dust as it touches down on <<planetName>>.
Gusts of wind rock the <<shipName>> as it sets down on the surface of <<planetName>>.
The <<shipName>>'s engines strain to set the ship down safely under <<planetName>>'s high gravity.
The <<shipName>> descends into <<planetName>>'s atmosphere.
The <<shipName>> splashes down into <<planetName>>'s planet-wide ocean.
The <<shipName>> sets down on one of the bodies that make up <<planetName>>.
The <<shipName>> sets down a safe distance from the shore of the <<planetName>>'s molten ocean.
The <<shipName>> returns to orbit.
The <<shipName>>'s engines throw up clouds of dust as it lifts off from the surface of <<planetName>>.
<<planetName>>'s powerful winds buffet the <<shipName>> until it rises above the atmosphere.
The <<shipName>>'s engines strain to lift the ship out of <<planetName>>'s deep gravity well.
The <<shipName>> emerges from <<planetName>>'s atmosphere.
The <<shipName>> detaches from the belt body and returns to its orbit within <<planetName>>.
/* trait is the trait we've discovered and that might reveal other traits */\n/* contextTraits is all the traits we might possibly discover */\n/* traitsSoFar is all the traits we've discovered so far, to make sure we don't start infinitely recursing */\n\nwindow.getAllRevealedTraits = function(trait, contextTraits, traitsSoFar) {\n\tif (!(trait in Traits)) {\n\t\tconsole.error("getAllRevealedTraits called on non-existent trait "+trait);\n\t\treturn [];\n\t}\n\t\n\tif (traitsSoFar === undefined) {\n\t\ttraitsSoFar = [];\n\t}\n\n\ttry {\n\t\tvar rv = [];\n\t\t\n\t\trv.push(trait);\n\t\t\n\t\tif ("canReveal" in Traits[trait]) {\n\t\t\tvar canRevealTraits = clone(Traits[trait].canReveal);\n\t\t\t\n\t\t\tfor (var t = 0; t < canRevealTraits.length; t++) {\n\t\t\t\tif (contextTraits.includes(canRevealTraits[t]) && !traitsSoFar.includes(canRevealTraits[t])) {\n\t\t\t\t\tvar revealedTrait = canRevealTraits[t];\n\t\t\t\t\t\n\t\t\t\t\t/* If the new trait is itself explorable, just add it */\n\t\t\t\t\t/* Otherwise, add it and whatever traits it reveals */\n\t\t\t\t\tif (Traits[revealedTrait].explorable) {\n\t\t\t\t\t\trv.push(revealedTrait);\n\t\t\t\t\t} else {\n\t\t\t\t\t\trv = rv.concat(getAllRevealedTraits(canRevealTraits[t],contextTraits, traitsSoFar.concat(rv)));\n\t\t\t\t\t}\n\t\t\t\t}\n\t\t\t}\n\t\t}\n\t\t\n\t\treturn rv;\n\t} catch (err) {\n\t\tconsole.error("Error in getAllRevealedTraits: " + err.message + ", " + err.stack);\n\t\treturn [];\n\t}\n\t\n}
<<unset $exploringTrait>>\n<<set _planet = $currentSystem.planets[$planetNumber]>>\n\n<<include [[Refresh Context Traits]]>>\n\n<p><<include [[Describe Planet]]>></p>\n\n\n<<if $positionTrait == "xInterplanetary">>\n\t<<set $positionTrait = "xInOrbit">>\n<</if>>\n\n/% See if there are any unexplored traits on the surface %/\n<<set _knownUnexploredSurfaceTraits = clone($currentSystem.planets[$planetNumber].knownTraits)>>\n<<set _knownUnexploredSurfaceTraits.deleteWith( function(val) { return Traits[val].location=="xInOrbit" || !Traits[val].explorable}) >>\n<<set _knownUnexploredSurfaceTraits.delete($currentSystem.planets[$planetNumber].exploredTraits)>>\n\n<<if $positionTrait == "xInOrbit" && !$contextTraits.includes("pWormhole") && _knownUnexploredSurfaceTraits.length > 0>>\n\t<<if $contextTraits.includes("pLandingPrevented")>>\n\t\t<p><span class="inline-icon-small-middle"><<iconWithTooltip "cancel" "Landing prevented">></span> <<TheExplorers>> <<eVerb have has>> determined that landing here is impossible.</p>\n\t<<elseif $ship.fuel < getPlanetLandingFuel($contextTraits)>>\n\t\t<p><span class="inline-icon-small-middle"><<iconWithTooltip "cancel" "Landing prevented">></span> The <<shipName>> does not have enough fuel to land.</p>\n\t<<else>>\n\t\t<p><span class="inline-icon-small-middle"><<iconWithTooltip "growth_flipped" "Land">></span> \n\t\t<<if $contextTraits.includes("pGasGiant")>>\n\t\t\tDescending into the atmosphere\n\t\t<<else>>\n\t\t\tLanding\n\t\t<</if>>\n\t\twould cost <span class="inline-icon-small-middle"><<iconWithTooltip "atom" "Fuel">></span>''<<= getPlanetLandingFuel($contextTraits)>>''.</p>\n\t<</if>>\n<</if>>\n\n\n<<if $positionTrait == "xExploringSurface">>\n\t@@.full-width-link;[[Take off and leave orbit...|System View]]@@\n<<else>>\n\t@@.full-width-link;[[Leave orbit...|System View]]@@\n<</if>>\n\n<div class="debug-text">\n\tFull planet data:\n\t<br>\n\t<<set _json = JSON.stringify($currentSystem.planets[$planetNumber], null, 1)>>\n\t<code><<= _json>></code>\n\t\n\t<<if $currentSystem.planets[$planetNumber].nativeCiv != -1>>\n\t\t<br><br>Native civ data:\n\t\t<br><<set _json = JSON.stringify($civilisations[$currentSystem.planets[$planetNumber].nativeCiv], null, 1)>>\n\t\t<code><<= _json>></code>\n\t<</if>>\n\n\t@@.full-width-link;[[DEBUG: Edit planet...|Debug Edit Planet]]@@\n\n\t@@.full-width-link;<<link "DEBUG: Fully explore planet" "Planet View">>\n\t\t<<set $currentSystem.planets[$planetNumber].knownTraits = $currentSystem.planets[$planetNumber].traits>>\n\t<</link>>@@\n\n\t@@.full-width-link;<<link "DEBUG: Un-explore planet" "Planet View">>\n\t\t<<set $currentSystem.planets[$planetNumber].knownTraits = []>>\n\t\t<<set $currentSystem.planets[$planetNumber].exploredTraits = []>>\n\t\t<<set _filterTraits = $currentSystem.planets[$planetNumber].traits.filter(traitNonSecretFilter)>>\n\t\t<<set $currentSystem.planets[$planetNumber].knownTraits = $currentSystem.planets[$planetNumber].knownTraits.concatUnique(_filterTraits)>>\n\t\t\n\t<</link>>@@\n\n</div>
<<include [[Refresh Context Traits]]>>\n<<unset $locationOverride>>\n<<if $positionTrait == "xGateJourney">>\n\t<<set $positionTrait = "xInOrbit">>\n\t<<run BackgroundStarfield.fadeOutAndDoStarfield()>>\n<</if>>\n\n\n<p>\n<<if $currentSystem.stars.length == 1>>\n\n\t<<set _desc = StarDescription.primary($currentSystem.stars[0].traits)>>\n\t<<= $currentSystem.stars[0].name>> is <<printDesc _desc true $currentSystem.stars[0]>>.\n\n<<elseif $currentSystem.stars.length == 2>>\n\t<<set _desc0 = StarDescription.primary($currentSystem.stars[0].traits)>>\n\t<<set _desc1 = StarDescription.secondary($currentSystem.stars[1].traits)>>\n\t<<= $currentSystem.name>> is a binary system consisting of <<printDesc _desc0 true $currentSystem.stars[0]>>, and <<printDesc _desc1 true $currentSystem.stars[1]>>.\n<<elseif $currentSystem.stars.length == 3>>\n\t<<set _desc0 = StarDescription.secondary($currentSystem.stars[0].traits)>>\n\t<<set _desc1 = StarDescription.secondary($currentSystem.stars[1].traits)>>\n\t<<set _desc2 = StarDescription.secondary($currentSystem.stars[2].traits)>>\n\t<<= $currentSystem.name>> is a trinary system consisting of <<printDesc _desc0 true $currentSystem.stars[0]>>; <<printDesc _desc1 true $currentSystem.stars[1]>>; and <<printDesc _desc2 true $currentSystem.stars[2]>>.\n<<elseif $currentSystem.stars.length == 4>>\n\t<<set _desc0 = StarDescription.secondary($currentSystem.stars[0].traits)>>\n\t<<set _desc1 = StarDescription.secondary($currentSystem.stars[1].traits)>>\n\t<<set _desc2 = StarDescription.secondary($currentSystem.stars[2].traits)>>\n\t<<set _desc3 = StarDescription.secondary($currentSystem.stars[3].traits)>>\n\t<<= $currentSystem.name>> is a quaternary system consisting of <<printDesc _desc0 true $currentSystem.stars[0]>>; <<printDesc _desc1 true $currentSystem.stars[1]>>; <<printDesc _desc2 true $currentSystem.stars[2]>>; and <<printDesc _desc3 true $currentSystem.stars[3]>>.\n\n<</if>>\n\n<<set _desc = StarDescription.systemTraits($contextTraits)>>\n<<printDesc _desc true $currentSystem.stars[0]>>\n\n<<if $planetNumber == -1>>\n\tThe <<shipName>> is orbiting on the outskirts of the system.\n<<elseif $currentSystem.planets[$planetNumber].traits.includes("pBelt")>>\n\tThe <<shipName>> is orbiting inside the <<= $currentSystem.planets[$planetNumber].name>>.\n<<elseif $currentSystem.planets[$planetNumber].traits.includes("pWormhole")>>\n\tThe <<shipName>> is orbiting the wormhole back to Chiron Base.\n<<else>>\n\tThe <<shipName>> is in orbit of <<= $currentSystem.planets[$planetNumber].name>>.\n<</if>>\n</p>\n\n/% List entry for star %/\n<<for _i = 0; _i < $currentSystem.stars.length; _i++>>\n\t<<starListEntry _i>>\n<</for>>\n<<for _i = 0; _i < $currentSystem.planets.length; _i++>>\n\t<<capture _i>>\n\t\t<<if $currentSystem.planets[_i].moonOf == -1>>\n\t\t\t<<planetListEntry _i>>\n\t\t\t<<for _m = 0; _m < $currentSystem.planets.length; _m++>>\n\t\t\t\t<<capture _m>>\n\t\t\t\t\t<<if $currentSystem.planets[_m].moonOf == _i>>\n\t\t\t\t\t\t<<planetListEntry _m>>\n\t\t\t\t\t<</if>>\n\t\t\t\t<</capture>>\n\t\t\t<</for>>\n\t\t<</if>>\n\t<</capture>>\n<</for>>\n\n<<if $planetNumber != -1>>\n\t@@.full-width-link;[[Cancel|Planet View]]@@\n<</if>>\n/%@@.full-width-link;[[Return to Chiron Base|Chiron Base]]@@%/\n\n\n\n<div class="debug-text">\n@@.full-width-link;<<linkreplace "DEBUG: Show full system data">>\n\t<<set _json = JSON.stringify($currentSystem, null, 1)>>\n\t<code><<= _json>></code>\n<</linkreplace>>@@\n</div>
<<widget planetListEntry>>\n\n\t<<set _planet = $currentSystem.planets[$args[0]]>>\n\t<<set _cssClass = "system-view-list-entry">>\n\t<<if $args[0] == $planetNumber>>\n\t\t<<set _cssClass += " menu-item-selected">>\n\t<</if>>\n\t<<if _planet.moonOf != -1>>\n\t\t<<set _cssClass += " system-view-list-entry-moon">>\n\t<</if>>\n\t\n\t<div @class="_cssClass">\n\t\t\n\t\t<div class="system-view-list-entry-nav-icon-container">\n\t\t\t<<if _planet.moonOf != -1>>\n\t\t\t\t<div class="system-view-list-entry-nav-icon-spacer"></div>\n\t\t\t<</if>>\n\t\t\t<<if $args[0] == $planetNumber>>\n\t\t\t\t<<iconWithTooltip "defense-satellite" "In orbit">>\n\t\t\t<<else>>\n\t\t\t\t<div class="system-view-list-entry-nav-icon-spacer"></div>\n\t\t\t<</if>>\n\t\t\t<<if _planet.traits.includes("pBelt")>>\n\t\t\t\t<<iconWithTooltip "gold-nuggets" "Asteroid belt">>\n\t\t\t<<elseif _planet.traits.includes("pMinorPlanet")>>\n\t\t\t\t<<iconWithTooltip "asteroid" "Minor planet">>\n\t\t\t<<elseif _planet.traits.includes("pTerrestrialPlanet")>>\n\t\t\t\t<<if _planet.traits.includes("pSmall")>>\n\t\t\t\t\t<<iconWithTooltip "world_small" "Small terrestrial planet">>\n\t\t\t\t<<elseif _planet.traits.includes("pMedium")>>\n\t\t\t\t\t<<iconWithTooltip "world_medium" "Medium terrestrial planet">>\n\t\t\t\t<<elseif _planet.traits.includes("pLarge")>>\n\t\t\t\t\t<<iconWithTooltip "world_large" "Large terrestrial planet">>\n\t\t\t\t<</if>>\n\t\t\t<<elseif _planet.traits.includes("pGasGiant")>>\n\t\t\t\t<<if _planet.traits.includes("pSmall")>>\n\t\t\t\t\t<<iconWithTooltip "jupiter_small" "Small gas giant">>\n\t\t\t\t<<elseif _planet.traits.includes("pMedium")>>\n\t\t\t\t\t<<iconWithTooltip "jupiter_medium" "Medium gas giant">>\n\t\t\t\t<<elseif _planet.traits.includes("pLarge")>>\n\t\t\t\t\t<<iconWithTooltip "jupiter_large" "Large gas giant">>\n\t\t\t\t<</if>>\n\t\t\t<<elseif _planet.traits.includes("pWormhole")>>\n\t\t\t\t<<iconWithTooltip "portal" "Gate">>\n\t\t\t<</if>>\n\t\t</div>\n\t\t<div class="system-view-list-entry-name-traits-container">\n\t\t\t<div class="system-view-list-entry-name-container">\n\t\t\t\t''<<= _planet.name>>''\n\t\t\t</div>\n\t\t\t<div class="system-view-list-entry-traits-container">\n\t\t\t\t\n\t\t\t\t/% If we've discovered life, civ, or meddling civ, add trait for icon %/\n\t\t\t\t<<if _planet.knownTraits.includesAny("plNotExtinct","psOrbitingSpaceWhale","psSpaceWhaleSwarm","psActuallyASpaceWhale")>>\n\t\t\t\t\t<<set _planet.knownTraits.pushUnique("psLifeDetected")>>\n\t\t\t\t<</if>>\n\t\t\t\t<<if _planet.knownTraits.includes("plExtinct")>>\n\t\t\t\t\t<<set _planet.knownTraits.pushUnique("psExtinctLifeDetected")>>\n\t\t\t\t<</if>>\n\t\t\t\t<<if _planet.knownTraits.includes("cNotExtinct")>>\n\t\t\t\t\t<<set _planet.knownTraits.pushUnique("psCivDetected")>>\n\t\t\t\t<</if>>\n\t\t\t\t<<if _planet.knownTraits.includes("cExtinct")>>\n\t\t\t\t\t<<set _planet.knownTraits.pushUnique("psExtinctCivDetected")>>\n\t\t\t\t<</if>>\n\t\t\t\t<<if _planet.knownTraits.includes("psMeddlingCiv")>>\n\t\t\t\t\t<<set _planet.knownTraits.pushUnique("psMeddlingCivDetected")>>\n\t\t\t\t<</if>>\n\t\t\t\t<<set _planet.knownTraits.sort(traitSort)>>\n\t\t\t\t<<for _t = 0; _t < _planet.knownTraits.length; _t++>>\n\t\t\t\t\t<<if "icon" in Traits[_planet.knownTraits[_t]]>>\n\t\t\t\t\t\t<<traitIcon _planet.knownTraits[_t]>>\n\t\t\t\t\t<</if>>\n\t\t\t\t<</for>>\n\t\t\t</div>\n\t\t</div>\n\t\t<div class="system-view-list-entry-button-container">\n\t\t\t<<if $args[0] == $planetNumber>>\n\t\t\t\t[[Return|Planet View]]\n\t\t\t<<else>>\n\t\t\t\t<<set _fuelCost = getInterplanetaryFuel($contextTraits, $planetNumber, $args[0])>>\n\t\t\t\t<<if $ship.fuel < _fuelCost && !_planet.traits.includesAny("pWormhole")>>\n\t\t\t\t\tNot enough fuel\n\t\t\t\t<<else>>\n\t\t\t\t\t<<link `"Travel (" + _fuelCost +"<img data-passage='atom' alt='Fuel'>)"` "Travel To Planet Start">>\n\t\t\t\t\t\t<<set $destinationPlanet = $args[0]>>\n\t\t\t\t\t<</link>>\n\t\t\t\t<</if>>\n\t\t\t<</if>>\n\t\t</div>\n\t</div>\n<</widget>>
/% $args[0] is the star object %/\n<<widget starListEntry>>\n\n\t<<set _star = $currentSystem.stars[$args[0]]>>\n\t<<set _css = "system-view-list-entry">>\n\t<<if $args[0] != 0>>\n\t\t<<set _css += " system-view-list-entry-moon">>\n\t<</if>>\n\t<div @class="_css">\n\t\t<div class="system-view-list-entry-nav-icon-container">\n\t\t\t/%<<= getStarIcon(_star.traits)>>%/\n\t\t\t<<starIcon _star.traits>>\n\t\t</div>\n\t\t<div class="system-view-list-entry-star-name-traits-container">\n\t\t\t<div class="system-view-list-entry-star-name-container">\n\t\t\t\t''<<= _star.name>>''\n\t\t\t</div>\n\n\t\t\t/% Show star trait icons. If this is primary, also show system trait icons %/\n\t\t\t<div class="system-view-list-entry-star-traits-container">\n\t\t\t\t<<set _traits = clone(_star.traits)>>\n\t\t\t\t<<if $args[0] == 0>>\n\t\t\t\t\t<<set _traits = _traits.concatUnique(clone($currentSystem.traits).delete("tAsteroids","tNebula"))>>\n\t\t\t\t\t<<set _traits.sort(traitSort)>>\n\t\t\t\t<</if>>\n\t\t\t\t<<for _t = 0; _t < _traits.length; _t++>>\n\t\t\t\t\t<<if "icon" in Traits[_traits[_t]]>>\n\t\t\t\t\t\t<<traitIcon _traits[_t]>>\n\t\t\t\t\t<</if>>\n\t\t\t\t<</for>>\n\t\t\t</div>\n\t\t</div>\n\t</div>\n<</widget>>
<<set _fuelCost = getInterplanetaryFuel($contextTraits, $planetNumber, $destinationPlanet)>>\n\n/%<<set $planetNumber = -1>>%/\n<<set $planetNumber = $destinationPlanet>>\n<<set $positionTrait = "xInterplanetary">>\n<<include [[Refresh Context Traits]]>>\n\n/% Clear record of events we've had this planet %/\n/% Any travel event we get will be the first new event %/\n<<set $lastEvents = []>>\n\n/% Deplete fuel %/\n<<set $ship.fuel-= _fuelCost>>\n\n<<addEventToQueue "Travel To Planet Passed Hazard">>\n\n<<if $ship.fuel < 0>>\n\t<<set $ship.fuel = 0>>\n\t<<addEventToQueue "Interplanetary Out Of Fuel Journey">>\n<<elseif visited() == 1>>\n\t<<addEventToQueue "StoryEvent First Interplanetary Journey">>\n<<else>>\n\t<<addEventFromListToQueue "interplanetary" start>>\n<</if>>\n<<includeNextEvent>>
<<set $planetNumber = $destinationPlanet>>\n/% <<set $currentSystem.planets[$planetNumber].visited = true>> %/\n\n/% Mark this planet as visited, and increment number of planets visited in the game %/\n<<if !$currentSystem.planets[$planetNumber].traits.includes("pVisited")>>\n\t<<set $currentSystem.planets[$planetNumber].traits.pushUnique("pVisited")>>\n\t<<if !$currentSystem.planets[$planetNumber].traits.includes("pWormhole")>>\n\t\t<<set $gameStats.bodiesVisited++>>\n\t<</if>>\n<</if>>\n\n/% Reveal all traits that are visible from orbit %/\n<<set _filterTraits = $currentSystem.planets[$planetNumber].traits.filter(traitNonSecretFilter)>>\n<<set $currentSystem.planets[$planetNumber].knownTraits = $currentSystem.planets[$planetNumber].knownTraits.concatUnique(_filterTraits)>>\n\n/% Clear record of events we've had this planet %/\n/% <<set $lastEvents = []>> %/\n\n<<include [[Planet View]]>>
<<set $planetNumber = -1>>\nThe <<shipName>> emerges from the wormhole at the edge of the <<= $currentSystem.name>> system.\n<br><br>\n<<include [[System View]]>>
/* Planet landing fuel is based on planet's gravity */\nwindow.getPlanetLandingFuel = function(traits) {\n\t\n\tif (traits.includes("pGravHigh")) {\n\t\treturn 6;\n\t} else if (traits.includes("pGravMedium")) {\n\t\treturn 4;\n\t} else if (traits.includes("pGravLow")) {\n\t\treturn 2;\n\t} else {\n\t\treturn 0;\n\t}\n}\n\n/* Interplanetary fuel is based on star's mass and the number of orbits between planets */\nwindow.getInterplanetaryFuel = function(traits, startPlanet, endPlanet) {\n\tvar startDistance = variables().currentSystem.planets[startPlanet].fuelDistance;\n\tvar endDistance = variables().currentSystem.planets[endPlanet].fuelDistance;\n\t\n\tvar distance = Math.abs(startDistance - endDistance);\n\tvar multiplier = variables().currentSystem.fuelMultiplier;\n\t\n\treturn Math.max( distance*multiplier, 1);\n\t\n}
window.EntityGenerator = {\n\n\t/* Generates an entity of type entityType (string), with startingTraits (array), and taking into account contextTraits (array) */\n\t/* Returns an array of traits */\n\tgenerateEntityTraits: function(entityType, startingTraits, contextTraits) {\n\t\t\n\t\t/* Define trait lists if they are not already defined */\n\t\tif (startingTraits === undefined) {\n\t\t\tstartingTraits = [];\n\t\t}\n\t\tif (contextTraits === undefined) {\n\t\t\tcontextTraits = [];\n\t\t}\n\t\tif (!(entityType in TraitSpawnGroups)) {\n\t\t\tconsole.error("No spawn group for entity type "+entityType);\n\t\t\treturn null;\n\t\t}\n\t\t\n\t\tvar entityTraits = clone(startingTraits);\n\t\t\n\t\t/* Get the trait spawn groups for this entity */\n\t\tvar spawnGroups = TraitSpawnGroups[entityType];\n\t\t/* Run through list of spawn groups */\n\t\tfor (var group = 0; group < spawnGroups.length; group++) {\n\n\t\t\t/* Randomly select number to add (will usually be 1) */\n\t\t\tvar min = 1;\n\t\t\tvar max = 1;\n\t\t\tif (spawnGroups[group].min) { min = spawnGroups[group].min }\n\t\t\tif (spawnGroups[group].max) { min = spawnGroups[group].max }\n\t\t\t\n\t\t\tvar numToAdd = 0;\n\t\t\ttry {\n\t\t\t\tnumToAdd = random(min, max);\n\t\t\t} catch (err) {\n\t\t\t\tconsole.error("Error in doSpawnGroup: " + err.message + ", min="+min+", max="+max);\n\t\t\t}\n\t\t\t\n\t\t\t/* Do the spawn group that many times */\n\t\t\t/* Must weight table afresh each time as weights can change based on what's added */\n\t\t\t\n\t\t\tfor (var n = 0; n < numToAdd; n++) {\n\t\t\t\tEntityGenerator.doSpawnGroup(entityTraits,contextTraits,spawnGroups[group]);\n\t\t\t}\n\t\t}\n\t\t\n\t\treturn entityTraits;\n\t\t\n\t},\n\t\n\tdoSpawnGroup: function(entityTraits, contextTraits, spawnGroup) {\n\t\t/* Modifies the entityTraits array according to the spawnGroup, taking into account contextTraits */\n\t\t/* entityTraits is the traits currently in the entity (e.g. planet) */\n\t\t/* contextTraits is the traits in the entity's context (e.g. the planet's star) */\n\t\t/* spawnGroup is the spawn group object */\n\t\t/* This code modifies the entityTraits array */\n\t\t/* Returns true if it made any changes to entityTraits, false otherwise */\n\t\t\n\t\tvar allContextTraits = contextTraits.concat(entityTraits);\n\t\t\n\t\tif ("checkIf" in spawnGroup) {\n\t\t\tif (!spawnGroup.checkIf(allContextTraits)) {\n\t\t\t\treturn false;\n\t\t\t}\n\t\t}\n\t\t\n\t\tvar changed = false;\n\t\t\n\t\tvar randomTable = [];\n\t\tvar cumulativeWeight = 0;\n\t\tif ("traits" in spawnGroup) {\n\t\t\tfor (var n = 0; n < spawnGroup.traits.length; n++) {\n\t\t\t\t/* Not actually trait name anym ore but an array of trait names */\n\t\t\t\tvar traitName = spawnGroup.traits[n].trait;\n\n\t\t\t\t/* Get chance for this trait */\n\t\t\t\tvar weight = spawnGroup.traits[n].getWeight(allContextTraits);\n\t\t\t\t\n\t\t\t\tif (!Number.isSafeInteger(weight)) {\n\t\t\t\t\tconsole.error("Trait "+traitName+" returned weight "+weight);\n\t\t\t\t\tweight = 0;\n\t\t\t\t}\n\t\t\t\t\n\t\t\t\t/* If it has positive weight, add it */\n\t\t\t\tif (weight > 0) {\n\t\t\t\t\tcumulativeWeight += weight;\n\t\t\t\t\trandomTable.push( { traitName: spawnGroup.traits[n].trait, rollUnder: cumulativeWeight });\n\t\t\t\t}\n\t\t\t}\n\t\t}\n\t\t\n\t\t/* Random table is now the list of traits along with the cumulative chance of each one, i.e. what we need to roll less than in order to add that one */\n\t\t\n\t\tif (cumulativeWeight == 0) {\n\t\t\t/* Impossible to add any of the traits */\n\t\t\t/* If this spawn group has a default trait, add that instead */\n\t\t\tif ("default" in spawnGroup) {\n\t\t\t\tEntityGenerator.addTraits(entityTraits, spawnGroup.default);\n\t\t\t\treturn true;\n\t\t\t}\n\t\t}\n\t\t\n\t\tvar outOf = cumulativeWeight-1;\n\t\t\n\t\t/* Roll to see which trait we add */\n\t\tvar roll = 0;\n\t\ttry {\n\t\t\troll = random(0, outOf);\n\t\t} catch (err) {\n\t\t\tconsole.error("Error in doSpawnGroup: " + err.message + ", outOf="+outOf+", cumulativeWeight="+cumulativeWeight);\n\t\t}\n\t\t\n\t\t/* Compare the roll to the table to see which trait we add */\n\t\tfor (var n = 0; n < randomTable.length; n++) {\n\t\t\tif (roll < randomTable[n].rollUnder) {\n\t\t\t\t/* Roll succeeds, adding trait */\n\t\t\t\t\n\t\t\t\tif (randomTable[n].traitName == "") {\n\t\t\t\t\t\t/* This may be an add nothing entry */\n\t\t\t\t\treturn false;\n\t\t\t\t}\n\t\t\t\t\n\t\t\t\t/*console.log("Adding traits: " + randomTable[n].traitName);*/\n\t\t\t\tEntityGenerator.addTraits(entityTraits, randomTable[n].traitName);\n\t\t\t\treturn true;\n\t\t\t}\n\t\t}\n\n\t\treturn false;\n\t},\n\t\n\taddTraits: function(entityTraits, newTraits) {\n\t\t/* Adds newTrait to entityTraits, and modifies it for any traits newTrait adds or removes */\n\t\t/* This code modifies the entityTraits array */\n\t\t/* This function recursively calls itself! */\n\t\t\n\t\t\n\t\t/* newTraits is either a string or an array of strings */\n\t\t\n\t\t/* Each string is the name of a trait. If it is prefaced with "-" it is a trait to remove. Otherwise it is a trait to add. */\n\t\t\n\t\tif (!Array.isArray(newTraits)) {\n\t\t\tnewTraits = [newTraits];\n\t\t}\n\t\t\n\t\tfor (var n = 0; n < newTraits.length; n++) {\n\t\t\tif (!(newTraits[n] in Traits) && !(newTraits[n].substr(1) in Traits) ) {\n\t\t\t\tconsole.error("Tried to add invalid trait " + newTraits[n]);\n\t\t\t\tcontinue;\n\t\t\t}\n\t\t\tentityTraits.pushUnique(newTraits[n]);\n\t\t}\n\n\t},\n\t\n\tapplyTraitRemoval: function(entityTraits) {\n\t\t/* Any traits in entityTraits that start with a "-" are actually anti-traits that should remove traits of the same name */\n\n\t\t/* Remove all "-" traits but remember them */\n\t\tvar antiTraits = entityTraits.deleteWith( function(trait) { return trait.startsWith("-"); } );\n\t\t\n\t\t/* Remove the "-" symbols */\n\t\tantiTraits.forEach( function(val, ind, arr) { arr[ind] = val.substr(1); } );\n\t\t\n\t\t/* Delete these traits from entityTraits */\n\t\tentityTraits.delete(antiTraits);\n\t\t\n\t\t/*console.log("Trait removal: Removed "+antiTraits+", new entityTraits: "+entityTraits);*/\n\t}\n}
window.StarSystemGenerator = {\n\t\n\t\n\tmakeInterstellarCivHomeSystems: function(civilisations, numberToMake) {\n\t\t\n\t\tvar interstellarCivHomeSystems = [];\n\t\t\n\t\t/* Make Gatebuilders first */\n\t\twhile (interstellarCivHomeSystems.length == 0) {\n\t\t\tvar system = StarSystemGenerator.randomSystem(civilisations, "gatebuilders");\n\t\t\tif (system.hasInterstellarCiv) {\n\t\t\t\tinterstellarCivHomeSystems.push(system);\n\t\t\t}\n\t\t}\n\n\t\t/* Make other systems */\n\t\t/* Generating a system should add exactly 1 civ to civilisations */\n\t\twhile (interstellarCivHomeSystems.length < numberToMake) {\n\t\t\tvar system = StarSystemGenerator.randomSystem(civilisations, true);\n\t\t\tif (system.hasInterstellarCiv) {\n\t\t\t\tinterstellarCivHomeSystems.push(system);\n\t\t\t}\n\t\t}\n\t\t\n\t\treturn interstellarCivHomeSystems;\n\n\t},\n\t\n\t/* Create and return a random system */\n\t/* If any planets have a native civ, add them to the civilisations array */\n\t/* If interstellarCivHomeSystem is not false, first created civ will be made interstellar */\n\t/* If interstellarCivHomeSystem is "gatebuilders", first created civ will also be the Gatebuilders */\n\t/* If firstSystem is true, this is the first system in the game, which has some restrictions on what can be generated */\n\trandomSystem: function(civilisations, interstellarCivHomeSystem, firstSystem) {\n\t\t\n\t\ttry {\n\t\t\t/* Name system */\n\t\t\t/*var name = oneOf(TextUtils.greekLetters) + " " + oneOf(TextUtils.greekLetters);*/\n\t\t\t\n\t\t\tvar systemName = variables().unusedStarNames.pluck();\n\t\t\tif (variables().unusedStarNames.length == 0) {\n\t\t\t\tvariables().unusedStarNames = clone(starNames);\n\t\t\t}\n\t\t\t\n\t\t\t\n\t\t\tvar systemTraits = [];\n\t\t\tvar stars = [];\n\t\t\t\n\t\t\tif (firstSystem) {\n\t\t\t\tsystemTraits.push("tFirstSystem");\n\t\t\t}\n\t\t\tif (interstellarCivHomeSystem) {\n\t\t\t\tsystemTraits.push("tInterstellarCivHomeSystem");\n\t\t\t}\n\t\t\tif (interstellarCivHomeSystem == "gatebuilders") {\n\t\t\t\tsystemTraits.push("tGatebuildersHomeSystem");\n\t\t\t}\n\t\t\t\n\t\t\t/* Create stars */\n\t\t\tvar numStars = oneOf([1,1,1,1,2,2,2,3,3,4]);\n\t\t\tfor (var n = 0; n < numStars; n++) {\n\t\t\t\tstars[n] = {\n\t\t\t\t\tname: "",\n\t\t\t\t\ttraits: []\n\t\t\t\t}\n\t\t\t\tstars[n].traits = EntityGenerator.generateEntityTraits("star",[],[]);\n\t\t\t\tEntityGenerator.applyTraitRemoval(stars[n].traits);\n\t\t\t\tsystemTraits = systemTraits.concatUnique( stars[n].traits.delete("tAsteroids","tNebula") );\n\t\t\t\tsystemTraits = systemTraits.concatUnique( clone(stars[n]).traits.delete("tSolarFlares","tBlackHole") );\n\t\t\t}\n\t\t\t/* Sort stars by mass */\n\t\t\tvar sortByMass = function(star1, star2) {\n\t\t\t\tvar score1 = 0;\n\t\t\t\tvar score2 = 0;\n\t\t\t\tif (star1.traits.includes("tMassHuge")) { score1 = 5; }\n\t\t\t\telse if (star1.traits.includes("tMassLarge")) { score1 = 4; }\n\t\t\t\telse if (star1.traits.includes("tMassMedium")) { score1 = 3; }\n\t\t\t\telse if (star1.traits.includes("tMassSmall")) { score1 = 2; }\n\t\t\t\telse if (star1.traits.includes("tMassTiny")) { score1 = 1; }\n\t\t\t\t\n\t\t\t\tif (star2.traits.includes("tMassHuge")) { score2 = 5; }\n\t\t\t\telse if (star2.traits.includes("tMassLarge")) { score2 = 4; }\n\t\t\t\telse if (star2.traits.includes("tMassMedium")) { score2 = 3; }\n\t\t\t\telse if (star2.traits.includes("tMassSmall")) { score2 = 2; }\n\t\t\t\telse if (star2.traits.includes("tMassTiny")) { score2 = 1; }\n\t\t\t\t\n\t\t\t\treturn score2 - score1;\n\t\t\t}\n\t\t\tstars.sort(sortByMass);\n\t\t\t\n\t\t\t/* Now they're in the correct order, give stars names. Also compile all their traits */\n\t\t\tvar allStarTraits = [];\n\t\t\tfor (var n = 0; n < numStars; n++) {\n\t\t\t\tif (numStars == 1) {\n\t\t\t\t\tstars[n].name = systemName;\n\t\t\t\t} else {\n\t\t\t\t\tstars[n].name = systemName + " " + TextUtils.greekLetters[n];\n\t\t\t\t}\n\t\t\t\tallStarTraits = allStarTraits.concatUnique(stars[n].traits);\n\t\t\t}\n\t\t\t\n\t\t\tvar systemAndPrimaryTraits = systemTraits.concatUnique(stars[0].traits);\n\t\t\t\n\t\t\t/* Set up numbering for planet names */\n\t\t\tvar planetNum = 1;\n\t\t\tvar beltNum = 1;\n\t\t\t\n\t\t\t/* Generate planets */\n\t\t\tvar planets = [];\n\t\t\tvar totalPlanets = 0;\n\t\t\tvar currentFuelDistance = 0;\n\t\t\t\n\t\t\t/* Zones are from inner (hot) to outer (cold) */\n\t\t\tvar orbitSizesByZone = [0,0,0,0,100];\n\t\t\t\n\t\t\t/* Relative size of zones is based on brightest star's luminosity */\n\t\t\t/* These should always add up to 100 */\n\t\t\tif (allStarTraits.includes("tLuminosityVeryBright")) {\n\t\t\t\torbitSizesByZone = [40,70,80,90,100];\n\t\t\t} else if (allStarTraits.includes("tLuminosityBright")) {\n\t\t\t\torbitSizesByZone = [30,55,75,90,100];\n\t\t\t} else if (allStarTraits.includes("tLuminosityMedium")) {\n\t\t\t\torbitSizesByZone = [20,40,60,80,100];\n\t\t\t} else if (allStarTraits.includes("tLuminosityDim")) {\n\t\t\t\torbitSizesByZone = [0,10,30,60,100];\n\t\t\t} else if (allStarTraits.includes("tLuminosityVeryDim")) {\n\t\t\t\torbitSizesByZone = [0,0,10,40,100];\n\t\t\t} else {\n\t\t\t\torbitSizesByZone = [0,0,0,0,100];\n\t\t\t}\n\t\t\t\n\t\t\t/* Total planets is based on heaviest star's mass */\n\t\t\tvar totalPlanets = 0;\n\t\t\tif (allStarTraits.includes("tMassHuge")) {\n\t\t\t\ttotalPlanets = random(6,9);\n\t\t\t} else if (allStarTraits.includes("tMassLarge")) {\n\t\t\t\ttotalPlanets = random(5,8);\n\t\t\t} else if (allStarTraits.includes("tMassMedium")) {\n\t\t\t\ttotalPlanets = random(4,7);\n\t\t\t} else if (allStarTraits.includes("tMassSmall")) {\n\t\t\t\ttotalPlanets = random(3,6);\n\t\t\t} else {\n\t\t\t\ttotalPlanets = random(2,5);\n\t\t\t}\n\t\t\t\n\t\t\t/* Assign planets to zones randomly using orbitSizesByZone as chance*/\n\t\t\tvar planetsPerZone = [0,0,0,0,0];\n\t\t\tfor (var n = 0; n < totalPlanets; n++) {\n\t\t\t\tvar position = random(0,99);\n\t\t\t\tif (position < orbitSizesByZone[0]) { planetsPerZone[0]++ }\n\t\t\t\telse if (position < orbitSizesByZone[1]) { planetsPerZone[1]++ }\n\t\t\t\telse if (position < orbitSizesByZone[2]) { planetsPerZone[2]++ }\n\t\t\t\telse if (position < orbitSizesByZone[3]) { planetsPerZone[3]++ }\n\t\t\t\telse { planetsPerZone[4]++ }\n\t\t\t}\n\t\t\t\n\t\t\t/* Determine position of wormhole - random, weighted towards outer system*/\n\t\t\tvar wormholeZone = either(2,3,3,3,4,4,4,4,4,4,4,4,4);\n\t\t\tvar wormholePosition = random(planetsPerZone[wormholeZone]);\n\t\t\tplanetsPerZone[wormholeZone]++;\n\t\t\t\n\t\t\tvar first = true;\n\t\t\tfor (var zone = 0; zone < 5; zone++) {\n\t\t\t\t/* Each zone corresponds to a temperature */\n\t\t\t\tvar temp = "pTempVeryCold";\n\t\t\t\tswitch (zone) {\n\t\t\t\t\tcase 4:\ttemp = "pTempVeryCold";\tbreak;\n\t\t\t\t\tcase 3:\ttemp = "pTempCold";\tbreak;\n\t\t\t\t\tcase 2:\ttemp = "pTempGoldilocks";\tbreak;\n\t\t\t\t\tcase 1:\ttemp = "pTempHot";\tbreak;\n\t\t\t\t\tcase 0:\ttemp = "pTempVeryHot";\tbreak;\n\t\t\t\t}\n\n\t\t\t\tfor (var p = 0; p < planetsPerZone[zone]; p++) {\n\t\t\t\t\t/* Add wormhole after this planet if this is the place for it */\n\t\t\t\t\tif (zone == wormholeZone && p == wormholePosition) {\n\t\t\t\t\t\tcurrentFuelDistance++;\n\t\t\t\t\t\tvar wormhole = {\n\t\t\t\t\t\t\tname: systemName + " Gate",\n\t\t\t\t\t\t\ttraits: ["pWormhole"],\n\t\t\t\t\t\t\texploredTraits: [],\n\t\t\t\t\t\t\tmoonOf: -1,\n\t\t\t\t\t\t\tnativeCiv: -1,\n\t\t\t\t\t\t\tinterstellarCiv: -1,\n\t\t\t\t\t\t\tfuelDistance: currentFuelDistance\n\t\t\t\t\t\t}\n\t\t\t\t\t\tplanets.push(wormhole);\n\t\t\t\t\t} else {\n\t\t\t\t\t\tvar planetStartingTraits = [temp];\n\t\t\t\t\t\tif (first) {\n\t\t\t\t\t\t\tplanetStartingTraits.push("pCloseOrbit");\n\t\t\t\t\t\t\tfirst = false;\n\t\t\t\t\t\t}\n\t\t\t\t\t\t\n\t\t\t\t\t\tcurrentFuelDistance++;\n\t\t\t\t\t\t\n\t\t\t\t\t\t/* Generate planet */\n\t\t\t\t\t\tvar planet = StarSystemGenerator.randomPlanet(systemAndPrimaryTraits,planetStartingTraits);\n\t\t\t\t\t\tplanet.moonOf = -1;\n\t\t\t\t\t\tplanet.fuelDistance = currentFuelDistance;\n\t\t\t\t\t\t\n\t\t\t\t\t\t/* Name planet */\n\t\t\t\t\t\tif (planet.traits.includes("pBelt")) {\n\t\t\t\t\t\t\tplanet.name = systemName + " Asteroid Belt " + TextUtils.moonLetter(beltNum).toUpperCase();\n\t\t\t\t\t\t\tbeltNum++;\n\t\t\t\t\t\t} else if (planet.traits.includes("pMinorPlanet")) {\n\t\t\t\t\t\t\tplanet.name = systemName + " " + random(1000,9999);\n\t\t\t\t\t\t} else {\n\t\t\t\t\t\t\tplanet.name = systemName + " " + TextUtils.romanNumeral(planetNum);\n\t\t\t\t\t\t\tplanetNum++;\n\t\t\t\t\t\t}\n\t\t\t\t\t\t\n\t\t\t\t\t\t/* Add planet to system */\n\t\t\t\t\t\tplanets.push(planet);\n\t\t\t\t\t\tvar planetIndex = planets.length-1;\n\t\t\t\t\t\t\n\t\t\t\t\t\t/* Determine number of moons and possible moon sizes*/\n\t\t\t\t\t\tvar numMoons = 0;\n\t\t\t\t\t\tvar moonSizes = [];\n\t\t\t\t\t\tif (planet.traits.includesAll("pTerrestrialPlanet", "pMedium")) {\n\t\t\t\t\t\t\tnumMoons = oneOf(0,0,0,0,1);\n\t\t\t\t\t\t\tmoonSizes = ["pSmall"];\n\t\t\t\t\t\t} else if (planet.traits.includesAll("pTerrestrialPlanet", "pLarge")) {\n\t\t\t\t\t\t\tnumMoons = oneOf(0,0,1,1,2);\n\t\t\t\t\t\t\tmoonSizes = ["pSmall","pSmall","pMedium"];\n\t\t\t\t\t\t} else if (planet.traits.includesAll("pGasGiant", "pSmall")) {\n\t\t\t\t\t\t\tnumMoons = oneOf(0,0,0,0,1);\n\t\t\t\t\t\t\tmoonSizes = ["pSmall","pSmall","pMedium"];\n\t\t\t\t\t\t} else if (planet.traits.includesAll("pGasGiant", "pMedium")) {\n\t\t\t\t\t\t\tnumMoons = oneOf(0,0,1,1,2);\n\t\t\t\t\t\t\tmoonSizes = ["pSmall","pSmall","pMedium"];\n\t\t\t\t\t\t} else if (planet.traits.includesAll("pGasGiant", "pLarge")) {\n\t\t\t\t\t\t\tnumMoons = oneOf(0,0,1,2,3);\n\t\t\t\t\t\t\tmoonSizes = ["pSmall","pMedium"];\n\t\t\t\t\t\t}\n\t\t\t\t\t\t\n\t\t\t\t\t\tfor (var m = 0; m < numMoons; m++) {\n\t\t\t\t\t\t\tvar moonStartingTraits = ["pIsMoon",temp,oneOf(moonSizes)];\n\t\t\t\t\t\t\tif (m == 0) { moonStartingTraits.push("pCloseOrbit"); }\n\t\t\t\t\t\t\tvar moon = StarSystemGenerator.randomPlanet(systemAndPrimaryTraits,moonStartingTraits);\n\t\t\t\t\t\t\tmoon.moonOf = planetIndex;\n\t\t\t\t\t\t\tmoon.name = planet.name + TextUtils.moonLetter(m+1);\n\t\t\t\t\t\t\tmoon.fuelDistance = currentFuelDistance;\n\t\t\t\t\t\t\tplanets.push(moon);\n\t\t\t\t\t\t}\n\t\t\t\t\t}\n\t\t\t\t}\n\t\t\t}\n\t\t\t\n\t\t\t/* Civilisations */\n\t\t\t/* For each planet in the system, random chance of spawning a civ */\n\t\t\t/* If one is spawned, generate a civ and add it to the civs master list */\n\t\t\t/* If not, run either physical secrets or life secrets again */\n\t\t\t/* If the civ is interplanetary, also add civ traces on other planets in the system */\n\t\t\t/* If we're generating an interstellar civ home system, only generate one civ and generate that one as interstellar */\n\t\t\t\n\t\t\tvar madeInterstellarCiv = false;\n\t\t\tvar interstellarCivIndex = -1;\n\t\t\tfor (var p = 0; p < planets.length; p++) {\n\t\t\t\tif (madeInterstellarCiv) {\n\t\t\t\t\t/* If this is an interstellar civ home system and we've made a civ, break out of loop--we only want one */\n\t\t\t\t\tbreak;\n\t\t\t\t}\n\t\t\t\tplanets[p].traits = EntityGenerator.generateEntityTraits("maybeCiv",planets[p].traits,systemAndPrimaryTraits);\n\t\t\t\t\n\t\t\t\tif (planets[p].traits.includesAll("psCiv")) {\n\n\t\t\t\t\t/* If planet is marked has having a civ, generate the civ */\n\t\t\t\t\tvar civ = {\n\t\t\t\t\t\tname: "",\n\t\t\t\t\t\ttraits: [],\n\t\t\t\t\t\tknownTraits: []\n\t\t\t\t\t}\n\t\t\t\t\tvar nameList = alienNames.random();\n\t\t\t\t\tvar names = nameList.randomMany(2);\n\t\t\t\t\t\n\t\t\t\t\tciv.civName = names[0];\n\t\t\t\t\tciv.civPlanetName = names[1];\n\t\t\t\t\t\n\t\t\t\t\tvar civTraits;\n\t\t\t\t\t/* If this is an interstellar civ home system, don't generate more than one civ */\n\t\t\t\t\tif (interstellarCivHomeSystem && !madeInterstellarCiv) {\n\t\t\t\t\t\tif (interstellarCivHomeSystem == "gatebuilders") {\n\t\t\t\t\t\t\tcivTraits = EntityGenerator.generateEntityTraits("civilisation",["ctInterstellar","cDontRemove","icGatebuilders"],planets[p].traits.concat(systemAndPrimaryTraits));\n\t\t\t\t\t\t} else {\n\t\t\t\t\t\t\tcivTraits = EntityGenerator.generateEntityTraits("civilisation",["ctInterstellar","cDontRemove"],planets[p].traits.concat(systemAndPrimaryTraits));\n\t\t\t\t\t\t}\n\t\t\t\t\t\t/*civ.homeSystemIndex = thisSystemIndex;*/\n\t\t\t\t\t\tmadeInterstellarCiv = true;\n\n\t\t\t\t\t} else {\n\t\t\t\t\t\tcivTraits = EntityGenerator.generateEntityTraits("civilisation",[],planets[p].traits.concat(systemAndPrimaryTraits));\n\t\t\t\t\t}\n\t\t\t\t\tEntityGenerator.applyTraitRemoval(civTraits);\n\t\t\t\t\t\n\t\t\t\t\t/*console.log("Generated civ for planet "+planets[p].name+": "+civTraits); */\n\t\t\t\t\t\n\t\t\t\t\t\n\t\t\t\t\t// if (civTraits.includes("cExtinct") && civTraits.includesAny("ctNonToolUsing","ctPaleolithic","ctMeolithic")) {\n\t\t\t\t\t\t// planets[p].traits.delete("psCiv");\n\t\t\t\t\t// } else {\n\t\t\t\t\tciv.traits = civTraits;\n\t\t\t\t\t/* Add these traits to the planet also */\n\t\t\t\t\tplanets[p].traits = planets[p].traits.concatUnique(civTraits);\n\t\t\t\t\t\n\t\t\t\t\tplanets[p].civPlanetName = civ.civPlanetName;\n\n\t\t\t\t\t/* Add new civ to civs list */\n\t\t\t\t\tvar newCivIndex = civilisations.push(civ) - 1;\n\t\t\t\t\t/*console.log("New civ in list is "+civilisations[newCivIndex].traits);*/\n\n\t\t\t\t\t/* Set this planet's native civ to the new civ */\n\t\t\t\t\tplanets[p].nativeCiv = newCivIndex;\n\t\t\t\t\t\n\t\t\t\t\t/* If this is an interstellar civ home system, remember the index */\n\t\t\t\t\tif (interstellarCivHomeSystem) {\n\t\t\t\t\t\tinterstellarCivIndex = newCivIndex;\n\t\t\t\t\t}\n\n\t\t\t\t\t\t\n\t\t\t\t} else if (!planets[p].traits.includes("pWormhole")) {\n\t\t\t\t\t/* If no civ, run either life secrets or physical secrets again so planets have a consistent number of explorable traits */\n\t\t\t\t/* If we have life of any kind, run life traits, otherwise run physical secrets again */\n\t\t\t\t\tif (planets[p].traits.includes("psLifeMicrobes") && random(0,1)==0) {\n\t\t\t\t\t\tplanets[p].traits = EntityGenerator.generateEntityTraits("visibleLifeSigns",planets[p].traits,systemAndPrimaryTraits);\n\t\t\t\t\t\t\n\t\t\t\t\t} else {\n\t\t\t\t\t\tplanets[p].traits = EntityGenerator.generateEntityTraits("visibleLifeSigns",planets[p].traits,systemAndPrimaryTraits);\n\t\t\t\t\t}\n\t\t\t\t\t\n\t\t\t\t\t/* Life traits may have added a civ (intelligent life), if so the system generator code will handle adding that */\n\n\t\t\t\t\tEntityGenerator.applyTraitRemoval(planets[p].traits);\n\t\t\t\t}\n\t\t\t}\n\t\t\t\n\n\t\t\t/* 1/2 chance of system having an alien visitor */\n\t\t\t/* Only if planet has no existing spacefaring civ */\n\t\t\t/* Get list of interstellar civs (excluding Gatebuilders) */\n\t\t\tvar interstellarCivIndexes = [];\n\t\t\tfor (var n = 1; n < civilisations.length; n++) {\n\t\t\t\tif (civilisations[n].traits.includes("ctInterstellar")) {\n\t\t\t\t\tinterstellarCivIndexes.push(n);\n\t\t\t\t}\n\t\t\t}\n\n\t\t\tvar visitors = [];\n\t\t\t\n\t\t\tif (interstellarCivIndex != -1) {\n\t\t\t\tvisitors = [interstellarCivIndex];\n\t\t\t} else if (interstellarCivIndexes.length >= 3) {\n\t\t\t\tvar numVisitors = either(0,0,0,0,0,0,1,2,3);\n\t\t\t\tvisitors = interstellarCivIndexes.randomMany(numVisitors);\n\t\t\t}\t\t\t\t\n\t\t\tif (visitors.length > 0) {\n\t\t\t\tfor (var p = 0; p < planets.length; p++) {\n\t\t\t\t\tif (!planets[p].traits.includesAny("ctSpacefaring","pWormhole") && planets[p].interstellarCiv == -1) {\n\t\t\t\t\t\tvar interstellarCiv = oneOf(visitors);\n\t\t\t\t\t\tvar civTraits = civilisations[interstellarCiv].traits;\n\t\t\t\t\t\tvar interstellarCivTraces = EntityGenerator.generateEntityTraits("meddlingCivTraces",[],planets[p].traits.concatUnique(civTraits,systemTraits));\n\t\t\t\t\t\tif (interstellarCivTraces.length > 0) {\n\t\t\t\t\t\t\tplanets[p].interstellarCiv = interstellarCiv;\n\t\t\t\t\t\t\tplanets[p].traits = planets[p].traits.concatUnique(interstellarCivTraces);\n\t\t\t\t\t\t\tplanets[p].traits.push("psMeddlingCiv");\n\t\t\t\t\t\t\tEntityGenerator.applyTraitRemoval(planets[p].traits);\n\t\t\t\t\t\t\tsystemTraits.pushUnique("tGatewayUsed");\n\t\t\t\t\t\t}\n\t\t\t\t\t}\n\t\t\t\t}\n\t\t\t}\n\t\t\t\n\t\t\tfor (var p = 0; p < planets.length; p++) {\n\t\t\t\t/* Add visible life and civ signs */\n\t\t\t\tif (planets[p].traits.includes("psLife")) {\n\t\t\t\t\tplanets[p].traits = EntityGenerator.generateEntityTraits("visibleLifeSigns",planets[p].traits,systemAndPrimaryTraits);\n\t\t\t\t}\n\t\t\t\tif (planets[p].traits.includes("psCiv")) {\n\t\t\t\t\tplanets[p].traits = EntityGenerator.generateEntityTraits("visibleCivSigns",planets[p].traits,systemAndPrimaryTraits);\n\t\t\t\t}\n\t\t\t\tEntityGenerator.applyTraitRemoval(planets[p].traits);\n\t\t\t\t\n\t\t\t\t\n\t\t\t\t/* If we failed to add any visible life or civ signs, add generic ones */\n\t\t\t\tif (planets[p].traits.includes("psLife") && !planets[p].traits.some(function(trait) { return Traits[trait].canReveal && Traits[trait].canReveal.includes("psLife")} )) {\n\t\t\t\t\tplanets[p].traits.pushUnique("psChemicalLifeSigns","pPossibleChemicalLifeSigns");\n\t\t\t\t}\n\t\t\t\tif (planets[p].traits.includes("psCiv") && !planets[p].traits.some(function(trait) { return Traits[trait].canReveal && Traits[trait].canReveal.includes("psCiv")} )) {\n\t\t\t\t\tplanets[p].traits.pushUnique("psGenericArtificialSigns","pPossibleArtificialTraces");\n\t\t\t\t}\n\t\t\t\t\n\t\t\t\t\n\t\t\t\t/* Add "detected" traits for advanced scanners to pick up */\n\t\t\t\tif (planets[p].traits.includesAny("plNotExtinct","psOrbitingSpaceWhale","psSpaceWhaleSwarm","psActuallyASpaceWhale")) {\n\t\t\t\t\tplanets[p].traits.pushUnique("psLifeDetected");\n\t\t\t\t\tsystemTraits.pushUnique("tLifeDetected");\n\t\t\t\t}\n\t\t\t\tif (planets[p].traits.includesAny("plExtinct")) {\n\t\t\t\t\tplanets[p].traits.pushUnique("psExtinctLifeDetected");\n\t\t\t\t\tsystemTraits.pushUnique("tExtinctLifeDetected");\n\t\t\t\t}\n\t\t\t\tif (planets[p].traits.includesAny("cNotExtinct")) {\n\t\t\t\t\tplanets[p].traits.pushUnique("psCivDetected");\n\t\t\t\t\tsystemTraits.pushUnique("tCivDetected");\n\t\t\t\t}\n\t\t\t\tif (planets[p].traits.includesAny("cExtinct")) {\n\t\t\t\t\tplanets[p].traits.pushUnique("psExtinctCivDetected");\n\t\t\t\t\tsystemTraits.pushUnique("tExtinctCivDetected");\n\t\t\t\t}\n\t\t\t\tif (planets[p].traits.includesAny("psMeddlingCiv")) {\n\t\t\t\t\tplanets[p].traits.pushUnique("psMeddlingCivDetected");\n\t\t\t\t\tsystemTraits.pushUnique("tGatewayUsed");\n\t\t\t\t}\n\t\t\t}\n\t\t\t\n\t\t\t\n\t\t\t/* System fuel multiplier is based on mass of largest star */\n\t\t\tvar fuelMultiplier = 1;\n\t\t\tif (allStarTraits.includes("tMassHuge")) {\n\t\t\t\tfuelMultiplier = 5;\n\t\t\t} else if (allStarTraits.includes("tMassLarge")) {\n\t\t\t\tfuelMultiplier = 4;\n\t\t\t} else if (allStarTraits.includes("tMassMedium")) {\n\t\t\t\tfuelMultiplier = 3;\n\t\t\t} else if (allStarTraits.includes("tMassSmall")) {\n\t\t\t\tfuelMultiplier = 2;\n\t\t\t} else {\n\t\t\t\tfuelMultiplier = 1;\n\t\t\t}\n\t\t\t\n\t\t\tvar system = {\n\t\t\t\tname: systemName,\n\t\t\t\tstars: stars,\n\t\t\t\ttraits: systemTraits,\n\t\t\t\tplanets: planets,\n\t\t\t\thasInterstellarCiv: madeInterstellarCiv,\n\t\t\t\tfuelMultiplier: fuelMultiplier\n\t\t\t}\n\t\t\t\n\t\t\tStarSystemGenerator.checkValid(system);\n\t\t\t\n\t\t\treturn system;\n\t\t\t\n\t\t} catch (err) {\n\t\t\tconsole.error("Error in randomSystem: " + err.message + ", " + err.stack);\n\t\t}\n\t},\n\t\n\trandomPlanet: function(systemTraits, planetTraits) {\n\t\tvar planet = {\n\t\t\tname: "",\n\t\t\ttraits: [],\n\t\t\tknownTraits: [],\n\t\t\texploredTraits: [],\n\t\t\tnativeCiv: -1,\n\t\t\tinterstellarCiv: -1\n\t\t}\n\n\t\t/* Generate base planet */\n\t\tplanet.traits = EntityGenerator.generateEntityTraits("planet",planetTraits,systemTraits);\n\t\t\n\t\t/* Terrestrial planets must have two explorable traits, gas giants must have one, other bodies can have none */\n\t\t\n\t\t/* Run physical secrets once */\n\t\tif (planet.traits.includesAny("pTerrestrialPlanet","pGasGiant")) {\n\t\t\tplanet.traits = EntityGenerator.generateEntityTraits("planetPhysicalSecrets",planet.traits,systemTraits.concatUnique(["mustAddSomething"]));\n\t\t} else {\n\t\t\tplanet.traits = EntityGenerator.generateEntityTraits("planetPhysicalSecrets",planet.traits,systemTraits);\n\t\t}\n\t\t\n\t\t/* Run life -- this may or may not spawn life */\n\t\tplanet.traits = EntityGenerator.generateEntityTraits("planetLife",planet.traits,systemTraits);\n\t\t\n\t\t/* If it didn't spawn life, run physical secrets again to generate same number of traits */\n\t\tif (!planet.traits.includes("psLife")) {\n\t\t\tplanet.traits = EntityGenerator.generateEntityTraits("planetPhysicalSecrets",planet.traits,systemTraits.concatUnique(["mustAddSomething"]));\n\t\t}\n\t\t\n\t\t/* Life traits may have added a civ (intelligent life), if so the system generator code will handle adding that */\n\n\t\tEntityGenerator.applyTraitRemoval(planet.traits);\n\t\treturn planet;\n\n\t},\n\n\tcheckValid: function(system) {\n\t\tvar valid = true;\n\t\tfor (var p = 0; p < system.planets.length; p++) {\n\t\t\tfor (var t = 0; t < system.planets[p].traits.length; t++) {\n\t\t\t\tif (!(system.planets[p].traits[t] in Traits)) {\n\t\t\t\t\tvalid = false;\n\t\t\t\t\tconsole.error("checkValid: Unrecognised trait: "+system.planets[p].traits[t]);\n\t\t\t\t}\n\t\t\t}\n\t\t}\n\t\treturn valid;\n\t}\n\t\n\n}
/* TRAIT SPAWN GROUPS */\n/* Used by universe generator */\n\n/* Each property of TraitSpawnGroups is named after a type of entity and contains an array of spawn groups for that entity */\n/* Each spawn group is an object containing: */\n/* Group name */\n/* Min and max traits to add */\n/* Array of trait spawn chance objects */\n\nwindow.TraitSpawnGroups = {\n\tstar: [\n\t\t{\t\t/* Size */\n\t\t\tmin: 1, max: 1,\n\t\t\ttraits: [\n\t\t\t\t{ trait: "tSizeHypergiant", \t\tgetWeight: function() { return 1 }},\n\t\t\t\t{ trait: "tSizeSupergiant", \t\tgetWeight: function() { return 1 }},\n\t\t\t\t{ trait: "tSizeGiant", \t\t\t\tgetWeight: function() { return 1 }},\n\t\t\t\t{ trait: "tSizeSubgiant", \t\t\tgetWeight: function() { return 1 }},\n\t\t\t\t{ trait: "tSizeMainSequence",\t\tgetWeight: function() { return 5 }},\n\t\t\t\t{ trait: "tSizeDwarf", \t\t\t\tgetWeight: function() { return 5 }},\n\t\t\t\t{ trait: "tWhiteDwarf", \t\t\tgetWeight: function() { return 2 }},\n\t\t\t\t{ trait: "tBlackHole",\n\t\t\t\t\tgetWeight: function(context) {\n\t\t\t\t\t\tif (context.includesAny("tFirstSystem")) { return 0; }\n\t\t\t\t\t\telse {return 1 }} },\n\t\t\t\t{ trait: "tNeutronStar",\n\t\t\t\t\tgetWeight: function(context) {\n\t\t\t\t\t\tif (context.includesAny("tFirstSystem")) { return 0; }\n\t\t\t\t\t\telse {return 1 }} },\n\t\t\t\t{ trait: "tPulsar",\n\t\t\t\t\tgetWeight: function(context) {\n\t\t\t\t\t\tif (context.includesAny("tFirstSystem")) { return 0; }\n\t\t\t\t\t\telse {return 1 }} }\n\t\t\t\t]\n\t\t},{\t\t/* Colour */\n\t\t\tmin: 1, max: 1,\n\t\t\tcheckIf: function(context) { return !context.includesAny("tBlackHole","tNeutronStar","tPulsar","tWhiteDwarf"); },\n\t\t\ttraits: [\n\t\t\t\t{ trait: "tColourBlue", \t\t\tgetWeight: function(context) { if (context.includesAny("tSizeDwarf")) { return 0; } else { return 1}}},\n\t\t\t\t{ trait: "tColourBlueWhite", \t\tgetWeight: function(context) { if (context.includesAny("tSizeDwarf")) { return 0; } else { return 1}}},\n\t\t\t\t{ trait: "tColourWhite", \t\t\tgetWeight: function(context) { if (context.includesAny("tSizeDwarf")) { return 0; } else { return 1}}},\n\t\t\t\t{ trait: "tColourYellowWhite",\t \tgetWeight: function(context) { if (context.includesAny("tSizeDwarf")) { return 0; } else { return 1}}},\n\t\t\t\t{ trait: "tColourYellow", \t\t\tgetWeight: function(context) { if (context.includesAny("tSizeDwarf")) { return 0; } else { return 2}}},\n\t\t\t\t{ trait: "tColourOrange", \t\t\tgetWeight: function(context) { if (context.includesAny("tSizeMainSequence")) { return 0; } else { return 2}}},\n\t\t\t\t{ trait: "tColourRed",\t\t\t\tgetWeight: function(context) { if (context.includesAny("tSizeMainSequence")) { return 0; } else { return 2}}},\n\t\t\t\t]\n\t\t},{ \t/* Mass */\n\t\t\tmin: 1, max: 1,\n\t\t\ttraits: [\n\t\t\t\t{ trait: "tMassHuge", \t\t\t\tgetWeight: function(context) { if (context.includesAny("tSizeHypergiant","tSizeSupergiant","tSizeGiant","tBlackHole")) { return 1; }else{ return 0;} }},\n\t\t\t\t{ trait: "tMassLarge", \t\t\t\tgetWeight: function(context) { if (context.includesAny("tSizeGiant","tSizeSubgiant","tSizeMainSequence","tBlackHole","tNeutronStar","tPulsar")) { return 1; }else{ return 0;} }},\n\t\t\t\t{ trait: "tMassMedium", \t\t\tgetWeight: function(context) { if (context.includesAny("tSizeSubgiant","tSizeMainSequence","tSizeDwarf","tBlackHole","tWhiteDwarf")) { return 1; }else{ return 0;} }},\n\t\t\t\t{ trait: "tMassSmall",\t\t\t\tgetWeight: function(context) { if (context.includesAny("tSizeMainSequence","tSizeDwarf","tBlackHole","tWhiteDwarf")) { return 1; }else{ return 0;} }},\n\t\t\t\t{ trait: "tMassTiny", \t\t\t\tgetWeight: function(context) { if (context.includesAny("tSizeDwarf","tWhiteDwarf")) { return 1; }else{ return 0;} }}\n\t\t\t\t]\n\t\t},{\t\t/* Luminosity */\n\t\t\tmin: 1, max: 1,\n\t\t\ttraits: [\n\t\t\t\t{ trait: "tLuminosityVeryBright",\n\t\t\t\t\tgetWeight: function(context) {\n\t\t\t\t\t\tif (context.includesAny("tSizeHypergiant","tSizeSupergiant","tSizeGiant","tSizeSubgiant")) { return 1; }\n\t\t\t\t\t\telse if (context.includes("tSizeMainSequence","tSizeDwarf") && context.includesAny("tColourBlue","tColourBlueWhite","tColourWhite")) { return 1; }\n\t\t\t\t\t\telse { return 0;} }},\n\t\t\t\t{ trait: "tLuminosityBright", \n\t\t\t\t\tgetWeight: function(context) {\n\t\t\t\t\t\tif (context.includesAny("tSizeSupergiant","tSizeGiant","tSizeSubgiant")) { return 1; }\n\t\t\t\t\t\telse if (context.includesAny("tSizeMainSequence","tSizeDwarf") && context.includesAny("tColourBlueWhite","tColourWhite","tColourYellowWhite")) { return 1; }\n\t\t\t\t\t\telse { return 0;} }},\n\t\t\t\t{ trait: "tLuminosityMedium", \n\t\t\t\t\tgetWeight: function(context) {\n\t\t\t\t\t\tif (context.includesAny("tSizeMainSequence","tSizeDwarf") && context.includesAny("tColourWhite","tColourYellowWhite","tColourYellow")) { return 1; }\n\t\t\t\t\t\telse { return 0;} }},\n\t\t\t\t{ trait: "tLuminosityDim",\n\t\t\t\t\tgetWeight: function(context) {\n\t\t\t\t\t\tif (context.includesAny("tNeutronStar","tPulsar")) { return 1; }\n\t\t\t\t\t\telse if (context.includesAny("tSizeMainSequence","tSizeDwarf") && context.includesAny("tColourYellowWhite","tColourYellow","tColourOrange")) { return 1; }\n\t\t\t\t\t\telse { return 0;} }},\n\t\t\t\t{ trait: "tLuminosityVeryDim",\n\t\t\t\t\tgetWeight: function(context) {\n\t\t\t\t\t\tif (context.includesAny("tNeutronStar","tPulsar","tBlackHole","tWhiteDwarf")) { return 1; }\n\t\t\t\t\t\telse if (context.includesAny("tSizeMainSequence","tSizeDwarf") && context.includesAny("tColourYellow","tColourOrange","tColourRed")) { return 1; }\n\t\t\t\t\t\telse { return 0;} }}\n\t\t\t\t]\n\t\t},{\t\t/* System hazards */\n\t\t\tmin: 1, max: 2,\n\t\t\ttraits: [\n\t\t\t\t{ trait: "tAsteroids",\t\t\t\tgetWeight: function() { return 10 }},\n\t\t\t\t{ trait: "tSolarFlares",\n\t\t\t\t\tgetWeight: function(context) {\n\t\t\t\t\t\tif (context.includesAny("tBlackHole")) { return 0; }\n\t\t\t\t\t\telse if (context.includesAny("tNeutronStar")) { return 100; }\n\t\t\t\t\t\telse if (context.includesAny("tPulsar")) { return 1000; }\n\t\t\t\t\t\telse { return 10 }}},\n\t\t\t\t{ trait: "tNebula",\t\t \t\t\tgetWeight: function() { return 10 }},\n\t\t\t\t{ trait: "", \t\t\t\t\t\tgetWeight: function() { return 100 }}\n\t\t\t\t]\n\t\t}\n\t],\n\tplanet: [\n\t\t{\t\t/* Planet type */\n\t\t\t\t/* Temperature has already been set */\n\t\t\tmin: 1, max: 1,\n\t\t\ttraits: [\n\t\t\t\t\t/* Basic planet types */\n\t\t\t\t{ trait: "pTerrestrialPlanet",\n\t\t\t\t\tgetWeight: function(context) { return 100 }},\n\t\t\t\t{ trait: "pGasGiant",\n\t\t\t\t\tgetWeight: function(context) {\n\t\t\t\t\t\tif (context.includesAny("pIsMoon")){return 0;}\n\t\t\t\t\t\telse if (context.includesAny("pTempVeryHot")) { return 10; }\n\t\t\t\t\t\telse if (context.includesAny("pTempHot")) { return 20; }\n\t\t\t\t\t\telse if (context.includesAny("pTempGoldilocks")) { return 50; }\n\t\t\t\t\t\telse if (context.includesAny("pTempCold")) { return 100; }\n\t\t\t\t\t\telse if (context.includesAny("pTempVeryCold")) { return 100; }\n\t\t\t\t\t\telse { return 100;} }},\n\t\t\t\t{ trait: "pMinorPlanet",\n\t\t\t\t\tgetWeight: function(context) {\n\t\t\t\t\t\tif (context.includesAny("pIsMoon")){return 50;}\n\t\t\t\t\t\telse if (context.includesAny("tAsteroids")) { return 100; }\n\t\t\t\t\t\telse { return 10; }} },\n\t\t\t\t{ trait: "pBelt",\n\t\t\t\t\tgetWeight: function(context) {\n\t\t\t\t\t\tif (context.includesAny("pIsMoon")) { return 0; }\n\t\t\t\t\t\telse if (context.includesAny("tAsteroids")) { return 100; }\n\t\t\t\t\t\telse { return 10; }} },\n\n\t\t\t\t\t/* Special planet types */\n\t\t\t\t{ trait: ["pMinorPlanet","psActuallyASpaceWhale","pUnusuallyLight","plsSpaceWhaleNebulaEvolution"],\n\t\t\t\t\tgetWeight: function(context) {\n\t\t\t\t\t\tif (context.includesAny("tNebula")){return 1;}\n\t\t\t\t\t\telse { return 0; }} }\n\t\t\t\t]\n\t\t},{\t\t/* Size */\n\t\t\tmin: 1, max: 1,\n\t\t\ttraits: [\n\t\t\t\t{ trait: "pLarge",\n\t\t\t\t\tgetWeight: function(context) {\n\t\t\t\t\t\tif (context.includesAny("tMassHuge")) { return 100; }\n\t\t\t\t\t\telse if (context.includesAny("tMassHuge")) { return 75; }\n\t\t\t\t\t\telse if (context.includesAny("tMassMedium")) { return 50; }\n\t\t\t\t\t\telse if (context.includesAny("tMassSmall")) { return 25; }\n\t\t\t\t\telse { return 0 }}},\n\t\t\t\t{ trait: "pMedium",\n\t\t\t\t\tgetWeight: function(context) {\n\t\t\t\t\t\tif (context.includesAny("tMassHuge")) { return 100; }\n\t\t\t\t\t\telse if (context.includesAny("tMassHuge")) { return 100; }\n\t\t\t\t\t\telse if (context.includesAny("tMassMedium")) { return 75; }\n\t\t\t\t\t\telse if (context.includesAny("tMassSmall")) { return 50; }\n\t\t\t\t\t\telse { return 25 }}},\n\t\t\t\t{ trait: "pSmall", \n\t\t\t\t\tgetWeight: function(context) { return 100 }},\n\t\t\t\t]\n\t\t},{\t\t/* Surface type */\n\t\t\tmin: 1, max: 1,\n\t\t\ttraits: [\n\t\t\t\t{ trait: "pSurfaceGiant",\n\t\t\t\t\tgetWeight: function(context) {\n\t\t\t\t\t\tif (context.includesAny("pGasGiant")){ return 100;}\n\t\t\t\t\t\telse { return 0;} }},\n\t\t\t\t{ trait: "pSurfaceIce",\n\t\t\t\t\tgetWeight: function(context) {\n\t\t\t\t\t\tif (context.includesAny("pGasGiant")){ return 0;}\n\t\t\t\t\t\telse if (context.includesAny("pTempVeryCold")){ return 100;}\n\t\t\t\t\t\telse if (context.includesAny("pTempCold")){ return 50;}\n\t\t\t\t\t\telse { return 0; }}},\n\t\t\t\t{ trait: "pSurfaceRocky",\n\t\t\t\t\tgetWeight: function(context) {\n\t\t\t\t\t\tif (context.includesAny("pGasGiant")){return 0;}\n\t\t\t\t\t\telse {return 10;} }}\n\t\t\t\t]\n\t\t},{\t\t/* Gravity */\n\t\t\tmin: 1, max: 1,\n\t\t\tdefault: "pGravNegligible",\n\t\t\ttraits: [\n\t\t\t\t{ trait: "pGravLow",\n\t\t\t\t\tgetWeight: function(context) {\n\t\t\t\t\t\tif(context.includesAny("pBelt","pMinorPlanet","pGasGiant")){return 0;}\n\t\t\t\t\t\telse if (context.includesAny("pSmall")) {return 10;}\n\t\t\t\t\t\telse if (context.includesAny("pMedium")) {return 5;}\n\t\t\t\t\t\telse { return 0; }} },\n\t\t\t\t{ trait: "pGravMedium",\n\t\t\t\t\tgetWeight: function(context) {\n\t\t\t\t\t\tif(context.includesAny("pBelt","pMinorPlanet","pGasGiant")){return 0;}\n\t\t\t\t\t\telse if (context.includesAny("pSmall","pLarge")) {return 5;}\n\t\t\t\t\t\telse if (context.includesAny("pMedium")) {return 10;}\n\t\t\t\t\t\telse { return 0; }} },\n\t\t\t\t{ trait: "pGravHigh",\n\t\t\t\t\tgetWeight: function(context) {\n\t\t\t\t\t\tif(context.includesAny("pBelt","pMinorPlanet")){return 0;}\n\t\t\t\t\t\telse if (context.includesAny("pLarge","pGasGiant")) {return 10;}\n\t\t\t\t\t\telse if (context.includesAny("pMedium")) {return 5;}\n\t\t\t\t\t\telse { return 0; }} },\n\t\t\t\t]\n\t\t},{\t\t/* Atmosphere composition */\n\t\t\tmin: 1, max: 1,\n\t\t\tdefault: "pAtmosNone",\n\t\t\ttraits: [\n\t\t\t\t{ trait: "pAtmosHydrogen",\n\t\t\t\t\tgetWeight: function(context) {\n\t\t\t\t\t\tif(context.includesAny("pGasGiant")){return 10;}\n\t\t\t\t\t\telse { return 0; }} },\n\t\t\t\t{ trait: "pAtmosIceGiant",\n\t\t\t\t\tgetWeight: function(context) {\n\t\t\t\t\t\tif(context.includesAny("pGasGiant")){return 10;}\n\t\t\t\t\t\telse { return 0; }} },\n\t\t\t\t{ trait: "pAtmosCO2",\n\t\t\t\t\tgetWeight: function(context) {\n\t\t\t\t\t\tif(context.includesAny("pTerrestrialPlanet") && context.includesAny("pTempHot","pTempGoldilocks","pTempCold")){ return 20;}\n\t\t\t\t\t\telse { return 0; }} },\n\t\t\t\t{ trait: "pAtmosNi",\n\t\t\t\t\tgetWeight: function(context) {\n\t\t\t\t\t\tif(context.includesAny("pTerrestrialPlanet") && context.includesAny("pTempHot","pTempGoldilocks","pTempCold")){ return 10;}\n\t\t\t\t\t\telse { return 0; }} },\n\t\t\t\t{ trait: "pAtmosMethaneAmmonia",\n\t\t\t\t\tgetWeight: function(context) {\n\t\t\t\t\t\tif(context.includesAny("pTerrestrialPlanet") && context.includesAny("pTempCold") && context.includesAny("pGravMedium","pGravHigh") && !context.includesAny("tColourBlue","tColourBlueWhite","tColourWhite","tColourYellowWhite","tColourYellow","tNeutronStar","tPulsar")){ return 30;}\n\t\t\t\t\t\telse { return 0; }} },\n\t\t\t\t{ trait: "pAtmosHelium",\n\t\t\t\t\tgetWeight: function(context) {\n\t\t\t\t\t\tif(context.includesAny("pTerrestrialPlanet") && context.includesAny("pTempHot","pTempGoldilocks","pTempCold") && context.includesAny("pGravHigh")){ return 30;}\n\t\t\t\t\t\telse { return 0; }} },\n\t\t\t\t\t\t\t/* to add: more atmosphere types! */\n\t\t\t\t]\n\t\t},{\t\t/* Atmosphere pressure */\n\t\t\tmin: 1, max: 1,\n\t\t\tcheckIf: function(context) { return !context.includesAny("pAtmosNone"); },\n\t\t\ttraits: [\n\t\t\t\t{ trait: "pAtmosThin",\n\t\t\t\t\tgetWeight: function(context) {\n\t\t\t\t\t\tif(context.includesAny("pGravLow")){return 20;}\n\t\t\t\t\t\telse if(context.includesAny("pGravMedium")){return 10;}\n\t\t\t\t\t\telse { return 0; }} },\n\t\t\t\t{ trait: "pAtmosThick",\n\t\t\t\t\tgetWeight: function(context) {\n\t\t\t\t\t\tif(context.includesAny("pGravMedium")){return 10;}\n\t\t\t\t\t\telse { return 5; }} },\n\t\t\t\t{ trait: "pAtmosCrushing",\n\t\t\t\t\tgetWeight: function(context) {\n\t\t\t\t\t\tif(context.includesAny("pGravHigh")){return 5;}\n\t\t\t\t\t\telse if(context.includesAny("pGravMedium")){return 1;}\n\t\t\t\t\t\telse { return 0; }} },\n\t\t\t\t]\n\t\t},{\t\t/* Non-explorable physical traits - terrestrial planets */\n\t\t\tmin: 0, max: 2,\n\t\t\tcheckIf: function(context) { return context.includesAny("pTerrestrialPlanet"); },\n\t\t\ttraits: [\n\t\t\t\t{ trait: "pWind",\n\t\t\t\t\tgetWeight: function(context) {\n\t\t\t\t\t\tif (context.includesAny("pAtmosNone")){return 0;}\n\t\t\t\t\t\telse if (context.includesAny("pTempVeryHot")){return 20;}\n\t\t\t\t\t\telse if (context.includesAny("pTempHot")){return 10;}\n\t\t\t\t\t\telse if (context.includesAny("pTempGoldilocks")){return 5;}\n\t\t\t\t\t\telse { return 0; }} },\n\t\t\t\t\t\t\t/* 0.15 to add: secret traits that can cause wind and crags? */\n\t\t\t\t{ trait: "pCraggy",\n\t\t\t\t\tgetWeight: function(context) {\n\t\t\t\t\t\tif(!context.includesAny("pTerrestrialPlanet")){return 0;}\n\t\t\t\t\t\telse if (context.includesAny("pGravLow")){return 5;}\n\t\t\t\t\t\telse if (context.includesAny("pGravMedium")){return 3;}\n\t\t\t\t\t\telse if (context.includesAny("pGravHigh")){return 1;}\n\t\t\t\t\t\telse { return 0; }} },\n\t\t\t\t{ trait: "pTidallyLocked",\n\t\t\t\t\tgetWeight: function(context) {\n\t\t\t\t\t\tif (!context.includesAll("pTerrestrialPlanet","pCloseOrbit")){return 0;}\n\t\t\t\t\t\telse if (context.includesAny("pSmall")) { return 20; }\n\t\t\t\t\t\telse if (context.includesAny("pMedium")) { return 10; }\n\t\t\t\t\t\telse if (context.includesAny("pLarge")) { return 5; }\n\t\t\t\t\t\telse { return 0;}}},\n\n\t\t\t\t{ trait: "", getWeight: function(context) {return 50;} }\n\t\t\t\t]\n\t\t},{\t\t/* Give comets tails if appropriate */\n\t\t\tcheckIf: function(context) { return context.includesAll("pMinorPlanet","pSurfaceIce"); },\n\t\t\ttraits: [\n\t\t\t\t{ trait: "pCometaryTail",\n\t\t\t\t\tgetWeight: function(context) {\n\t\t\t\t\t\tif (context.includesAny("pTempVeryHot")){return 100;}\n\t\t\t\t\t\telse if (context.includesAny("pTempHot")){return 80;}\n\t\t\t\t\t\telse if (context.includesAny("pTempGoldilocks")){return 60;}\n\t\t\t\t\t\telse if (context.includesAny("pCold")){return 40;}\n\t\t\t\t\t\telse { return 20; }} },\n\t\t\t\t{ trait: "", getWeight: function(context) {return 50;} }\n\t\t\t]\n\t\t}\n\t],\n\tplanetPhysicalSecrets: [\n\t\t{\t\t/* PHYSICAL SECRETS */\n\t\t\t\t/* Will be run once for all planets */\n\t\t\t\t/* Once more if planet does not have life */\n\t\t\t\t/* Once more if planet does not have civ */\n\t\t\tmin: 1, max: 1,\n\t\t\ttraits: [\n\t\t\t\t{ trait: ["psRadiationSeparatesOxygen","pAtmosOxNi","-pAtmosHydrogen","-pAtmosIceGiant","-pAtmosCO2","-pAtmosNi","-pAtmosNone","-pAtmosMethaneAmmonia","-pAtmosHelium"],\n\t\t\t\t\tgetWeight: function(context) {\n\t\t\t\t\t\tif (!context.includesAny("pTerrestrialPlanet") || context.includesAny("pAtmosNone")){return 0;}\n\t\t\t\t\t\telse if (context.includesAll("pOceanWater","tSolarFlares")) { return 100;}\n\t\t\t\t\t\telse { return 0; }}},\n\t\t\t\t{ trait: ["psCoolingCaves","pCaves"],\n\t\t\t\t\tgetWeight: function(context) {\n\t\t\t\t\t\tif (!context.includesAny("pTerrestrialPlanet") || context.includesAny("pOceanPlanetwide")){return 0;}\n\t\t\t\t\t\telse if (context.includesAll("pSurfaceRocky")) { return 10;}\n\t\t\t\t\t\telse { return 0; }}},\n\t\t\t\t{ trait: ["psErosionCaves","pCaves"],\n\t\t\t\t\tgetWeight: function(context) {\n\t\t\t\t\t\tif (!context.includesAny("pTerrestrialPlanet") || context.includesAny("pOceanPlanetwide")){return 0;}\n\t\t\t\t\t\telse if (context.includesAll("pSurfaceRocky")) { return 10;}\n\t\t\t\t\t\telse { return 0; }}},\n\t\t\t\t{ trait: ["psMeteoriteImpacts","pDust"],\n\t\t\t\t\tgetWeight: function(context) {\n\t\t\t\t\t\tif (!context.includesAny("pTerrestrialPlanet") || context.includesAny("pOceanPlanetwide")){return 0;}\n\t\t\t\t\t\telse if (context.includesAll("pSurfaceRocky")) {\n\t\t\t\t\t\t\tif (context.includesAny("tAsteroids")) { return 30;}\n\t\t\t\t\t\t\telse { return 10;}\n\t\t\t\t\t\t} else { return 0; }}},\n\t\t\t\t{ trait: ["psAncientMeteorCraters","pCraters"],\n\t\t\t\t\tgetWeight: function(context) {\n\t\t\t\t\t\tif (!context.includesAny("pTerrestrialPlanet","pMinorPlanet") || context.includesAny("pOceanWater","pOceanHydrocarbons","pOceanAmmonia","pOceanLava","pVolcanoes","pUnstable","pOceanPlanetwide")){return 0;}\n\t\t\t\t\t\telse if (context.includesAny("tAsteroids")) { return 30;}\n\t\t\t\t\t\telse { return 10; }}},\n\t\t\t\t{ trait: ["psRecentMeteorCraters","pCraters"],\n\t\t\t\t\tgetWeight: function(context) {\n\t\t\t\t\t\tif (!context.includesAny("pTerrestrialPlanet") || context.includesAny("pOceanPlanetWide")){return 0;}\n\t\t\t\t\t\telse if (context.includesAny("tAsteroids")) { return 100;}\n\t\t\t\t\t\telse { return 10; }}},\n\t\t\t\t{ trait: ["psExtinctVolcanoCraters","pCraters"],\n\t\t\t\t\tgetWeight: function(context) {\n\t\t\t\t\t\tif (!context.includesAll("pTerrestrialPlanet","pSurfaceRocky") || context.includesAny("pOceanPlanetWide","psNoCore","pVolcanoes")){return 0;}\n\t\t\t\t\t\telse { return 20; }}},\n\t\t\t\t{ trait: ["psEvaporatedOceans","pSaltCoveredSurface"],\n\t\t\t\t\tgetWeight: function(context) {\n\t\t\t\t\t\tif (!context.includesAll("pTerrestrialPlanet","pSurfaceRocky") || context.includesAny("pOceanPlanetwide","pSaltCoveredSurface")){return 0;}\n\t\t\t\t\t\telse if (context.includesAll("pTempVeryHot")) {return 30;}\n\t\t\t\t\t\telse if (context.includesAll("pTempHot")) {return 20;}\n\t\t\t\t\t\telse if (context.includesAll("pTempGoldilocks")) {return 10;}\n\t\t\t\t\t\telse { return 0; }}},\n\t\t\t\t{ trait: ["psExtrasolarCapture","pEccentricOrbit"],\n\t\t\t\t\tgetWeight: function(context) {\n\t\t\t\t\t\tif (context.includesAny("pBelt","psActuallyASpaceWhale","psNewlyFormed")) { return 0; }\n\t\t\t\t\t\telse { return 10; }}},\n\t\t\t\t{ trait: ["psCometaryCloudBody","pEccentricOrbit","pSurfaceIce","-pSurfaceRocky"],\n\t\t\t\t\tgetWeight: function(context) {\n\t\t\t\t\t\tif (context.includesAny("pBelt","psActuallyASpaceWhale")) { return 0; }\n\t\t\t\t\t\telse if (context.includesAll("pMinorPlanet","pSurfaceIce")) { return 30; }\n\t\t\t\t\t\telse { return 0; }}},\n\t\t\t\t{ trait: ["psPrimordialCollision","pEccentricOrbit"],\n\t\t\t\t\tgetWeight: function(context) {\n\t\t\t\t\t\tif (context.includesAny("pBelt","psActuallyASpaceWhale")) { return 0; }\n\t\t\t\t\t\telse if (context.includesAny("tAsteroids")) { return 30; }\n\t\t\t\t\t\telse { return 10; }}},\n\t\t\t\t{ trait: ["psRegularGeology","pPossibleStructures"],\n\t\t\t\t\tgetWeight: function(context) {\n\t\t\t\t\t\tif (!context.includesAny("pTerrestrialPlanet") || context.includesAny("pOceanPlanetwide")) { return 0; }\n\t\t\t\t\t\telse if (context.includesAll("pSurfaceRocky")) { return 10; }\n\t\t\t\t\t\telse { return 0; }}},\n\t\t\t\t{ trait: ["psCrystalForests","pPossibleVegetation"],\n\t\t\t\t\tgetWeight: function(context) {\n\t\t\t\t\t\tif (!context.includesAny("pTerrestrialPlanet") || context.includesAny("pOceanPlanetwide","pPossibleVegetation")) { return 0; }\n\t\t\t\t\t\telse if (context.includesAll("pSurfaceRocky")) { return 10; }\n\t\t\t\t\t\telse { return 0; }}},\n\t\t\t\t{ trait: ["psRadioactiveMinerals","pRadiationZones"],\n\t\t\t\t\tgetWeight: function(context) {\n\t\t\t\t\t\tif (!context.includesAny("pTerrestrialPlanet") || context.includesAny("pOceanPlanetwide")) { return 0; }\n\t\t\t\t\t\telse if (context.includesAll("pSurfaceRocky")) { return 10; }\n\t\t\t\t\t\telse { return 0; }}},\n\t\t\t\t{ trait: ["psBrokenMoon","pRingSystem"],\n\t\t\t\t\tgetWeight: function(context) { \n\t\t\t\t\t\tif (!context.includesAny("pTerrestrialPlanet","pGasGiant") || context.includesAny("pRingSystem")){return 0;}\n\t\t\t\t\t\telse if (context.includesAny("tAsteroids")) { return 30;}\n\t\t\t\t\t\telse {return 10;}} },\n\t\t\t\t{ trait: ["psFailedMoon","pRingSystem"],\n\t\t\t\t\tgetWeight: function(context) { \n\t\t\t\t\t\tif (!context.includesAny("pTerrestrialPlanet","pGasGiant") || context.includesAny("pRingSystem")){return 0;}\n\t\t\t\t\t\telse if (context.includesAny("tAsteroids")) { return 30;}\n\t\t\t\t\t\telse {return 10;}} },\n\t\t\t\t{ trait: ["psCapturedAsteroids","pRingSystem"],\n\t\t\t\t\tgetWeight: function(context) { \n\t\t\t\t\t\tif (!context.includesAny("pTerrestrialPlanet","pGasGiant") || context.includesAny("pRingSystem")){return 0;}\n\t\t\t\t\t\telse if (context.includesAny("tAsteroids")) { return 30;}\n\t\t\t\t\t\telse {return 10;}} },\n\t\t\t\t{ trait: ["psSpaceWhaleSwarm","pRingSystem","plsSpaceWhaleNebulaEvolution"],\n\t\t\t\t\tgetWeight: function(context) { \n\t\t\t\t\t\tif (!context.includesAny("pTerrestrialPlanet","pGasGiant") || context.includesAny("pGravNegligible","pRingSystem","psOrbitingSpaceWhale","psSpaceWhaleSwarm","psActuallyASpaceWhale")){return 0;}\n\t\t\t\t\t\telse if (context.includesAny("tNebula")) { return 1;}\n\t\t\t\t\t\telse {return 0;}} },\n\t\t\t\t{ trait: ["psOrbitingSpaceWhale","pOrbitalStructure","plsSpaceWhaleNebulaEvolution"],\n\t\t\t\t\tgetWeight: function(context) { \n\t\t\t\t\t\tif (context.includesAny("pGravNegligible","pOrbitalStructure","psOrbitingSpaceWhale","psSpaceWhaleSwarm","psActuallyASpaceWhale")){return 0;}\n\t\t\t\t\t\telse if (context.includesAny("tNebula")) { return 1;}\n\t\t\t\t\t\telse {return 0;}} },\n\t\t\t\t{ trait: ["psSpaceWhaleSwarm","pRingSystem","plsSpaceWhaleSurvivedPlanet"],\n\t\t\t\t\tgetWeight: function(context) { \n\t\t\t\t\t\tif (!context.includesAny("pTerrestrialPlanet","pGasGiant") || context.includesAny("pGravNegligible","pRingSystem","psOrbitingSpaceWhale","psSpaceWhaleSwarm","psActuallyASpaceWhale")){return 0;}\n\t\t\t\t\t\telse if (context.includesAny("tNebula")) { return 1;}\n\t\t\t\t\t\telse {return 0;}} },\n\t\t\t\t{ trait: ["psOrbitingSpaceWhale","pOrbitalStructure","plsSpaceWhaleSurvivedPlanet"],\n\t\t\t\t\tgetWeight: function(context) { \n\t\t\t\t\t\tif (context.includesAny("pGravNegligible","pOrbitalStructure","psOrbitingSpaceWhale","psSpaceWhaleSwarm","psActuallyASpaceWhale")){return 0;}\n\t\t\t\t\t\telse if (context.includesAny("tNebula")) { return 1;}\n\t\t\t\t\t\telse {return 0;}} },\n\t\t\t\t{ trait: ["psMoltenCore","pUnstable"], \n\t\t\t\t\tgetWeight: function(context) {\n\t\t\t\t\t\tif (!context.includesAny("pTerrestrialPlanet") || context.includesAny("pUnstable")){return 0;}\n\t\t\t\t\t\telse if (context.includesAny("pLarge","psThinCrust")) { return 30; }\n\t\t\t\t\t\telse if (context.includesAny("pMedium")) { return 20; }\n\t\t\t\t\t\telse { return 10;}} },\n\t\t\t\t{ trait: ["psRadioactiveHeating","pUnstable"], \n\t\t\t\t\tgetWeight: function(context) {\n\t\t\t\t\t\tif (!context.includesAny("pTerrestrialPlanet") || context.includesAny("pUnstable")) { return 0;}\n\t\t\t\t\t\telse { return 10;}} },\n\t\t\t\t{ trait: ["psTidalFlexing","pUnstable"],\n\t\t\t\t\tgetWeight: function(context) {\n\t\t\t\t\t\tif (!context.includesAny("pTerrestrialPlanet") || context.includesAny("pUnstable")){return 0;}\n\t\t\t\t\t\telse if (context.includesAny("pCloseOrbit")) { return 30;}\n\t\t\t\t\t\telse {return 0;}} },\n\t\t\t\t{ trait: ["psThinCrust","pUnusuallyDense","pGravHigh","-pGravMedium","-pGravLow"],\n\t\t\t\t\tgetWeight: function(context) {\n\t\t\t\t\t\tif (!context.includesAll("pTerrestrialPlanet","pSurfaceRocky")){return 0;}\n\t\t\t\t\t\telse if (context.includesAny("pUnusuallyLight")) { return 0; }\n\t\t\t\t\t\telse if (context.includesAny("tAsteroids","psPrimordialCollision")) { return 30; }\n\t\t\t\t\t\telse { return 10; }}},\n\t\t\t\t{ trait: ["psGasGiantCore","pUnusuallyDense","pGravHigh","-pGravMedium","-pGravLow"],\n\t\t\t\t\tgetWeight: function(context) {\n\t\t\t\t\t\tif (!context.includesAll("pTerrestrialPlanet","pSurfaceRocky")){return 0;}\n\t\t\t\t\t\telse if (context.includesAny("pUnusuallyLight")) { return 0; }\n\t\t\t\t\t\telse if (context.includesAny("pCloseOrbit")) { return 100; }\n\t\t\t\t\t\telse if (context.includesAny("pTempVeryHot")) { return 50; }\n\t\t\t\t\t\telse if (context.includesAny("pTempHot")) { return 10; }\n\t\t\t\t\t\telse { return 0; }}},\n\t\t\t\t{ trait: ["psPlanetaryCoreFragment","pUnusuallyDense"],\n\t\t\t\t\tgetWeight: function(context) {\n\t\t\t\t\t\tif (!context.includesAll("pMinorPlanet","pSurfaceRocky")){return 0;}\n\t\t\t\t\t\telse if (context.includesAny("pUnusuallyDense","pUnusuallyLight")) { return 0; }\n\t\t\t\t\t\telse if (context.includesAny("tAsteroids")) { return 100; }\n\t\t\t\t\t\telse { return 10; }}},\n\t\t\t\t{ trait: ["psStrippedPlanetoid","pUnusuallyDense"],\n\t\t\t\t\tgetWeight: function(context) {\n\t\t\t\t\t\tif (!context.includesAll("pMinorPlanet","pSurfaceRocky")){return 0;}\n\t\t\t\t\t\telse if (context.includesAny("pUnusuallyDense","pUnusuallyLight")) { return 0; }\n\t\t\t\t\t\telse if (context.includesAny("pTempVeryHot","pEccentricOrbit")) { return 100; }\n\t\t\t\t\t\telse if (context.includesAny("pTempHot")) { return 50; }\n\t\t\t\t\t\telse { return 10; }}},\n\t\t\t\t{ trait: ["psPlanetaryCrustFragment","pUnusuallyLight"],\n\t\t\t\t\tgetWeight: function(context) {\n\t\t\t\t\t\tif (!context.includesAll("pMinorPlanet")){return 0;}\n\t\t\t\t\t\telse if (context.includesAny("pUnusuallyDense","pUnusuallyLight")) { return 0; }\n\t\t\t\t\t\telse if (context.includesAny("tAsteroids")) { return 100; }\n\t\t\t\t\t\telse { return 10; }}},\n\t\t\t\t{ trait: ["psOutgassingHoneycomb","pUnusuallyLight"],\n\t\t\t\t\tgetWeight: function(context) {\n\t\t\t\t\t\tif (!context.includesAll("pMinorPlanet","pSurfaceRocky")){return 0;}\n\t\t\t\t\t\telse if (context.includesAny("pUnusuallyDense","pUnusuallyLight")) { return 0; }\n\t\t\t\t\t\telse if (context.includesAny("pTempVeryHot","pEccentricOrbit")) { return 100; }\n\t\t\t\t\t\telse if (context.includesAny("pTempHot")) { return 50; }\n\t\t\t\t\t\telse { return 10; }}},\n\t\t\t\t{ trait: ["psNoCore","pUnusuallyLight"],\n\t\t\t\t\tgetWeight: function(context) {\n\t\t\t\t\t\tif (!context.includesAll("pTerrestrialPlanet","pSurfaceRocky")){return 0;}\n\t\t\t\t\t\telse if (context.includesAny("pUnusuallyDense","pMoltenCore","pGravHigh")) { return 0; }\n\t\t\t\t\t\telse if (context.includesAny("tAsteroids","psPrimordialCollision")) { return 30; }\n\t\t\t\t\t\telse { return 10; }}},\n\t\t\t\t{ trait: ["psSubsurfaceOceanWater","pUnusuallyLight","psMoltenCore","psLiquidDetected"],\n\t\t\t\t\tgetWeight: function(context) {\n\t\t\t\t\t\tif (!context.includesAll("pTerrestrialPlanet","pSurfaceIce") || context.includesAny("pUnusuallyDense")) {return 0;}\n\t\t\t\t\t\telse if (context.includesAny("pLarge","psMoltenCore")) { return 10; }\n\t\t\t\t\t\telse if (context.includesAny("pMedium")) { return 5; }\n\t\t\t\t\t\telse { return 0; }}},\n\t\t\t\t{ trait: ["psSubsurfaceOceanWater","pUnusuallyLight","psTidalFlexing","psLiquidDetected"],\n\t\t\t\t\tgetWeight: function(context) {\n\t\t\t\t\t\tif (!context.includesAll("pTerrestrialPlanet","pSurfaceIce","pIsMoon") || context.includesAny("pUnusuallyDense")) {return 0;}\n\t\t\t\t\t\telse if (context.includesAny("pCloseOrbit","pEccentricOrbit")) { return 10; }\n\t\t\t\t\t\telse if (context.includesAny("pLarge")) { return 5; }\n\t\t\t\t\t\telse if (context.includesAny("pMedium")) { return 2; }\n\t\t\t\t\t\telse { return 0; }}},\n\t\t\t\t{ trait: ["pCryoVolcanoes","psTidalFlexing"],\n\t\t\t\t\tgetWeight: function(context) {\n\t\t\t\t\t\tif (!context.includesAll("pTerrestrialPlanet","pSurfaceIce","pIsMoon")) { return 0; }\n\t\t\t\t\t\telse if (context.includesAny("psSubsurfaceOceanWater","pCloseOrbit","pEccentricOrbit")) {return 30;}\n\t\t\t\t\t\telse {return 10;}}},\n\t\t\t\t{ trait: ["psRollingRocks","pMovingLandObjects"],\n\t\t\t\t\tgetWeight: function(context) {\n\t\t\t\t\t\tif (!context.includesAll("pTerrestrialPlanet","pSurfaceRocky") || context.includesAny("pOceanPlanetwide")){return 0;}\n\t\t\t\t\t\telse if (context.includesAny("pUnstable")) { return 10;}\n\t\t\t\t\t\telse { return 0; }}},\n\t\t\t\t{ trait: ["psWaterVapourClouds","pCloudCover"],\n\t\t\t\t\tgetWeight: function(context) {\n\t\t\t\t\t\tif (!context.includesAny("pOceanWater") || context.includesAny("pAtmosNone")) {return 0;}\n\t\t\t\t\t\telse if (context.includesAll("pOceanPlanetwide","pTempVeryHot")) { return 1000; }\n\t\t\t\t\t\telse if (context.includesAny("pTempVeryHot")) { return 500; }\n\t\t\t\t\t\telse if (context.includesAll("pOceanPlanetwide","pTempHot")) { return 250; }\n\t\t\t\t\t\telse if (context.includesAny("pTempHot")) { return 100; }\n\t\t\t\t\t\telse if (context.includesAny("pTempGoldilocks")) { return 50; }\n\t\t\t\t\t\telse { return 0; }}},\n\t\t\t\t{ trait: ["psVolcanicDustClouds","pCloudCover"],\n\t\t\t\t\tgetWeight: function(context) {\n\t\t\t\t\t\tif (!context.includesAny("pVolcanoes") || context.includesAny("pAtmosNone")) {return 0;}\n\t\t\t\t\t\telse if (context.includesAny("psMoltenCore")) { return 50; }\n\t\t\t\t\t\telse { return 10; }}},\n\t\t\t\t{ trait: ["psGemstoneRain","pCloudCover"],\n\t\t\t\t\tgetWeight: function(context) {\n\t\t\t\t\t\tif (context.includesAny("pTempVeryHot") && !context.includesAny("pAtmosNone")) {return 10;}\n\t\t\t\t\t\telse { return 0; }}},\n\t\t\t\t{ trait: ["psGlassRain","pCloudCover"],\n\t\t\t\t\tgetWeight: function(context) {\n\t\t\t\t\t\tif (context.includesAny("pTempVeryHot") && !context.includesAny("pAtmosNone")) {return 10;}\n\t\t\t\t\t\telse { return 0; }}},\n\t\t\t\t{ trait: ["psVolcanicSurfaceDust","pDust"],\n\t\t\t\t\tgetWeight: function(context) {\n\t\t\t\t\t\tif (context.includesAll("pVolcanoes","pTerrestrialPlanet") && !context.includesAny("pOceanPlanetwide")) {return 20;}\n\t\t\t\t\t\telse { return 0; }}},\n\t\t\t\t{ trait: ["psDiamondDust","pDust"],\n\t\t\t\t\tgetWeight: function(context) {\n\t\t\t\t\t\tif (context.includesAll("pSurfaceRocky","pTerrestrialPlanet") && !context.includesAny("pOceanPlanetwide")) {return 10;}\n\t\t\t\t\t\telse { return 0; }}},\n\t\t\t\t{ trait: ["psOceanPrecipitation","pOceanWater","psLiquidDetected"],\n\t\t\t\t\tgetWeight: function(context) {\n\t\t\t\t\t\tif (context.includesAll("pSurfaceRocky","pTerrestrialPlanet","pTempGoldilocks") && !context.includesAny("pOceanAmmonia","pOceanWater","pOceanLava","pOceanHydrocarbons","pAtmosNone")) { return 50;\t}\n\t\t\t\t\t\telse { return 0; }}},\n\t\t\t\t{ trait: ["psOceanRecentComet","pOceanWater","psLiquidDetected"],\n\t\t\t\t\tgetWeight: function(context) {\n\t\t\t\t\t\tif (context.includesAll("pSurfaceRocky","pTerrestrialPlanet","pTempGoldilocks") && !context.includesAny("pOceanAmmonia","pOceanWater","pOceanLava","pOceanHydrocarbons")) {\n\t\t\t\t\t\t\tif (context.includesAny("tAsteroids")) { return 50; }\n\t\t\t\t\t\t\telse { return 10; }\n\t\t\t\t\t\t}\n\t\t\t\t\t\telse { return 0; }}},\n\t\t\t\t{ trait: ["psOceanMeltedIceSurface","pOceanWater","psLiquidDetected"],\n\t\t\t\t\tgetWeight: function(context) {\n\t\t\t\t\t\tif (context.includesAll("pSurfaceRocky","pTerrestrialPlanet","pTempGoldilocks") && !context.includesAny("pOceanAmmonia","pOceanWater","pOceanLava","pOceanHydrocarbons","pAtmosNone")) { return 50;\t}\n\t\t\t\t\t\telse { return 0; }}},\n\t\t\t\t// { trait: ["psWaterWorld","pUnusuallyLight","pGravLow","-pGravMedium","-pGravHigh","pOceanWater","psOceanMeltedIceSurface","pOceanPlanetwide","psLiquidDetected"],\n\t\t\t\t\t// getWeight: function(context) {\n\t\t\t\t\t\t// if (context.includesAll("pTerrestrialPlanet","pTempGoldilocks") && !context.includesAny("pCraggy","pDust","pCaves","pSaltCoveredSurface","pVolcanoes","pCryoVolcanoes","pPossibleStructures","pPossibleVegetation","pUnstable","pMovingLandObjects","pUnusuallyLight","pCraters","pOceanAmmonia","pOceanWater","pOceanLava","pOceanHydrocarbons")) { return 10; }\n\t\t\t\t\t\t// else { return 0; }}},\n\t\t\t\t{ trait: ["psLavaOceanMoltenSurface","pOceanLava","psLiquidDetected"],\n\t\t\t\t\tgetWeight: function(context) {\n\t\t\t\t\t\tif (context.includesAll("pSurfaceRocky","pTerrestrialPlanet","pTempVeryHot") && !context.includesAny("pOceanAmmonia","pOceanWater","pOceanLava","pOceanHydrocarbons")) {\n\t\t\t\t\t\t\tif (context.includesAny("pTidallyLocked")) { return 50; }\n\t\t\t\t\t\t\telse { return 10; }\n\t\t\t\t\t\t}\n\t\t\t\t\t\telse { return 0; }}},\n\t\t\t\t{ trait: ["psLavaOceanUpwelling","pOceanLava","psLiquidDetected"],\n\t\t\t\t\tgetWeight: function(context) {\n\t\t\t\t\t\tif (context.includesAll("pSurfaceRocky","pTerrestrialPlanet","psMoltenCore") && !context.includesAny("pOceanAmmonia","pOceanWater","pOceanLava","pOceanHydrocarbons")) {\n\t\t\t\t\t\t\tif (context.includesAll("psThinCrust","pTempVeryHot")) { return 100; }\n\t\t\t\t\t\t\telse if (context.includesAny("pTempVeryHot")) { return 50; }\n\t\t\t\t\t\t\telse { return 0; }\n\t\t\t\t\t\t}\n\t\t\t\t\t\telse { return 0; }}},\n\t\t\t\t{ trait: ["psLavaOceanVolcanoes","pOceanLava","psLiquidDetected"],\n\t\t\t\t\tgetWeight: function(context) {\n\t\t\t\t\t\tif (context.includesAll("pSurfaceRocky","pTerrestrialPlanet","pVolcanoes") && !context.includesAny("pOceanAmmonia","pOceanWater","pOceanLava","pOceanHydrocarbons")) {\n\t\t\t\t\t\t\tif (context.includesAll("psConstantResurfacing","pTempVeryHot")) { return 100; }\n\t\t\t\t\t\t\telse if (context.includesAny("pTempVeryHot")) { return 50; }\n\t\t\t\t\t\t\telse { return 0; }\n\t\t\t\t\t\t}\n\t\t\t\t\t\telse { return 0; }}},\n\t\t\t\t{ trait: ["psLavaOceanCollision","pOceanLava","psLiquidDetected"],\n\t\t\t\t\tgetWeight: function(context) {\n\t\t\t\t\t\tif (context.includesAll("pSurfaceRocky","pTerrestrialPlanet","pTempVeryHot") && !context.includesAny("pOceanAmmonia","pOceanWater","pOceanLava","pOceanHydrocarbons")) {\n\t\t\t\t\t\t\tif (context.includesAny("psPrimordialCollision")) { return 50; }\n\t\t\t\t\t\t\telse if (context.includesAny("tAsteroids")) { return 30; }\n\t\t\t\t\t\t\telse { return 10; }\n\t\t\t\t\t\t}\n\t\t\t\t\t\telse { return 0; }}},\n\t\t\t\t{ trait: ["psHydrocarbonPrecipitation","pOceanHydrocarbons","psLiquidDetected"],\n\t\t\t\t\tgetWeight: function(context) {\n\t\t\t\t\t\tif (context.includesAll("pTerrestrialPlanet") && !context.includesAny("pOceanAmmonia","pOceanWater","pOceanLava","pOceanHydrocarbons","pAtmosNone")) {\n\t\t\t\t\t\t\tif (context.includesAny("pTempVeryCold")) { return 50; }\n\t\t\t\t\t\t\telse if (context.includesAny("pTempCold")) { return 30; }\n\t\t\t\t\t\t\telse { return 0; }\n\t\t\t\t\t\t}\n\t\t\t\t\t\telse { return 0; }}},\n\t\t\t\t{ trait: ["psAmmoniaPrecipitation","pOceanAmmonia","psLiquidDetected"],\n\t\t\t\t\tgetWeight: function(context) {\n\t\t\t\t\t\tif (context.includesAll("pTerrestrialPlanet","pAtmosMethaneAmmonia") && !context.includesAny("pOceanAmmonia","pOceanWater","pOceanLava","pOceanHydrocarbons","pAtmosNone")) {\n\t\t\t\t\t\t\tif (context.includesAny("pTempVeryCold")) { return 50; }\n\t\t\t\t\t\t\telse if (context.includesAny("pTempCold")) { return 30; }\n\t\t\t\t\t\t\telse { return 0; }\n\t\t\t\t\t\t}\n\t\t\t\t\t\telse { return 0; }}},\n\t\t\t\t{ trait: ["psEjectaRings","pRingSystem"],\n\t\t\t\t\tgetWeight: function(context) {\n\t\t\t\t\t\tif (context.includesAny("pRingSystem")) { return 0; }\n\t\t\t\t\t\telse if (context.includesAll("pVolcanoes","pGravLow","pTerrestrialPlanet")) {return 100;}\n\t\t\t\t\t\telse { return 0; }}},\n\t\t\t\t{ trait: ["psExPlanetCollision","psExPlanetBelt","pUnusuallyDense"],\n\t\t\t\t\tgetWeight: function(context) {\n\t\t\t\t\t\tif (context.includesAny("pUnusuallyDense","pUnusuallyLight")) { return 0; }\n\t\t\t\t\t\telse if (context.includesAll("pBelt","tAsteroids")) {return 10;}\n\t\t\t\t\t\telse if (context.includesAll("pBelt")) {return 2;}\n\t\t\t\t\t\telse { return 0; }}},\n\t\t\t\t{ trait: ["psExPlanetRocheLimit","psExPlanetBelt","pUnusuallyDense"],\n\t\t\t\t\tgetWeight: function(context) {\n\t\t\t\t\t\tif (context.includesAny("pUnusuallyDense","pUnusuallyLight")) { return 0; }\n\t\t\t\t\t\telse if (context.includesAll("pBelt","pCloseOrbit")) {return 50;}\n\t\t\t\t\t\telse { return 0; }}},\n\t\t\t\t{ trait: ["psNewlyFormed","pUnstable"],\n\t\t\t\t\tgetWeight: function(context) {\n\t\t\t\t\t\tif (context.includesAll("pSurfaceRocky","pTerrestrialPlanet") && !context.includesAny("pUnstable","psExtrasolarCapture")) {return 10;}\n\t\t\t\t\t\telse { return 0; }}},\n\t\t\t\t{ trait: ["psTectonicVolcanoes","pVolcanoes"],\n\t\t\t\t\tgetWeight: function(context) {\n\t\t\t\t\t\tif (context.includesAll("pSurfaceRocky","pTerrestrialPlanet") && !context.includesAny("pOceanPlanetwide","psNoCore","pVolcanoes")) {return 10;}\n\t\t\t\t\t\telse { return 0; }}},\n\t\t\t\t{ trait: ["psConstantResurfacing","pVolcanoes"],\n\t\t\t\t\tgetWeight: function(context) {\n\t\t\t\t\t\tif (context.includesAll("pSurfaceRocky","pTerrestrialPlanet") && !context.includesAny("pOceanPlanetwide","psNoCore","pVolcanoes")) {return 10;}\n\t\t\t\t\t\telse { return 0; }}},\n\t\t\t\t{ trait: ["psRegularAsteroid","pOrbitalStructure"],\n\t\t\t\t\tgetWeight: function(context) {\n\t\t\t\t\t\tif (context.includesAny("pOrbitalStructure")) { return 0; }\n\t\t\t\t\t\telse if (context.includesAll("tAsteroids")) {return 2;}\n\t\t\t\t\t\telse { return 1; }}},\n\t\t\t\t{ trait: ["psGeologicalColouring","pDiscolouredSurfaceAreas"],\n\t\t\t\t\tgetWeight: function(context) {\n\t\t\t\t\t\tif (context.includesAny("pDiscolouredSurfaceAreas")) { return 0; }\n\t\t\t\t\t\telse if (context.includesAll("pTerrestrialPlanet","pSurfaceRocky")) {return 10;}\n\t\t\t\t\t\telse { return 0; }}},\n\t\t\t\t{ trait: ["pSulphurCoveredSurface","psVolcanicSulphurSurface"],\n\t\t\t\t\tgetWeight: function(context) {\n\t\t\t\t\t\tif (context.includesAny("pSulphurCoveredSurface","pOceanPlanetwide","pTempHot","pTempVeryHot")) { return 0; }\n\t\t\t\t\t\telse if (context.includesAll("pTerrestrialPlanet","pVolcanoes","pGravLow")) {return 50;}\n\t\t\t\t\t\telse if (context.includesAll("pTerrestrialPlanet","pGravLow")) {return 20;}\n\t\t\t\t\t\telse if (context.includesAll("pTerrestrialPlanet","pVolcanoes","pGravMedium")) {return 10;}\n\t\t\t\t\t\telse if (context.includesAll("pTerrestrialPlanet","pGravMedium")) {return 5;}\n\t\t\t\t\t\telse { return 0; }}},\n\t\t\t\t{ trait: ["pNitrogenCoveredSurface","psFrozenNitrogenAtmosphere"],\n\t\t\t\t\tgetWeight: function(context) {\n\t\t\t\t\t\tif (context.includesAny("pNitrogenCoveredSurface","pOceanPlanetwide")) { return 0; }\n\t\t\t\t\t\telse if (context.includesAll("pTerrestrialPlanet","pTempVeryCold","pAtmosNone")) {\n\t\t\t\t\t\t\tif (context.includesAny("pGravHigh")) { return 50; }\n\t\t\t\t\t\t\telse if (context.includesAny("pGravMedium")) { return 20; }\n\t\t\t\t\t\t\telse {return 5;} }\n\t\t\t\t\t\telse { return 0; }}},\n\t\t\t\t{ trait: ["pRunawayGreenhouseEffect","psBoiledOceansGreenhouse","pAtmosCrushing","pTempVeryHot","-pAtmosThin","-pAtmosThick","-pTempGoldilocks","-pTempHot"],\n\t\t\t\t\tgetWeight: function(context) {\n\t\t\t\t\t\tif (context.includesAny("pRunawayGreenhouseEffect","pTempVeryCold","pTempCold","pGravLow","pSurfaceIce")) { return 0; }\n\t\t\t\t\t\telse if (context.includesAll("pTerrestrialPlanet","pAtmosCO2")) { return 50; }\n\t\t\t\t\t\telse { return 0; }}},\n\t\t\t\t{ trait: ["pGlowingGasGiant","psBrownDwarf","pTempVeryHot","-pTempHot","-pTempGoldilocks","-pTempCold","-pTempVeryCold"],\n\t\t\t\t\tgetWeight: function(context) {\n\t\t\t\t\t\tif (context.includesAll("pGasGiant","pLarge")) { return 50; }\n\t\t\t\t\t\telse { return 0; }}},\n\t\t\t\t{ trait: ["psCrystalPlanet","pRegularInternalStructure"],\n\t\t\t\t\tgetWeight: function(context) {\n\t\t\t\t\t\tif (context.includesAny("pGasGiant","pBelt","pUnstable","psActuallyASpaceWhale")) {return 0;}\n\t\t\t\t\t\telse if (context.includesAny("psDiamondDust","psCrystalForests","pMinorPlanet")) {return 5;}\n\t\t\t\t\t\telse { return 1; }}},\n\t\t\t\t{ trait: ["psOceanSurfaceSediment","pOceanSurfaceScum"],\n\t\t\t\t\tgetWeight: function(context) {\n\t\t\t\t\t\tif (context.includesAny("pOceanWater","pOceanHydrocarbons","pOceanLava","pOceanAmmonia")) {return 50;}\n\t\t\t\t\t\telse { return 0; }}},\n\t\t\t\t{ trait: ["psOceanSurfaceDust","pOceanSurfaceScum"],\n\t\t\t\t\tgetWeight: function(context) {\n\t\t\t\t\t\tif (context.includesAny("pOceanWater","pOceanHydrocarbons","pOceanLava","pOceanAmmonia") && !context.includes("pAtmosNone")) {return 50;}\n\t\t\t\t\t\telse { return 0; }}},\n\n\t\t\t\t{ trait: "",\n\t\t\t\t\tgetWeight: function(context) {\n\t\t\t\t\t\tif (context.includesAny("mustAddSomething")) { return 0; }\n\t\t\t\t\t\telse { return 500; }}},\n\n\t\t\t]\n\t\t},{\t\t/* If ocean, may be planet-wide */\n\t\t\tmin: 1, max: 1,\n\t\t\tcheckIf: function(context) { return context.includesAny("pOceanWater","pOceanHydrocarbons","pOceanLava","pOceanAmmonia"); },\n\t\t\ttraits: [\n\t\t\t\t{ trait: "pOceanPlanetwide",\n\t\t\t\t\tgetWeight: function(context) {\n\t\t\t\t\t\tif(context.includesAny("pCraggy","pDust","pCaves","pSaltCoveredSurface","pVolcanoes","pCryoVolcanoes","pPossibleStructures","pPossibleVegetation","pUnstable","pMovingLandObjects","pCraters")){return 0;}\n\t\t\t\t\t\telse if (context.includesAny("pGravHigh")){return 10;}\n\t\t\t\t\t\telse if (context.includesAny("pGravMedium")){return 5;}\n\t\t\t\t\t\telse if (context.includesAny("pGravLow")){return 2;}\n\t\t\t\t\t\telse { return 0; }} },\n\t\t\t\t{ trait: "", getWeight: function(context) {return 10;} },\n\t\t\t]\t\t\n\t\t}\n\t\t\n\t],\n\tplanetLife: [\n\t\t/* Life chemistry */\n\t\t{\n\t\t\tmin: 1, max: 1,\n\t\t\ttraits: [\n\t\t\t\t{ trait: ["psLife","psLifeChemistryCarbon"],\n\t\t\t\t\tgetWeight: function(context) {\n\t\t\t\t\t\tif (context.includesAny("pOceanWater","psSubsurfaceOceanWater")) { return 500; }\n\t\t\t\t\t\telse if (context.includesAny("pAtmosOxNi","pAtmosCO2") && context.includesAny("pTempGoldilocks")) { return 100; }\n\t\t\t\t\t\telse if (context.includesAny("pAtmosOxNi","pAtmosCO2") && context.includesAny("pTempHot","pTempCold")) { return 50; }\n\t\t\t\t\t\telse if (context.includesAny("pTempGoldilocks")) { return 20; }\n\t\t\t\t\t\telse if (context.includesAny("pTempHot","pTempCold")) { return 10; }\n\t\t\t\t\t\telse { return 0; }\n\t\t\t\t\t} },\n\t\t\t\t{ trait: ["psLife","psLifeChemistryHydrocarbon"],\n\t\t\t\t\tgetWeight: function(context) {\n\t\t\t\t\t\tif (context.includesAny("pOceanHydrocarbons")) { return 200; }\n\t\t\t\t\t\telse if (context.includesAny("pAtmosMethaneAmmonia")) { return 100; }\n\t\t\t\t\t\telse if (context.includesAny("pTempCold","pTempVeryCold")) { return 10; }\n\t\t\t\t\t\telse { return 0;}\n\t\t\t\t\t} },\n\t\t\t\t{ trait: ["psLife","psLifeChemistrySilicon"],\n\t\t\t\t\tgetWeight: function(context) {\n\t\t\t\t\t\tif (context.includesAll("pOceanLava","pSurfaceRocky")) { return 100; }\n\t\t\t\t\t\telse if (context.includesAll("pSurfaceRocky","pTempVeryHot")) { return 50; }\n\t\t\t\t\t\telse if (context.includesAll("pSurfaceRocky","pTempHot")) { return 10; }\n\t\t\t\t\t\telse { return 0;}\n\t\t\t\t\t} },\n\t\t\t\t{ trait: ["psLife","psLifeChemistryPlasma"],\n\t\t\t\t\tgetWeight: function(context) {\n\t\t\t\t\t\tif (!context.includesAny("pGasGiant")) { return 0; }\n\t\t\t\t\t\telse if (context.includesAny("pTempVeryHot")) { return 20; }\n\t\t\t\t\t\telse if (context.includesAny("pTempHot")) { return 15; }\n\t\t\t\t\t\telse if (context.includesAny("pTempGoldilocks")) { return 10; }\n\t\t\t\t\t\telse if (context.includesAny("pTempCold")) { return 5; }\n\t\t\t\t\t\telse if (context.includesAny("pTempVeryCold")) { return 5; }\n\t\t\t\t\t\telse { return 0;}\n\t\t\t\t\t} },\n\t\t\t\t{ trait: "", getWeight: function(context) {return 1000;} },\n\t\t\t\t]\n\t\t},\n\n\t\t/* Where is the life? */\n\t\t/* NB atmospheric and underground life are for life that live *primarily* in that environment, not ones that live mostly on the surface but might venture into the air/beneath the ground sometimes (e.g. birds) */\n\t\t{\n\t\t\tmin: 1, max: 3,\n\t\t\tcheckIf: function(context) { return context.includesAny("psLife"); },\n\t\t\ttraits: [\n\t\t\t\t{ trait: ["psLifeOcean"],\n\t\t\t\t\tgetWeight: function(context) {\n\t\t\t\t\t\tif (context.includesAll("psLifeChemistryCarbon","pOceanWater")) { return 500; }\n\t\t\t\t\t\telse if (context.includesAll("psLifeChemistryHydrocarbon","pOceanHydrocarbons")) { return 500; }\n\t\t\t\t\t\telse if (context.includesAll("psLifeChemistryHydrocarbon","pOceanAmmonia")) { return 500; }\n\t\t\t\t\t\telse if (context.includesAll("psLifeChemistrySilicon","pOceanLava")) { return 500; }\n\t\t\t\t\t\telse { return 0; }} },\n\t\t\t\t{ trait: ["psLifeSubsurfaceOcean"],\n\t\t\t\t\tgetWeight: function(context) {\n\t\t\t\t\t\tif (context.includesAll("psLifeChemistryCarbon","psSubsurfaceOceanWater")) { return 500; }\n\t\t\t\t\t\telse { return 0; }} },\n\t\t\t\t{ trait: ["psLifeSurface"],\n\t\t\t\t\tgetWeight: function(context) {\n\t\t\t\t\t\tif (context.includesAny("pGasGiant","psOceanPlanetwide")) { return 0; }\n\t\t\t\t\t\telse if (context.includesAll("psLifeChemistryCarbon","psLifeOcean","pTempGoldilocks")) { return 100; }\n\t\t\t\t\t\telse if (context.includesAll("psLifeChemistryCarbon","pTempGoldilocks","pAtmosOxNi")) { return 10; }\n\t\t\t\t\t\telse if (context.includesAll("psLifeChemistryCarbon","pTempGoldilocks","pAtmosCO2")) { return 10; }\n\t\t\t\t\t\telse if (context.includesAll("psLifeHydrocarbon","pAtmosMethaneAmmonia")) { return 10; }\n\t\t\t\t\t\telse if (context.includesAll("psLifeHydrocarbon","pSurfaceIce")) { return 5; }\n\t\t\t\t\t\telse if (context.includesAll("psLifeChemistrySilicon","pSurfaceRocky","pTempVeryHot")) { return 100; }\n\t\t\t\t\t\telse if (context.includesAll("psLifeChemistrySilicon","pSurfaceRocky","pTempHot")) { return 10; }\n\t\t\t\t\t\telse { return 0; }}},\n\t\t\t\t{ trait: ["psLifeAtmosphere"],\n\t\t\t\t\tgetWeight: function(context) {\n\t\t\t\t\t\tif (context.includesAny("pAtmosNone")) { return 0; }\n\t\t\t\t\t\telse if (context.includesAll("psLifeChemistryCarbon","pAtmosOxNi")) { return 50; }\n\t\t\t\t\t\telse if (context.includesAll("psLifeChemistryCarbon","pTempGoldilocks")) { return 50; }\n\t\t\t\t\t\telse if (context.includesAll("psLifeHydrocarbon","pAtmosMethaneAmmonia")) { return 50; }\n\t\t\t\t\t\telse if (context.includesAll("psLifeChemistryPlasma")) { return 100; }\n\t\t\t\t\t\telse if (context.includes("pGasGiant")) { return 10; }\n\t\t\t\t\t\telse { return 0; }}},\n\t\t\t\t{ trait: ["psLifeUnderground"],\n\t\t\t\t\tgetWeight: function(context) {\n\t\t\t\t\t\tif (context.includesAny("pGasGiant","psWaterWorld")) { return 0; }\n\t\t\t\t\t\telse { return 10; }} }\n\t\t\t]\n\t\t},\n\t\t{\t\t/* Overall life complexity */\n\t\t\tmin: 1, max: 1,\n\t\t\tcheckIf: function(context) { return context.includesAny("psLife"); },\n\t\t\ttraits: [\n\t\t\t\t{ trait: ["psLifeMicrobes","psLifePlants","psLifeAnimals"],\n\t\t\t\t\tgetWeight: function(context) {\n\t\t\t\t\t\tif (context.includesAny("pBelt","pMinorPlanet")) { return 0; }\n\t\t\t\t\t\telse { return 200; }}},\n\t\t\t\t{ trait: ["psLifeMicrobes","psLifePlants"],\n\t\t\t\t\tgetWeight: function(context) {\n\t\t\t\t\t\tif (context.includesAny("pBelt","pMinorPlanet")) { return 0; }\n\t\t\t\t\t\telse { return 50; }}},\n\t\t\t\t{ trait: ["psLifeMicrobes"],\n\t\t\t\t\tgetWeight: function(context) {\n\t\t\t\t\t\treturn 50; }}\n\t\t\t]\n\t\t},\n\t\t\t/* POSSIBLY MAKE LIFE EXTINCT */\n\t\t{\n\t\t\tmin: 1, max: 1,\n\t\t\tcheckIf: function(context) { return context.includesAny("psLife") && !context.includesAny("plExtinct","plNotExtinct"); },\n\t\t\ttraits: [\n\t\t\t\t{ trait: ["plsExtinctionAsteroid","plExtinct","-plRecentExtinction","-plsExtinctionClimateShift","-plsExtinctionDisease","-plsExtinctionGammaBurst"],\n\t\t\t\t\tgetWeight: function(context) {\n\t\t\t\t\t\tif (context.includesAny("psLifeChemistryPlasma")) { return 0; }\n\t\t\t\t\t\telse if (context.includesAny("tAsteroids")){ return 10;}\n\t\t\t\t\t\telse { return 5;}} },\n\t\t\t\t{ trait: ["plsExtinctionDisease","plExtinct","-plRecentExtinction","-plsExtinctionClimateShift","-plsExtinctionAsteroid","-plsExtinctionGammaBurst"],\n\t\t\t\t\tgetWeight: function(context) {\n\t\t\t\t\t\tif (context.includesAny("psLifeChemistryPlasma")) { return 0; }\n\t\t\t\t\t\telse if (context.includesAny("plsNonObviousConflict")){ return 10;}\n\t\t\t\t\t\telse {return 5;}} },\n\t\t\t\t{ trait: ["plsExtinctionClimateShift","plExtinct","-plRecentExtinction","-plsExtinctionDisease","-plsExtinctionAsteroid","-plsExtinctionGammaBurst"],\n\t\t\t\t\tgetWeight: function(context) {\n\t\t\t\t\t\tif (context.includesAny("psLifeChemistryPlasma")) { return 0; }\n\t\t\t\t\t\telse { return 5;}} },\n\t\t\t\t{ trait: ["plsExtinctionGammaBurst","plExtinct","-plRecentExtinction","-plsExtinctionDisease","-plsExtinctionAsteroid"],\n\t\t\t\t\tgetWeight: function(context) {\n\t\t\t\t\t\tif (context.includesAny("psLifeChemistryPlasma")) { return 0; }\n\t\t\t\t\t\telse { return 5;}} },\n\t\t\t\t{ trait: ["plNotExtinct"],\n\t\t\t\t\tgetWeight: function(context) {\n\t\t\t\t\t\treturn 10;} }\n\t\t\t]\n\t\t},\n\t\t\n\t\t/* SPECIFIC LIFE TRAITS */\n\t\t/* NB we're not adding visible-from-orbit traits at this stage */\n\t\t{\n\t\t\tmin:1, max: 2,\n\t\t\tcheckIf: function(context) { return context.includesAll("psLife","plNotExtinct"); },\n\t\t\ttraits: [\n\t\t\t\t\t/* Land plants */\n\t\t\t\t{ trait: ["psForests"],\n\t\t\t\t\tgetWeight: function(context) { if (context.includesAll("psLifePlants","psLifeSurface")) { return 10;} else { return 0;}} },\n\t\t\t\t{ trait: ["psForestOrganisms"],\n\t\t\t\t\tgetWeight: function(context) { if (context.includesAll("psLifePlants","psLifeSurface")) { return 10;} else { return 0;}} },\n\t\t\t\t{ trait: ["psMobileLandPlants"],\n\t\t\t\t\tgetWeight: function(context) { if (context.includesAll("psLifePlants","psLifeSurface")) { return 10;} else { return 0;}} },\n\t\t\t\t{ trait: ["psGrasslands"],\n\t\t\t\t\tgetWeight: function(context) { if (context.includesAll("psLifePlants","psLifeSurface")) { return 10;} else { return 0;}} },\n\t\t\t\t\t/* Ocean / subsurface ocean plants */\n\t\t\t\t{ trait: ["psUnderwaterVegetation"],\n\t\t\t\t\tgetWeight: function(context) { if (context.includesAny("psLifePlants") && context.includesAny("psLifeSubsurfaceOcean","psLifeOcean")) { return 10;} else { return 0;}} },\n\t\t\t\t{ trait: ["psOceanBedVegetation"],\n\t\t\t\t\tgetWeight: function(context) { if (context.includesAny("psLifePlants") && context.includesAny("psLifeSubsurfaceOcean","psLifeOcean")) { return 10;} else { return 0;}} },\n\t\t\t\t{ trait: ["psFloatingVegetation"],\n\t\t\t\t\tgetWeight: function(context) { if (context.includesAll("psLifePlants","psLifeOcean")) { return 10;} else { return 0;}} },\n\t\t\t\t{ trait: ["psIceSheetBottomVegetation"],\n\t\t\t\t\tgetWeight: function(context) { if (context.includesAll("psLifePlants","psLifeSubsurfaceOcean")) { return 1000;} else { return 0;}} },\n\t\t\t\t\t/* Atmospheric plants */\n\t\t\t\t{ trait: ["psGasbagPlants"],\n\t\t\t\t\tgetWeight: function(context) { if (context.includesAll("psLifePlants","psLifeAtmosphere")) { return 10;} else { return 0;}} },\n\t\t\t\t{ trait: ["psAirbornePlants"],\n\t\t\t\t\tgetWeight: function(context) { if (context.includesAll("psLifePlants","psLifeAtmosphere")) { return 10;} else { return 0;}} },\n\t\t\t\t\t/* Underground plants */\n\t\t\t\t{ trait: ["psCavePlants"],\n\t\t\t\t\tgetWeight: function(context) { if (context.includesAll("psLifePlants","pCaves","psLifeUnderground")) { return 1000;} else { return 0}} },\n\t\t\t\t{ trait: ["psUndergroundPlants"],\n\t\t\t\t\tgetWeight: function(context) { if (context.includesAll("psLifePlants","psLifeUnderground")) { return 10;} else { return 0}} },\n\t\t\t\t\t/* Land animals */\n\t\t\t\t{ trait: ["psLandAnimalsLegs"],\n\t\t\t\t\tgetWeight: function(context) { if (context.includesAll("psLifeAnimals","psLifeSurface")) { return 10;} else { return 0}} },\n\t\t\t\t{ trait: ["psLandAnimalsWorms"],\n\t\t\t\t\tgetWeight: function(context) { if (context.includesAll("psLifeAnimals","psLifeSurface")) { return 10;} else { return 0}} },\n\t\t\t\t{ trait: ["psLandAnimalsWheeled"],\n\t\t\t\t\tgetWeight: function(context) { if (context.includesAll("psLifeAnimals","psLifeSurface")) { return 10;} else { return 0}} },\n\t\t\t\t{ trait: ["psLandAnimalsBlobs"],\n\t\t\t\t\tgetWeight: function(context) { if (context.includesAll("psLifeAnimals","psLifeSurface")) { return 10;} else { return 0}} },\n\t\t\t\t{ trait: ["psForestAnimals"],\n\t\t\t\t\tgetWeight: function(context) { if (context.includesAll("psLifeAnimals","psLifeSurface") && context.includesAny("psForests","psForestOrganisms")) { return 1000;} else { return 0}} },\n\t\t\t\t\t/* Ocean / subsurface ocean animals */\n\t\t\t\t{ trait: ["psJellyfish"],\n\t\t\t\t\tgetWeight: function(context) { if (context.includesAny("psLifeAnimals") && context.includesAny("psLifeSubsurfaceOcean","psLifeOcean")) { return 10;} else { return 0;}} },\n\t\t\t\t{ trait: ["psFish"],\n\t\t\t\t\tgetWeight: function(context) { if (context.includesAny("psLifeAnimals") && context.includesAny("psLifeSubsurfaceOcean","psLifeOcean")) { return 10;} else { return 0;}} },\n\t\t\t\t{ trait: ["psSquid"],\n\t\t\t\t\tgetWeight: function(context) { if (context.includesAny("psLifeAnimals") && context.includesAny("psLifeSubsurfaceOcean","psLifeOcean")) { return 10;} else { return 0;}} },\n\t\t\t\t{ trait: ["psJetFish"],\n\t\t\t\t\tgetWeight: function(context) { if (context.includesAny("psLifeAnimals") && context.includesAny("psLifeSubsurfaceOcean","psLifeOcean")) { return 10;} else { return 0;}} },\n\t\t\t\t{ trait: ["psFloatingVegAnimals"],\n\t\t\t\t\tgetWeight: function(context) { if (context.includesAll("psLifeAnimals","psFloatingVegetation")) { return 100;} else { return 0;}} },\n\t\t\t\t{ trait: ["psIceSheetGrapplers"],\n\t\t\t\t\tgetWeight: function(context) { if (context.includesAll("psLifeAnimals","psLifeSubsurfaceOcean")) { return 100;} else { return 0;}} },\n\t\t\t\t\t/* Atmospheric animals */\n\t\t\t\t{ trait: ["psGasbagAnimals"],\n\t\t\t\t\tgetWeight: function(context) { if (context.includesAll("psLifeAnimals","psLifeAtmosphere")) { return 10;} else { return 0;}} },\n\t\t\t\t{ trait: ["psWingedAnimals"],\n\t\t\t\t\tgetWeight: function(context) { if (context.includesAll("psLifeAnimals","psLifeAtmosphere")) { return 10;} else { return 0;}} },\n\t\t\t\t\t/* Underground animals */\n\t\t\t\t{ trait: ["psCaveDwellingAnimals"],\n\t\t\t\t\tgetWeight: function(context) { if (context.includesAll("pCaves","psLifeAnimals","psLifeUnderground")) { return 100;} else { return 0}} },\n\t\t\t\t{ trait: ["psBurrowingWorms"],\n\t\t\t\t\tgetWeight: function(context) { if (context.includesAll("psLifeAnimals","psLifeUnderground")) { return 10;} else { return 0}} },\n\t\t\t]\n\t\t},\n\t\t\t/* LIFE MYSTERIES */\n\t\t{\n\t\t\tmin: 1, max: 2,\n\t\t\tcheckIf: function(context) { return context.includesAll("psLife","plNotExtinct"); },\n\t\t\ttraits: [\n\t\t\t\t// { trait: ["plLifeStaticLifeForms","plsVerySlowLife"],\n\t\t\t\t\t// getWeight: function(context) {\n\t\t\t\t\t\t// if (context.includesAny("plLifeStaticLifeForms")) { return 0 }\n\t\t\t\t\t\t// else if (!context.includesAll("psLifeAnimals")) { return 0; }\n\t\t\t\t\t\t// else if (context.includesAll("pTempVeryCold")) { return 10; }\n\t\t\t\t\t\t// else if (context.includesAll("pTempCold")) { return 5; }\n\t\t\t\t\t\t// else { return 1; }} },\n\t\t\t\t// { trait: ["plLifeStaticLifeForms","plsHibernatingLife"],\n\t\t\t\t\t// getWeight: function(context) {\n\t\t\t\t\t\t// if (context.includesAny("plLifeStaticLifeForms")) { return 0 }\n\t\t\t\t\t\t// else if (!context.includesAny("psLifeAnimals")) { return 0; }\n\t\t\t\t\t\t// else if (context.includesAll("pEccentricOrbit")) { return 10; }\n\t\t\t\t\t\t// else { return 1; }} },\n\t\t\t\t// { trait: ["plLifeStaticLifeForms","plsFreezesOnContact"],\n\t\t\t\t\t// getWeight: function(context) {\n\t\t\t\t\t\t// if (context.includesAny("plLifeStaticLifeForms")) { return 0 }\n\t\t\t\t\t\t// else if (!context.includesAny("psLifeAnimals")) { return 0; }\n\t\t\t\t\t\t// else { return 5; }} },\n\t\t\t\t{ trait: ["plRecentExtinction","plsExtinctionClimateShift"],\n\t\t\t\t\tgetWeight: function(context) {\n\t\t\t\t\t\tif (context.includesAny("plRecentExtinction")) { return 0 }\n\t\t\t\t\t\telse { return 5; }}},\n\t\t\t\t{ trait: ["plRecentExtinction","plsExtinctionDisease"],\n\t\t\t\t\tgetWeight: function(context) {\n\t\t\t\t\t\tif (context.includesAny("plRecentExtinction")) { return 0 }\n\t\t\t\t\t\telse { return 5; }}},\n\t\t\t\t{ trait: ["plRecentExtinction","plsExtinctionAsteroid"],\n\t\t\t\t\tgetWeight: function(context) {\n\t\t\t\t\t\tif (context.includesAny("plRecentExtinction")) { return 0 }\n\t\t\t\t\t\telse if (context.includesAny("psPrimordialCollision","tAsteroids")) { return 10; }\n\t\t\t\t\t\telse { return 1; }} },\n\t\t\t\t{ trait: ["plSpeciesWithComplexBehaviour","plsPreSapientSpecies"],\n\t\t\t\t\tgetWeight: function(context) {\n\t\t\t\t\t\tif (context.includesAny("plSpeciesWithComplexBehaviour")) { return 0 }\n\t\t\t\t\t\telse if (!context.includesAny("psLifeAnimals")) { return 0; }\n\t\t\t\t\t\telse { return 5; }} },\n\t\t\t\t{ trait: ["plNoFossilRemains","plsRecentEvolution"],\n\t\t\t\t\tgetWeight: function(context) {\n\t\t\t\t\t\tif (context.includesAny("plNoFossilRemains","psLifeChemistryPlasma")) { return 0 }\n\t\t\t\t\t\telse if (context.includesAny("psLifeAnimals")) { return 1; }\n\t\t\t\t\t\telse if (context.includesAny("psLifePlants")) { return 3; }\n\t\t\t\t\t\telse { return 5; }} },\n\t\t\t\t{ trait: ["plNoFossilRemains","plsLifeLeavesNoRemains"],\n\t\t\t\t\tgetWeight: function(context) {\n\t\t\t\t\t\tif (context.includesAny("plNoFossilRemains","psLifeChemistryPlasma")) { return 0 }\n\t\t\t\t\t\telse { return 5; }}},\n\t\t\t\t{ trait: ["plBafflingDiversity","plsColonyCreatures"],\n\t\t\t\t\tgetWeight: function(context) {\n\t\t\t\t\t\tif (context.includesAny("plBafflingDiversity")) { return 0 }\n\t\t\t\t\t\telse if (!context.includesAny("psLifeAnimals","psLifePlants")) { return 0; }\n\t\t\t\t\t\telse { return 5; }} },\n\t\t\t\t{ trait: ["plBafflingDiversity","plsVeryDiverseLife"],\n\t\t\t\t\tgetWeight: function(context) {\n\t\t\t\t\t\tif (context.includesAny("plBafflingDiversity")) { return 0 }\n\t\t\t\t\t\telse if (!context.includesAny("psLifeAnimals","psLifePlants")) { return 0; }\n\t\t\t\t\t\telse { return 5; }} },\n\t\t\t\t{ trait: ["plBafflingDiversity","plsOneSpeciesManyForms"],\n\t\t\t\t\tgetWeight: function(context) {\n\t\t\t\t\t\tif (context.includesAny("plBafflingDiversity")) { return 0 }\n\t\t\t\t\t\telse if (!context.includesAny("psLifeAnimals","psLifePlants")) { return 0; }\n\t\t\t\t\t\telse { return 5; }} },\n\t\t\t\t{ trait: ["plBafflingDiversity","plsOneSpeciesManyForms"],\n\t\t\t\t\tgetWeight: function(context) {\n\t\t\t\t\t\tif (context.includesAny("plBafflingDiversity")) { return 0 }\n\t\t\t\t\t\telse if (!context.includesAny("psLifeAnimals")) { return 0; }\n\t\t\t\t\t\telse { return 5; }} },\n\t\t\t\t{ trait: ["plBafflingDiversity","plsBodyPartGrafting"],\n\t\t\t\t\tgetWeight: function(context) {\n\t\t\t\t\t\tif (context.includesAny("plBafflingDiversity")) { return 0 }\n\t\t\t\t\t\telse if (!context.includesAny("psLifeAnimals","psLifePlants")) { return 0; }\n\t\t\t\t\t\telse { return 5; }} },\n\t\t\t\t{ trait: ["plBafflingDiversity","plsMicrobeColonyOrganisms"],\n\t\t\t\t\tgetWeight: function(context) {\n\t\t\t\t\t\tif (context.includesAny("plBafflingDiversity")) { return 0 }\n\t\t\t\t\t\telse if (!context.includesAny("psLifeAnimals","psLifePlants")) { return 0; }\n\t\t\t\t\t\telse { return 5; }} },\n\t\t\t\t{ trait: ["plSimilarPlantsAndAnimals","plsPlantAnimalLifeCycle"],\n\t\t\t\t\tgetWeight: function(context) {\n\t\t\t\t\t\tif (context.includesAny("plSimilarPlantsAndAnimals")) { return 0 }\n\t\t\t\t\t\telse if (!context.includesAll("psLifeAnimals","psLifePlants")) { return 0; }\n\t\t\t\t\t\telse { return 5; }} },\n\t\t\t\t{ trait: ["plSimilarPlantsAndAnimals","plsCarnivorousPlants"],\n\t\t\t\t\tgetWeight: function(context) {\n\t\t\t\t\t\tif (context.includesAny("plSimilarPlantsAndAnimals")) { return 0 }\n\t\t\t\t\t\telse if (!context.includesAll("psLifeAnimals","psLifePlants")) { return 0; }\n\t\t\t\t\t\telse { return 5; }} },\n\t\t\t\t{ trait: ["plSimilarPlantsAndAnimals","plsPlantsGrowLimbs"],\n\t\t\t\t\tgetWeight: function(context) {\n\t\t\t\t\t\tif (context.includesAny("plSimilarPlantsAndAnimals")) { return 0 }\n\t\t\t\t\t\telse if (!context.includesAll("psLifeAnimals","psLifePlants")) { return 0; }\n\t\t\t\t\t\telse { return 5; }} },\n\t\t\t\t{ trait: ["plViolentLife","plsHealingFactor"],\n\t\t\t\t\tgetWeight: function(context) {\n\t\t\t\t\t\tif (context.includesAny("plViolentLife","plNonViolentLife")) { return 0 }\n\t\t\t\t\t\telse if (!context.includesAll("psLifeAnimals","psLifePlants")) { return 0; }\n\t\t\t\t\t\telse { return 5; }} },\n\t\t\t\t{ trait: ["plViolentLife","plsHumansAggravatingAnimals"],\n\t\t\t\t\tgetWeight: function(context) {\n\t\t\t\t\t\tif (context.includesAny("plViolentLife","plNonViolentLife")) { return 0 }\n\t\t\t\t\t\telse if (!context.includesAll("psLifeAnimals","psLifePlants")) { return 0; }\n\t\t\t\t\t\telse { return 5; }} },\n\t\t\t\t{ trait: ["plNonViolentLife","plsOnlyHerbivores"],\n\t\t\t\t\tgetWeight: function(context) {\n\t\t\t\t\t\tif (context.includesAny("plViolentLife","plNonViolentLife")) { return 0 }\n\t\t\t\t\t\telse if (!context.includesAll("psLifeAnimals","psLifePlants")) { return 0; }\n\t\t\t\t\t\telse { return 5; }} },\n\t\t\t\t{ trait: ["plNonViolentLife","plsNonObviousConflict"],\n\t\t\t\t\tgetWeight: function(context) {\n\t\t\t\t\t\tif (context.includesAny("plViolentLife","plNonViolentLife")) { return 0 }\n\t\t\t\t\t\telse if (!context.includesAll("psLifeAnimals","psLifePlants")) { return 0; }\n\t\t\t\t\t\telse { return 5; }} },\n\t\t\t\t{ trait: ["plMysteriousCommunication","plsNaturalEMTransmitters"],\n\t\t\t\t\tgetWeight: function(context) {\n\t\t\t\t\t\tif (context.includesAny("plMysteriousCommunication")) { return 0 }\n\t\t\t\t\t\telse if (!context.includesAny("psLifeAnimals")) { return 0; }\n\t\t\t\t\t\telse { return 5; }} },\n\t\t\t\t{ trait: ["plMysteriousCommunication","plsBodyLanguageCommunication"],\n\t\t\t\t\tgetWeight: function(context) {\n\t\t\t\t\t\tif (context.includesAny("plMysteriousCommunication")) { return 0 }\n\t\t\t\t\t\telse if (!context.includesAny("psLifeAnimals")) { return 0; }\n\t\t\t\t\t\telse { return 5; }} },\n\t\t\t\t{ trait: ["plMysteriousCommunication","plsChemicalCommunication"],\n\t\t\t\t\tgetWeight: function(context) {\n\t\t\t\t\t\tif (context.includesAny("plMysteriousCommunication")) { return 0 }\n\t\t\t\t\t\telse if (!context.includesAny("psLifeAnimals")) { return 0; }\n\t\t\t\t\t\telse { return 5; }} },\n\t\t\t]\n\t\t}\n\t],\n\n\t/* This is called separately from life at the end of planet gen, so if something has made life extinct, no inappropriate traits will spawn */\n\tvisibleLifeSigns: [\n\t\t{\n\t\t\tmin: 1, max: 2,\n\t\t\tcheckIf: function(context) { return context.includesAll("psLife"); },\n\t\t\t//default: ["psChemicalLifeSigns","pPossibleChemicalLifeSigns"],\n\t\t\ttraits: [\n\t\t\t\t\t/* Microbes, surface */\n\t\t\t\t{ trait: ["psMicroorganismDust","pDust"],\n\t\t\t\t\tgetWeight: function(context) {\n\t\t\t\t\t\tif (context.includesAll("pTerrestrialPlanet","pSurfaceRocky","psLifeMicrobes","psLifeSurface")) { return 10; }\n\t\t\t\t\t\telse { return 0; }} },\n\t\t\t\t{ trait: ["psSaltExcretingMicroorganism","pSaltCoveredSurface"],\n\t\t\t\t\tgetWeight: function(context) {\n\t\t\t\t\t\tif (context.includesAny("pSaltCoveredSurface")) { return 0; }\n\t\t\t\t\t\telse if (context.includesAll("pSurfaceRocky","psLifeMicrobes","psLifeSurface")) { return 10; }\n\t\t\t\t\t\telse { return 0; }} },\n\t\t\t\t{ trait: ["psRadioactiveMicrobes","pRadiationZones"],\n\t\t\t\t\tgetWeight: function(context) {\n\t\t\t\t\t\tif (context.includesAll("psLifeMicrobes","psLifeSurface")) { return 10; }\n\t\t\t\t\t\telse { return 0; }} },\n\t\t\t\t{ trait: ["psColourfulSurfaceMicrobes","pDiscolouredSurfaceAreas"],\n\t\t\t\t\tgetWeight: function(context) {\n\t\t\t\t\t\tif (context.includesAny("pDiscolouredSurfaceAreas")) { return 0; }\n\t\t\t\t\t\telse if (context.includesAll("pTerrestrialPlanet","psLifeMicrobes","psLifeSurface")) { return 10; }\n\t\t\t\t\t\telse { return 0; }} },\n\t\t\t\t{ trait: ["psFossilDust","pDust"],\n\t\t\t\t\tgetWeight: function(context) {\n\t\t\t\t\t\tif (context.includesAny("pOceanPlanetwide")) { return 0; }\n\t\t\t\t\t\telse if (context.includesAll("pTerrestrialPlanet","psLifeMicrobes","psLifeSurface")) { return 10; }\n\t\t\t\t\t\telse { return 0; }} },\n\t\t\t\t{ trait: ["psSulphurExcretions","pSulphurCoveredSurface"],\n\t\t\t\t\tgetWeight: function(context) {\n\t\t\t\t\t\tif (context.includesAny("pSulphurCoveredSurface","pOceanPlanetwide","pTempHot","pTempVeryHot")) { return 0; }\n\t\t\t\t\t\telse if (context.includesAll("pTerrestrialPlanet","psLifeMicrobes","psLifeChemistryHydrocarbon")) { return 100; }\n\t\t\t\t\t\telse { return 0; }} },\n\t\t\t\t{ trait: ["psNitrogenExcretions","pNitrogenCoveredSurface"],\n\t\t\t\t\tgetWeight: function(context) {\n\t\t\t\t\t\tif (context.includesAny("pNitrogenCoveredSurface","pOceanPlanetwide","pTempGoldilocks","pTempHot","pTempVeryHot")) { return 0; }\n\t\t\t\t\t\telse if (context.includesAll("pTerrestrialPlanet","psLifeMicrobes","psLifeChemistryHydrocarbon")) { return 100; }\n\t\t\t\t\t\telse { return 0; }} },\n\t\t\t\t\t/* Plants, surface */\n\t\t\t\t{ trait: ["pPossibleVegetation"],\n\t\t\t\t\tgetWeight: function(context) {\n\t\t\t\t\t\tif (context.includesAny("psForests","psForestOrganisms")) { return 100; }\n\t\t\t\t\t\telse { return 0; }} },\n\t\t\t\t{ trait: ["pDiscolouredSurfaceAreas"],\n\t\t\t\t\tgetWeight: function(context) {\n\t\t\t\t\t\tif (context.includesAny("pDiscolouredSurfaceAreas")) { return 0; }\n\t\t\t\t\t\telse if (context.includesAny("psGrasslands")) { return 10; }\n\t\t\t\t\t\telse { return 0; }} },\n\t\t\t\t{ trait: ["psPlantCraters","pCraters"],\n\t\t\t\t\tgetWeight: function(context) {\n\t\t\t\t\t\tif (context.includesAny("pOceanPlanetwide")) { return 0; }\n\t\t\t\t\t\telse if (context.includesAll("psLifePlants","psLifeSurface")) { return 10; }\n\t\t\t\t\t\telse { return 0; }} },\n\t\t\t\t\t/* Microbes, ocean surface */\n\t\t\t\t{ trait: ["psMicrobialOceanScum","pOceanSurfaceScum"],\n\t\t\t\t\tgetWeight: function(context) {\n\t\t\t\t\t\tif (context.includesAny("pOceanWater","pOceanHydrocarbons","pOceanAmmonia","pOceanLava")) { return 100; }\n\t\t\t\t\t\telse if (context.includes("psLifeOcean")) { return 100; }\n\t\t\t\t\t\telse { return 0; }} },\n\t\t\t\t\t/* Plants, ocean surface */\n\t\t\t\t{ trait: ["psComplexOceanScum","pOceanSurfaceScum"],\n\t\t\t\t\tgetWeight: function(context) {\n\t\t\t\t\t\tif (!context.includesAny("pOceanWater","pOceanHydrocarbons","pOceanAmmonia","pOceanLava")) { return 0; }\n\t\t\t\t\t\telse if (context.includesAll("psLifeOcean","psLifePlants")) { return 100; }\n\t\t\t\t\t\telse { return 0; }} },\n\t\t\t\t{ trait: ["pFloatingStructures"],\n\t\t\t\t\tgetWeight: function(context) {\n\t\t\t\t\t\tif (context.includesAny("pFloatingStructures")) { return 0; }\n\t\t\t\t\t\telse if (context.includesAny("psFloatingVegetation")) { return 100; }\n\t\t\t\t\t\telse { return 0; }} },\n\t\t\t\t\t/* Animals, surface */\n\t\t\t\t{ trait: ["pMovingLandObjects"],\n\t\t\t\t\tgetWeight: function(context) {\n\t\t\t\t\t\tif (context.includesAny("plExtinct")) { return 0; }\n\t\t\t\t\t\telse if (context.includesAny("psMobileLandPlants","psAnimalHerds")) { return 100; }\n\t\t\t\t\t\telse { return 0; }} },\n\t\t\t\t{ trait: ["psDustExcretions","pDust"],\n\t\t\t\t\tgetWeight: function(context) {\n\t\t\t\t\t\tif (context.includesAny("pOceanPlanetwide")) { return 0; }\n\t\t\t\t\t\telse if (context.includesAll("pTerrestrialPlanet","psLifeAnimals","psLifeSurface")) { return 100; }\n\t\t\t\t\t\telse { return 0; }} },\n\t\t\t\t{ trait: ["psAnimalStructures","pPossibleStructures"],\n\t\t\t\t\tgetWeight: function(context) {\n\t\t\t\t\t\tif (context.includesAll("psLifeAnimals","psLifeSurface")) { return 100; }\n\t\t\t\t\t\telse { return 0; }} },\n\n\t\t\t\t\t/* Microbes, atmosphere */\n\t\t\t\t{ trait: ["psMicrobesMakeOxygen","pAtmosOxNi","-pAtmosCO2","-pAtmosNi","-pAtmosMethaneAmmonia","-pAtmosHelium"],\n\t\t\t\t\tgetWeight: function(context) {\n\t\t\t\t\t\tif (!context.includesAny("pTerrestrialPlanet")){return 0;}\n\t\t\t\t\t\telse if (context.includesAny("pTempVeryHot","pTempVeryCold","pAtmosNone","pRunawayGreenhouseEffect")){return 0;}\n\t\t\t\t\t\telse if (!context.includesAny("pAtmosOxNi","pAtmosCO2","pAtmosNi","plExtinct")) { return 0; }\n\t\t\t\t\t\telse if (context.includesAll("psLifeChemistryCarbon","psLifePlants") && context.includesAny("psLifeSurface","psLifeOcean","psLifeAtmosphere")) { return 10000; }\n\t\t\t\t\t\telse if (context.includesAll("psLifeChemistryCarbon")) { return 100; }\n\t\t\t\t\t\telse { return 0;}} },\n\t\t\t\t{ trait: ["psMicrobesMadeOcean","pOceanWater"],\n\t\t\t\t\tgetWeight: function(context) {\n\t\t\t\t\t\tif (context.includesAny("pOceanAmmonia","pOceanWater","pOceanLava","pOceanHydrocarbons","plExtinct")) { return 0; }\n\t\t\t\t\t\telse if (!context.includesAll("pTerrestrialPlanet")) { return 0; }\n\t\t\t\t\t\telse if (context.includesAny("pAtmosCO2","pAtmosOxNi","pAtmosHydrogen") && context.includesAny("psLifeSurface","psLifeOcean","psLifeAtmosphere") && context.includesAny("pTempGoldilocks")) { return 100; }\n\t\t\t\t\t\telse { return 0;}} },\n\t\t\t\t{ trait: ["psMicrobeClouds","pCloudCover"],\n\t\t\t\t\tgetWeight: function(context) {\n\t\t\t\t\t\tif (context.includesAny("pAtmosNone")) { return 0; }\n\t\t\t\t\t\telse if (context.includesAny("psLifeAtmosphere")) { return 100; }\n\t\t\t\t\t\telse { return 0;}} },\n\t\t\t\t{ trait: ["psGlowingPlasmaLife","pGlowingGasGiant","pTempVeryHot","-pTempHot","-pTempGoldilocks","-pTempCold","-pTempVeryCold"],\n\t\t\t\t\tgetWeight: function(context) {\n\t\t\t\t\t\tif (context.includesAny("plExtinct")) { return 0; }\n\t\t\t\t\t\telse if (context.includesAll("pGasGiant","psLifeChemistryPlasma")) { return 10000; }\n\t\t\t\t\t\telse { return 0;}} },\n\t\t\t\t\t/* Plants/animals, atmosphere */\n\t\t\t\t{ trait: ["pFlyingObjects"],\n\t\t\t\t\tgetWeight: function(context) {\n\t\t\t\t\t\tif (context.includesAny("psAirbornePlants","psGasbagPlants","psWingedAnimals","psGasbagAnimals")) { return 100; }\n\t\t\t\t\t\telse { return 0; }} },\n\t\t\t\t\t/* Microbes, underground */\n\t\t\t\t{ trait: ["psBiologicalHeating","pUnstable"],\n\t\t\t\t\tgetWeight: function(context) {\n\t\t\t\t\t\tif (context.includesAny("pUnstable","plExtinct")) { return 0; }\n\t\t\t\t\t\telse if (context.includesAll("pSurfaceRocky","psLifeMicrobes","psLifeUnderground")) { return 100; }\n\t\t\t\t\t\telse { return 0; }} },\n\t\t\t\t{ trait: ["psInternalMicrobeStructure","pRegularInternalStructure"],\n\t\t\t\t\tgetWeight: function(context) {\n\t\t\t\t\t\tif (context.includesAny("pRegularInternalStructure")) { return 0; }\n\t\t\t\t\t\telse if (context.includesAll("psLifeMicrobes","psLifeUnderground")) { return 10; }\n\t\t\t\t\t\telse { return 0; }} },\n\t\t\t\t{ trait: ["psColourfulInternalMicrobes","pDiscolouredSurfaceAreas"],\n\t\t\t\t\tgetWeight: function(context) {\n\t\t\t\t\t\tif (context.includesAny("pDiscolouredSurfaceAreas","pOceanPlanetwide")) { return 0; }\n\t\t\t\t\t\telse if (context.includesAll("psLifeMicrobes","psLifeUnderground")) { return 10; }\n\t\t\t\t\t\telse { return 0; }} },\n\t\t\t\t\t/* Plants/animals, underground */\n\t\t\t\t{ trait: ["psCryovolcanoBlowholes","pCryoVolcanoes"],\n\t\t\t\t\tgetWeight: function(context) {\n\t\t\t\t\t\tif (!context.includesAll("pSurfaceIce","psLifeUnderground","psLifeAnimals")) { return 0; }\n\t\t\t\t\t\telse if (context.includesAny("plExtinct")) { return 0; }\n\t\t\t\t\t\telse { return 500;}} },\n\t\t\t\t{ trait: ["psVolcanoBlowholes","pVolcanoes"],\n\t\t\t\t\tgetWeight: function(context) {\n\t\t\t\t\t\tif (!context.includesAll("pSurfaceRocky","psLifeUnderground","psLifeAnimals","psLifeChemistrySilicon")) { return 0; }\n\t\t\t\t\t\telse if (context.includesAny("plExtinct","pOceanPlanetwide")) { return 0; }\n\t\t\t\t\t\telse { return 500;}} },\n\t\t\t\t\t/* Animals, underground */\n\t\t\t\t{ trait: ["pCaves","psBurrowersMadeCaves"],\n\t\t\t\t\tgetWeight: function(context) {\n\t\t\t\t\t\tif (!context.includesAny("pTerrestrialPlanet","pMinorPlanet")) { return 0; }\n\t\t\t\t\t\telse if (context.includesAny("psBurrowingWorms")) { return 100; }\n\t\t\t\t\t\telse { return 0;}} },\n\t\t\t\t{ trait: ["psBurrowedOut","pUnusuallyLight"],\n\t\t\t\t\tgetWeight: function(context) {\n\t\t\t\t\t\tif (!context.includesAny("pTerrestrialPlanet","pMinorPlanet")) { return 0; }\n\t\t\t\t\t\telse if (context.includesAny("psBurrowingWorms")) { return 100; }\n\t\t\t\t\t\telse { return 0;}} },\n\t\t\t]\n\t\t}\n\t],\n\t\n\t\n\t/* This will be called for all planets, after planet and life traits */\n\tmaybeCiv: [\n\t\t{\t\t/* Native civ? (Is animal life intelligent?)*/\n\t\t\tmin: 1, max: 1,\n\t\t\tcheckIf: function(context) { return context.includesAny("psLifeAnimals") && !context.includesAll("pOceanLava","pOceanPlanetwide"); },\n\t\t\ttraits: [\n\t\t\t\t{ trait: ["psCiv"],\n\t\t\t\t\tgetWeight: function(context) {return 100;} },\n\t\t\t\t{ trait: "",\n\t\t\t\t\tgetWeight: function(context) {return 10;} }\n\t\t\t]\n\t\t}\n\t],\n\t\n\t/* This will be called for planets with psCiv */\n\tcivilisation: [\n\t\t{\t\t/* Native civ: food source */\n\t\t\tmin: 1, max: 1,\n\t\t\ttraits: [\n\t\t\t\t{ trait: "cOmnivores",\n\t\t\t\t\tgetWeight: function(context) {\n\t\t\t\t\t\tif (context.includesAny("plsOnlyHerbivores")) { return 0; }\n\t\t\t\t\t\telse { return 10; }}},\n\t\t\t\t{ trait: "cHerbivores",\n\t\t\t\t\tgetWeight: function(context) {\n\t\t\t\t\t\tif (context.includesAny("plNonViolentLife")) { return 50; }\n\t\t\t\t\t\telse { return 10; }}},\n\t\t\t\t{ trait: "cCarnivores",\n\t\t\t\t\tgetWeight: function(context) {\n\t\t\t\t\t\tif (context.includesAny("plsOnlyHerbivores")) { return 0; }\n\t\t\t\t\t\telse if (context.includesAny("plViolentLife")) { return 50; }\n\t\t\t\t\t\telse { return 10; }}},\n\t\t\t\t{ trait: "cPhotosynthesizers",\n\t\t\t\t\t\tgetWeight: function(context) {\n\t\t\t\t\t\t\treturn 5;} }\n\t\t\t]\n\t\t},{\t\t/* Native civ: body plan */\n\t\t\tmin: 1, max: 1,\n\t\t\ttraits: [\n\t\t\t\t{ trait: "cAvian",\n\t\t\t\t\tgetWeight: function(context) {\n\t\t\t\t\t\tif (context.includesAny("psLifeAtmosphere")) { return 10; }\n\t\t\t\t\t\telse { return 0; }}},\n\t\t\t\t{ trait: "cAquatic",\n\t\t\t\t\tgetWeight: function(context) {\n\t\t\t\t\t\tif (context.includesAny("psLifeOcean","psLifeSubsurfaceOcean") && !context.includes("pOceanLava")) { return 10; }\n\t\t\t\t\t\telse { return 0; }}},\n\t\t\t\t{ trait: "cQuadrupedal",\n\t\t\t\t\tgetWeight: function(context) {\n\t\t\t\t\t\tif (context.includesAny("psLifeSurface")) { return 10; }\n\t\t\t\t\t\telse { return 0; }}},\n\t\t\t\t{ trait: "cWormlike",\n\t\t\t\t\tgetWeight: function(context) {\n\t\t\t\t\t\tif (context.includesAny("psLifeSurface","psLifeUnderground")) { return 5; }\n\t\t\t\t\t\telse { return 0; }}},\n\t\t\t\t{ trait: "cBipedal",\n\t\t\t\t\tgetWeight: function(context) {\n\t\t\t\t\t\tif (context.includesAny("psLifeSurface")) { return 10; }\n\t\t\t\t\t\telse { return 0; }}},\n\t\t\t\t{ trait: "cAmorphous",\n\t\t\t\t\tgetWeight: function(context) {\n\t\t\t\t\t\treturn 1; }}\n\t\t\t]\n\t\t},\n\t\t\t\t\t/* Native civ: tech tree */\n\t\t{\n\t\t\t/* Add required techs for civs that are spawned as interstellar */\n\t\t\tmin: 1, max: 1,\n\t\t\tcheckIf: function(context) { return context.includesAny("ctInterstellar"); },\n\t\t\tdefault: ["ctSpacefaring"]\n\t\t},\n\t\t\n\t\t\t/* Basic tech level */\n\t\t{\n\t\t\tmin: 1, max: 1,\n\t\t\tcheckIf: function(context) { return !context.includesAny("ctInterstellar"); },\n\t\t\ttraits: [\n\t\t\t\t{ trait: "ctNonToolUsing",\n\t\t\t\t\tgetWeight: function(context) { \n\t\t\t\t\t\tif (context.includesAny("pGasGiant")) { return 100; }\n\t\t\t\t\t\telse if (context.includesAny("cAquatic","cAvian")) { return 100; }\n\t\t\t\t\t\telse { return 10; }}},\n\t\t\t\t{ trait: "ctPaleolithic",\n\t\t\t\t\tgetWeight: function(context) { \n\t\t\t\t\t\tif (context.includesAny("pGasGiant")) { return 5; }\n\t\t\t\t\t\telse { return 10; }}},\n\t\t\t\t{ trait: "ctMesolithic",\n\t\t\t\t\tgetWeight: function(context) { \n\t\t\t\t\t\tif (context.includesAny("pGasGiant")) { return 5; }\n\t\t\t\t\t\telse { return 10; }}},\n\t\t\t\t{ trait: "ctNeolithic",\n\t\t\t\t\tgetWeight: function(context) { \n\t\t\t\t\t\tif (context.includesAny("pGasGiant")) { return 5; }\n\t\t\t\t\t\telse { return 10; }}},\n\t\t\t\t{ trait: "ctBronzeAge",\n\t\t\t\t\tgetWeight: function(context) { \n\t\t\t\t\t\tif (context.includesAny("pGasGiant")) { return 2; }\n\t\t\t\t\t\telse if (context.includesAny("cAquatic","cAvian")) { return 5; }\n\t\t\t\t\t\telse { return 10; }}},\n\t\t\t\t{ trait: "ctIronAge",\n\t\t\t\t\tgetWeight: function(context) { \n\t\t\t\t\t\tif (context.includesAny("pGasGiant")) { return 2; }\n\t\t\t\t\t\telse if (context.includesAny("cAquatic","cAvian")) { return 5; }\n\t\t\t\t\t\telse { return 10; }}},\n\t\t\t\t{ trait: "ctMedieval",\n\t\t\t\t\tgetWeight: function(context) { \n\t\t\t\t\t\tif (context.includesAny("pGasGiant")) { return 2; }\n\t\t\t\t\t\telse if (context.includesAny("cAquatic","cAvian")) { return 5; }\n\t\t\t\t\t\telse { return 10; }}},\n\t\t\t\t{ trait: "ctIndustrial",\n\t\t\t\t\tgetWeight: function(context) { \n\t\t\t\t\t\tif (context.includesAny("pGasGiant")) { return 2; }\n\t\t\t\t\t\telse if (context.includesAny("cAquatic","cAvian")) { return 5; }\n\t\t\t\t\t\telse { return 10; }}},\n\t\t\t\t{ trait: "ctDigital",\n\t\t\t\t\tgetWeight: function(context) { \n\t\t\t\t\t\tif (context.includesAny("pGasGiant")) { return 2; }\n\t\t\t\t\t\telse if (context.includesAny("cAquatic","cAvian")) { return 5; }\n\t\t\t\t\t\telse { return 10; }}},\n\t\t\t\t// { trait: "ctSpacefaring",\n\t\t\t\t\t// getWeight: function(context) { \n\t\t\t\t\t\t// if (context.includesAny("pGasGiant")) { return 0; }\n\t\t\t\t\t\t// else if (context.includesAny("cAquatic","cAvian")) { return 5; }\n\t\t\t\t\t\t// else { return 10; }}},\n\t\t\t]\n\t\t},\n\n\t\t/* Tech level add-ons */\n\t\t{\n\t\t\tmin: 0, max: 1,\n\t\t\ttraits: [\n\t\t\t\t{ trait: "ctOrbital",\n\t\t\t\t\tgetWeight: function(context) {\n\t\t\t\t\t\tif (context.includesAny("ctIndustrial","ctDigital")) {\n\t\t\t\t\t\t\tvar rv = 10;\n\t\t\t\t\t\t\tif (context.includesAny("ctDigital")) { rv += 5; }\n\t\t\t\t\t\t\tif (context.includesAny("pGravLow")) { rv += 10; }\n\t\t\t\t\t\t\tif (context.includesAny("pGravHigh")) { rv -= 5; }\n\t\t\t\t\t\t\tif (context.includesAny("cAquatic")) { rv -= 5; }\n\t\t\t\t\t\t\treturn rv;\n\t\t\t\t\t\t} else {\n\t\t\t\t\t\t\treturn 0;\n\t\t\t\t\t\t}}},\n\t\t\t\t{ trait: ["ctRegression","ctRegressionRejection"],\n\t\t\t\t\tgetWeight: function(context) {\n\t\t\t\t\t\tif (context.includesAny("ctInterstellar","ctDigital","pGasGiant")) { return 0; }\n\t\t\t\t\t\telse { return 2;}} },\n\t\t\t\t{ trait: ["ctRegression","ctRegressionDepletion"],\n\t\t\t\t\tgetWeight: function(context) {\n\t\t\t\t\t\tif (context.includesAny("ctInterstellar","ctDigital","pGasGiant")) { return 0; }\n\t\t\t\t\t\telse if (context.includesAny("psNoCore")) { return 10; }\n\t\t\t\t\t\telse { return 5;}} },\n\t\t\t\t{ trait: ["ctRegression","ctRegressionFlare"],\n\t\t\t\t\tgetWeight: function(context) {\n\t\t\t\t\t\tif (context.includesAny("ctInterstellar","ctDigital","pGasGiant")) { return 0; }\n\t\t\t\t\t\telse if (context.includes("tSolarFlares")) { return 10; }\n\t\t\t\t\t\telse { return 0;}} },\n\t\t\t\t{ trait: ["ctRegression","ctRegressionWar"],\n\t\t\t\t\tgetWeight: function(context) {\n\t\t\t\t\t\tif (context.includesAny("ctInterstellar","ctDigital","pGasGiant")) { return 0; }\n\t\t\t\t\t\telse { return 5;}} },\n\t\t\t\t{ trait: "",\n\t\t\t\t\tgetWeight: function(context) { return 50; } }\n\t\t\t]\n\t\t},\n\t/* INTERSTELLAR (MEDDLING) CIV TRAITS */\n\t/* Interstellar personality/technologies */\n\t\t{\n\t\t\tmin: 2, max: 3,\n\t\t\tcheckIf: function(context) { return context.includesAny("ctInterstellar"); },\n\t\t\ttraits: [\n\t\t\t\t{ trait: "icArtists",\t\t\t\t\tgetWeight: function(context) { return 10;} },\n\t\t\t\t{ trait: "icColonisers",\t\t\t\tgetWeight: function(context) { return 10;} },\n\t\t\t\t{ trait: "icEcoEngineering",\t\t\tgetWeight: function(context) { return 10;} },\n\t\t\t\t{ trait: "icExperimenters",\t\t\t\tgetWeight: function(context) { return 10;} },\n\t\t\t\t{ trait: "icExploiters",\t\t\t\tgetWeight: function(context) { return 10;} },\n\t\t\t\t{ trait: "icExterminators",\t\t\t\tgetWeight: function(context) { return 10;} },\n\t\t\t\t{ trait: "icInterferers",\t\t\t\tgetWeight: function(context) { return 10;} },\n\t\t\t\t{ trait: "icNanotech",\t\t\t\t\tgetWeight: function(context) { return 10;} },\n\t\t\t\t{ trait: "icObservers",\t\t\t\t\tgetWeight: function(context) { return 10;} },\n\t\t\t\t{ trait: "icPlanetEngineering",\t\t\tgetWeight: function(context) { return 10;} },\n\t\t\t\t{ trait: "icPlanetMoving",\t\t\t\tgetWeight: function(context) { return 10;} },\n\t\t\t\t{ trait: "icSelfReplicatingMachines",\tgetWeight: function(context) { return 10;} },\n\t\t\t\t{ trait: "icSpaceHabitation",\t\t\tgetWeight: function(context) { return 10;} },\n\t\t\t\t{ trait: "icSpaceWarfare",\t\t\t\tgetWeight: function(context) { return 10;} },\n\t\t\t\t{ trait: "icSuspendedAnimation",\t\tgetWeight: function(context) { return 10;} },\n\t\t\t\t{ trait: "icTerraformers",\t\t\t\tgetWeight: function(context) { return 10;} },\n\t\t\t]\n\t\t},\n\t\t{\t\t/* Civ may be extinct. */\n\t\t\tmin: 1, max: 1,\n\t\t\ttraits: [\n\t\t\t\t{ trait: ["cxMeteor","cExtinct"],\n\t\t\t\t\tgetWeight: function(context) {\n\t\t\t\t\t\tif (context.includesAny("icGatebuilders","ctInterstellar")) { return 0; }\n\t\t\t\t\t\telse if (context.includesAny("tAsteroids","plsExtinctionAsteroid")){ return 50;}\n\t\t\t\t\t\telse {return 5;}} },\n\t\t\t\t{ trait: ["cxFlare","cExtinct"],\n\t\t\t\t\tgetWeight: function(context) {\n\t\t\t\t\t\tif (context.includesAny("icGatebuilders","ctInterstellar")) { return 0; }\n\t\t\t\t\t\telse if (context.includesAny("tSolarFlares")){ return 50;}\n\t\t\t\t\t\telse {return 5;}} },\n\t\t\t\t{ trait: ["cxDisease","cExtinct"],\n\t\t\t\t\tgetWeight: function(context) {\n\t\t\t\t\t\tif (context.includesAny("icGatebuilders","ctInterstellar")) { return 0; }\n\t\t\t\t\t\telse if (context.includesAny("plsExtinctionDisease","plsNonObviousConflict")){ return 50;}\n\t\t\t\t\t\telse {return 10;}} },\n\t\t\t\t{ trait: ["cxClimateShift","cExtinct"],\n\t\t\t\t\tgetWeight: function(context) {\n\t\t\t\t\t\tif (context.includesAny("icGatebuilders","ctInterstellar")) { return 0; }\n\t\t\t\t\t\telse if (context.includesAny("plsExtinctionClimateShift")){ return 50;}\n\t\t\t\t\t\telse {return 10;}} },\n\t\t\t\t{ trait: ["cxGammaBurst","cExtinct"],\n\t\t\t\t\tgetWeight: function(context) {\n\t\t\t\t\t\tif (context.includesAny("icGatebuilders","ctInterstellar")) { return 0; }\n\t\t\t\t\t\telse { return 10;}} },\n\t\t\t\t{ trait: ["cxClimateChange","cExtinct"],\n\t\t\t\t\tgetWeight: function(context) {\n\t\t\t\t\t\tif (context.includesAny("icGatebuilders")) { return 0; }\n\t\t\t\t\t\telse if (context.includesAny("ctInterstellar")){ return 10;}\n\t\t\t\t\t\telse if (context.includesAny("ctSpacefaring")){ return 50;}\n\t\t\t\t\t\telse if (context.includesAny("ctDigital")){ return 100;}\n\t\t\t\t\t\telse if (context.includesAny("ctIndustrial")){ return 50;}\n\t\t\t\t\t\telse {return 0;}} },\n\t\t\t\t{ trait: ["cxNuclearWar","cExtinct"],\n\t\t\t\t\tgetWeight: function(context) {\n\t\t\t\t\t\tif (context.includesAny("icGatebuilders")) { return 0; }\n\t\t\t\t\t\telse if (context.includesAny("psNuclearBattlefields")){ return 50;}\n\t\t\t\t\t\telse {return 0;}} },\n\t\t\t\t{ trait: ["cxBioweapon","cExtinct"],\n\t\t\t\t\tgetWeight: function(context) {\n\t\t\t\t\t\tif (context.includesAny("icGatebuilders")) { return 0; }\n\t\t\t\t\t\telse if (context.includesAny("ctInterstellar")){ return 10;}\n\t\t\t\t\t\telse if (context.includesAny("ctDigital")){ return 50;}\n\t\t\t\t\t\telse {return 0;}} },\n\t\t\t\t{ trait: ["cxAIRebellion","cExtinct"],\n\t\t\t\t\tgetWeight: function(context) {\n\t\t\t\t\t\tif (context.includesAny("icGatebuilders")) { return 0; }\n\t\t\t\t\t\telse if (context.includesAny("ctInterstellar")){ return 10;}\n\t\t\t\t\t\telse if (context.includesAny("ctDigital")){ return 50;}\n\t\t\t\t\t\telse {return 0;}} },\n\t\t\t\t{ trait: ["cxDeliberatelyPostSapient","cExtinct"],\n\t\t\t\t\tgetWeight: function(context) {\n\t\t\t\t\t\tif (context.includesAny("icGatebuilders")) { return 0; }\n\t\t\t\t\t\telse if (context.includesAny("ctDigital","ctSpacefaring")){ return 20;}\n\t\t\t\t\t\telse {return 0;}} },\n\t\t\t\t{ trait: ["cxGraduallyPostSapient","cExtinct"],\n\t\t\t\t\tgetWeight: function(context) {\n\t\t\t\t\t\tif (context.includesAny("icGatebuilders","ctInterstellar")) { return 0; }\n\t\t\t\t\t\telse { return 20; }}},\n\n\t\t\t\t{ trait: ["cxTheMachineStops","cExtinct"],\n\t\t\t\t\tgetWeight: function(context) {\n\t\t\t\t\t\tif (context.includesAny("icGatebuilders")) { return 0; }\n\t\t\t\t\t\telse if (context.includesAny("ctDigital","ctSpacefaring")){ return 20;}\n\t\t\t\t\t\telse {return 0;}} },\n\t\t\t\t\n\t\t\t\t/* NEW FOR 1.1.0 */\n\t\t\t\t{ trait: ["cxSimulationEnding","cExtinct"],\n\t\t\t\t\tgetWeight: function(context) {\n\t\t\t\t\t\tif (context.includesAny("icGatebuilders")) { return 0; }\n\t\t\t\t\t\telse if (context.includesAny("ctDigital","ctSpacefaring")){ return 20;}\n\t\t\t\t\t\telse {return 0;}} },\n\n\t\t\t\t/* Special extinction reasons for spacefaring civs */\n\t\t\t\t{ trait: ["cxInterstellarWar","cExtinct"],\n\t\t\t\t\tgetWeight: function(context) {\n\t\t\t\t\t\tif (context.includesAny("icGatebuilders")) { return 0; }\n\t\t\t\t\t\telse if (context.includesAll("ctInterstellar","icSpaceWarfare")){ return 100;}\n\t\t\t\t\t\telse if (context.includesAll("ctInterstellar")){ return 10;}\n\t\t\t\t\t\telse {return 0;}} },\n\t\t\t\t{ trait: ["cxAscension","cExtinct"],\n\t\t\t\t\tgetWeight: function(context) {\n\t\t\t\t\t\tif (context.includesAny("icGatebuilders")) { return 0; }\n\t\t\t\t\t\telse if (context.includesAll("ctInterstellar")){ return 50;}\n\t\t\t\t\t\telse {return 0;}} },\n\t\t\t\t{ trait: ["cxPassedBeyondTheRim","cExtinct"],\n\t\t\t\t\tgetWeight: function(context) {\n\t\t\t\t\t\tif (context.includesAny("icGatebuilders")) { return 0; }\n\t\t\t\t\t\telse if (context.includesAll("ctInterstellar","icObservers")){ return 100;}\n\t\t\t\t\t\telse if (context.includesAll("ctInterstellar","icSpaceHabitation")){ return 100;}\n\t\t\t\t\t\telse if (context.includesAll("ctInterstellar")){ return 50;}\n\t\t\t\t\t\telse {return 0;}} },\n\t\t\t\t{ trait: ["cxUnsustainableGrowth","cExtinct"],\n\t\t\t\t\tgetWeight: function(context) {\n\t\t\t\t\t\tif (context.includesAny("icGatebuilders")) { return 0; }\n\t\t\t\t\t\telse if (context.includesAny("icGatebuilders")) { return 0; }\n\t\t\t\t\t\telse if (context.includesAll("ctInterstellar","icExploiters")){ return 100;}\n\t\t\t\t\t\telse if (context.includesAll("ctInterstellar","icColonisers")){ return 100;}\n\t\t\t\t\t\telse {return 0;}} },\n\t\t\t\t{ trait: ["cxScientificHubris","cExtinct"],\n\t\t\t\t\tgetWeight: function(context) {\n\t\t\t\t\t\tif (context.includesAny("icGatebuilders")) { return 0; }\n\t\t\t\t\t\telse if (context.includesAll("ctInterstellar","icExperimenters")){ return 100;}\n\t\t\t\t\t\telse if (context.includesAll("ctInterstellar","icObservers")){ return 50}\n\t\t\t\t\t\telse {return 0;}} },\n\t\t\t\t{ trait: ["cxGateFailure","cExtinct"],\n\t\t\t\t\tgetWeight: function(context) {\n\t\t\t\t\t\tif (context.includesAny("icGatebuilders")) { return 0; }\n\t\t\t\t\t\telse if (context.includesAll("ctInterstellar","icExploiters")){ return 100;}\n\t\t\t\t\t\telse if (context.includesAll("ctInterstellar","icColonisers")){ return 100;}\n\t\t\t\t\t\telse {return 0;}} },\n\t\t\t\t{ trait: ["cxGatebuilderFate","cExtinct"],\n\t\t\t\t\tgetWeight: function(context) {\n\t\t\t\t\t\tif (context.includesAny("icGatebuilders")) { return 10000; }\n\t\t\t\t\t\telse {return 0;}} },\n\n\t\t\t\t/* Not extinct */\n\t\t\t\t{ trait: ["cNotExtinct"],\n\t\t\t\t\tgetWeight: function(context) {\n\t\t\t\t\t\tif (context.includesAny("icGatebuilders","plExtinct")){ return 0;}\n\t\t\t\t\t\telse {return 1000;}} },\n\t\t\t]\n\t\t},{\t\t/* Native civ: SETTLEMENTS */\n\t\t\tmin: 1, max: 1,\n\t\t\t//default: ["psGenericArtificialSigns","pPossibleArtificialTraces"],\n\t\t\ttraits: [\n\t\t\t\t{ trait: ["psUndergroundCities","psArtificialCaves","pCaves"],\n\t\t\t\t\tgetWeight: function(context) {\n\t\t\t\t\t\tif (!context.includesAny("pTerrestialPlanet","pMinorPlanet")) { return 0; }\n\t\t\t\t\t\tif (context.includesAny("pOceanPlanetwide","ctNonToolUsing")) { return 0; }\n\t\t\t\t\t\telse { return 10;}}},\n\t\t\t\t{ trait: ["psUndergroundCities"],\n\t\t\t\t\tgetWeight: function(context) {\n\t\t\t\t\t\tif (context.includesAny("ctNonToolUsing","ctPaleolithic","ctMesolithic")) { return 0; }\n\t\t\t\t\t\telse if (context.includesAny("pCaves")) { return 10; }\n\t\t\t\t\t\telse { return 0;}}},\n\t\t\t\t{ trait: ["psFloatingCities","pFloatingStructures"],\n\t\t\t\t\tgetWeight: function(context) {\n\t\t\t\t\t\tif (context.includesAny("pFloatingStructures","ctNonToolUsing","ctPaleolithic","ctMesolithic")) { return 0; }\n\t\t\t\t\t\telse if (context.includesAny("pOceanWaterPlanetwide")) { return 10; }\n\t\t\t\t\t\telse if (context.includesAny("pOceanWater")) { return 5; }\n\t\t\t\t\t\telse { return 0;}}},\n\t\t\t\t{ trait: ["psForestCities"],\n\t\t\t\t\tgetWeight: function(context) {\n\t\t\t\t\t\tif (context.includesAny("ctNonToolUsing","ctPaleolithic","ctMesolithic")) { return 0; }\n\t\t\t\t\t\telse if (context.includesAny("psForests")) { return 100; }\n\t\t\t\t\t\telse { return 0;}}},\n\t\t\t\t{ trait: ["psInhabitedFloatingVeg"],\n\t\t\t\t\tgetWeight: function(context) {\n\t\t\t\t\t\tif (context.includesAny("ctNonToolUsing","ctPaleolithic","ctMesolithic")) { return 0; }\n\t\t\t\t\t\telse if (context.includesAny("psFloatingVegetation")) { return 100; }\n\t\t\t\t\t\telse { return 0;}}},\n\t\t\t\t{ trait: ["psCrystalCities","psCrystalForests","pPossibleVegetation"],\n\t\t\t\t\tgetWeight: function(context) {\n\t\t\t\t\t\tif (context.includesAny("ctNonToolUsing","ctPaleolithic","ctMesolithic","pOceanPlanetwide","pGasGiant")) { return 0; }\n\t\t\t\t\t\telse if (context.includesAny("psCrystalForests")) { return 100; }\n\t\t\t\t\t\telse { return 10;}}},\n\t\t\t\t{ trait: ["psUnderwaterCities"],\n\t\t\t\t\tgetWeight: function(context) {\n\t\t\t\t\t\tif (context.includesAny("ctNonToolUsing","ctPaleolithic","ctMesolithic")) { return 0; }\n\t\t\t\t\t\telse if (context.includesAny("cAquatic")) { return 50; }\n\t\t\t\t\t\telse { return 0;}}},\n\t\t\t\t{ trait: ["psFlyingCities","pFlyingObjects"],\n\t\t\t\t\tgetWeight: function(context) {\n\t\t\t\t\t\tif (context.includesAny("ctNonToolUsing","pAtmosNone")) { return 0; }\n\t\t\t\t\t\telse if (context.includesAny("ctSpacefaring","ctDigital","ctIndustrial")) {\n\t\t\t\t\t\t\tvar rv = 0;\n\t\t\t\t\t\t\tif (context.includesAny("pAtmosCrushing")) \t{ rv += 10;}\n\t\t\t\t\t\t\telse if (context.includesAny("pAtmosThick")) \t{ rv += 5;}\n\t\t\t\t\t\t\telse if (context.includesAny("pAtmosThin")) \t{ rv += 0;}\n\t\t\t\t\t\t\tif (context.includesAny("pGravLow")) \t\t\t{ rv += 10;}\n\t\t\t\t\t\t\telse if (context.includesAny("pGravMedium")) \t{ rv += 5;}\n\t\t\t\t\t\t\telse if (context.includesAny("pGravHigh")) \t{ rv += 0;}\n\t\t\t\t\t\t\tif (context.includesAny("cAvian")) \t\t\t{ rv += 10;}\n\t\t\t\t\t\t\tif (context.includesAny("cAquatic")) \t\t\t{ rv -= 20;}\n\t\t\t\t\t\t\treturn rv; }\n\t\t\t\t\t\telse { return 0}}},\n\t\t\t\t{ trait: ["psCities","pPossibleStructures"],\n\t\t\t\t\tgetWeight: function(context) {\n\t\t\t\t\t\tif (context.includesAny("ctNonToolUsing","ctPaleolithic","ctMesolithic","cAquatic")) { return 0; }\n\t\t\t\t\t\telse if (context.includesAny("psSmallSettlements","pOceanPlanetwide","pGasGiant")) { return 0; }\n\t\t\t\t\t\telse { return 10;}}},\n\t\t\t\t{ trait: ["psSmallSettlements","pPossibleStructures"],\n\t\t\t\t\tgetWeight: function(context) {\n\t\t\t\t\t\tif (context.includesAny("cAquatic")) { return 0; }\n\t\t\t\t\t\telse if (context.includesAny("psCities","pOceanPlanetwide","pGasGiant")) { return 0; }\n\t\t\t\t\t\telse { return 10;}}},\n\t\t\t\t{ trait: ["psSmallUnderwaterSettlements"],\n\t\t\t\t\tgetWeight: function(context) {\n\t\t\t\t\t\tif (!context.includesAny("cAquatic")) { return 0; }\n\t\t\t\t\t\telse { return 10;}}},\n\t\t\t\t{ trait: ["psNomadicGroups","pMovingLandObjects"],\n\t\t\t\t\tgetWeight: function(context) {\n\t\t\t\t\t\tif (context.includesAny("pOceanPlanetwide","cExtinct","cAquatic")) { return 0;}\n\t\t\t\t\t\telse if (context.includesAny("ctNonToolUsing","ctPaleolithic","ctMesolithic")) { return 100; }\n\t\t\t\t\t\telse { return 10;}} },\n\t\t\t\t{ trait: ["psAirborneNomads","pFlyingObjects"],\n\t\t\t\t\tgetWeight: function(context) {\n\t\t\t\t\t\tif (context.includesAny("pAtmosNone","cExtinct") || !context.includesAny("cAvian","cAmorphous")) { return 0;}\n\t\t\t\t\t\telse if (context.includesAny("ctNonToolUsing","ctPaleolithic","ctMesolithic")) { return 100; }\n\t\t\t\t\t\telse { return 10;}} },\n\t\t\t\t{ trait: ["psOceanNomads"],\n\t\t\t\t\tgetWeight: function(context) {\n\t\t\t\t\t\tif (context.includesAny("cExtinct") || !context.includesAny("pOceanWater","pOceanHydrocarbons","pOceanAmmonia") || !context.includesAny("cAquatic","cAmorphous")) { return 0;}\n\t\t\t\t\t\telse if (context.includesAny("ctNonToolUsing","ctPaleolithic","ctMesolithic")) { return 100; }\n\t\t\t\t\t\telse { return 10;}} },\n\t\t\t\t{ trait: ["plSpeciesWithComplexBehaviour","plsAnimalsActuallySapient"],\n\t\t\t\t\tgetWeight: function(context) {\n\t\t\t\t\t\tif (context.includesAny("plSpeciesWithComplexBehaviour")) { return 0; }\n\t\t\t\t\t\telse if (!context.includesAny("psLifeAnimals")) { return 0; }\n\t\t\t\t\t\telse if (context.includesAny("cExtinct")) { return 0; }\n\t\t\t\t\t\telse if (context.includesAny("ctNonToolUsing")){ return 100;}\n\t\t\t\t\t\telse {return 0;}}},\n\t\t\t]\n\t\t},{\t\t/* Native civ: MYSTERIES AND RESOLUTIONS */\n\t\t\tmin: 1, max: 2,\n\t\t\ttraits: [\n\t\t\t\t{ trait: ["cSmallGroups","cPackIntelligence"],\n\t\t\t\t\tgetWeight: function(context) {\n\t\t\t\t\t\tif (context.includesAny("cSmallGroups")) { return 0; }\n\t\t\t\t\t\telse if (context.includesAny("plsNaturalEMTransmitters")) { return 20; }\n\t\t\t\t\t\telse { return 5; }}},\n\t\t\t\t{ trait: ["cSmallGroups","cStrongSocialBonds"],\n\t\t\t\t\tgetWeight: function(context) {\n\t\t\t\t\t\tif (context.includesAny("cSmallGroups")) { return 0; }\n\t\t\t\t\t\telse { return 5; }}},\n\t\t\t\t{ trait: ["cSmallGroups","cBondedOffspring"],\n\t\t\t\t\tgetWeight: function(context) {\n\t\t\t\t\t\tif (context.includesAny("cSmallGroups")) { return 0; }\n\t\t\t\t\t\telse { return 5; }}},\n\t\t\t\t{ trait: ["cSmallGroups","cRedundantGroups"],\n\t\t\t\t\tgetWeight: function(context) {\n\t\t\t\t\t\tif (context.includesAny("cSmallGroups")) { return 0; }\n\t\t\t\t\t\telse { return 5; }}},\n\t\t\t\t{ trait: ["cDistantMemories","cHistoricalCulture"],\n\t\t\t\t\tgetWeight: function(context) {\n\t\t\t\t\t\tif (context.includesAny("cDistantMemories","ctNonToolUsing")) { return 0; }\n\t\t\t\t\t\telse { return 5; }}},\n\t\t\t\t{ trait: ["cDistantMemories","cInheritedMemories"],\n\t\t\t\t\tgetWeight: function(context) {\n\t\t\t\t\t\tif (context.includesAny("cDistantMemories")) { return 0; }\n\t\t\t\t\t\telse { return 5; }}},\n\t\t\t\t{ trait: ["cDistantMemories","cCannibalMemories"],\n\t\t\t\t\tgetWeight: function(context) {\n\t\t\t\t\t\tif (context.includesAny("cDistantMemories","cAICiv")) { return 0; }\n\t\t\t\t\t\telse if (context.includesAny("cCarnivores")) { return 20; }\n\t\t\t\t\t\telse if (context.includesAny("cOmnivores")) { return 10; }\n\t\t\t\t\t\telse { return 0; }}},\n\t\t\t\t{ trait: ["cDistantMemories","cLongLivedSymbionts"],\n\t\t\t\t\tgetWeight: function(context) {\n\t\t\t\t\t\tif (context.includesAny("cDistantMemories","cAICiv")) { return 0; }\n\t\t\t\t\t\telse if (context.includesAny("plsColonyCreatures")) { return 20; }\n\t\t\t\t\t\telse {return 5; }}},\n\t\t\t\t{ trait: ["cDistantMemories","cRejuvenationTechnology"],\n\t\t\t\t\tgetWeight: function(context) {\n\t\t\t\t\t\tif (context.includesAny("cDistantMemories")) { return 0; }\n\t\t\t\t\t\telse if (context.includesAny("ctDigital","ctSpacefaring")) { return 20; }\n\t\t\t\t\t\telse { return 0; }}},\n\t\t\t\t{ trait: ["cDistantMemories","cMemoryRecordings"],\n\t\t\t\t\tgetWeight: function(context) {\n\t\t\t\t\t\tif (context.includesAny("cDistantMemories")) { return 0; }\n\t\t\t\t\t\telse if (context.includesAny("ctDigital","ctSpacefaring")) { return 20; }\n\t\t\t\t\t\telse { return 0; }} },\n\t\t\t\t{ trait: ["cUndevelopedAreas","cNaturalSanctuaries"],\n\t\t\t\t\tgetWeight: function(context) {\n\t\t\t\t\t\tif (context.includesAny("cUndevelopedAreas")) { return 0; }\n\t\t\t\t\t\telse if (context.includesAny("ctIndustrial","ctDigital","ctSpacefaring")) { return 20; }\n\t\t\t\t\t\telse if (context.includesAny("ctBronzeAge","ctIronAge","ctMedieval")) { return 5; }\n\t\t\t\t\t\telse { return 0; }} },\n\t\t\t\t{ trait: ["cUndevelopedAreas","cHarmfulAreas"],\n\t\t\t\t\tgetWeight: function(context) {\n\t\t\t\t\t\tif (context.includesAny("cUndevelopedAreas")) { return 0; }\n\t\t\t\t\t\telse if (context.includesAny("plsNonObviousConflict")) { return 20; }\n\t\t\t\t\t\telse { return 5; }}},\n\t\t\t\t{ trait: ["cUndevelopedAreas","cAncientRadiationZones"],\n\t\t\t\t\tgetWeight: function(context) {\n\t\t\t\t\t\tif (context.includesAny("cUndevelopedAreas")) { return 0; }\n\t\t\t\t\t\telse if (context.includesAny("ctDigital","ctSpacefaring")) { return 20; }\n\t\t\t\t\t\telse { return 0; }} },\n\t\t\t\t{ trait: ["cTwoSpecies","cTwoSeparatelyEvolvedSpecies"],\n\t\t\t\t\tgetWeight: function(context) {\n\t\t\t\t\t\tif (context.includesAny("cTwoSpecies")) { return 0; }\n\t\t\t\t\t\telse if (context.includesAny("plsVeryDiverseLife")) { return 20; }\n\t\t\t\t\t\telse if (context.includesAny("plsOneSpeciesManyForms")) { return 0; }\n\t\t\t\t\t\telse { return 5; }}},\n\t\t\t\t{ trait: ["cTwoSpecies","cCivIncludesUpliftedAnimals"],\n\t\t\t\t\tgetWeight: function(context) {\n\t\t\t\t\t\tif (context.includesAny("cTwoSpecies")) { return 0; }\n\t\t\t\t\t\telse if (context.includesAny("ctDigital","ctSpacefaring","ctRegression")) { return 20; }\n\t\t\t\t\t\telse { return 0; }} },\n\t\t\t\t{ trait: ["cTwoSpecies","cCivIncludesCreatedSpecies"],\n\t\t\t\t\tgetWeight: function(context) {\n\t\t\t\t\t\tif (context.includesAny("cTwoSpecies")) { return 0; }\n\t\t\t\t\t\telse if (context.includesAny("ctDigital","ctSpacefaring","ctRegression")) { return 20; }\n\t\t\t\t\t\telse { return 0; }} },\n\t\t\t\t{ trait: ["cTwoSpecies","cLifeStageDiversity"],\n\t\t\t\t\tgetWeight: function(context) {\n\t\t\t\t\t\tif (context.includesAny("cTwoSpecies")) { return 0; }\n\t\t\t\t\t\telse if (context.includesAny("plsOneSpeciesManyForms")) { return 20; }\n\t\t\t\t\t\telse { return 5; }}},\n\t\t\t\t{ trait: ["cCivNotLinkedToNativeLife","cGeneticallyModifiedSpecies"],\n\t\t\t\t\tgetWeight: function(context) {\n\t\t\t\t\t\tif (context.includesAny("cCivNotLinkedToNativeLife","cAICiv")) { return 0; }\n\t\t\t\t\t\telse if (context.includesAny("ctDigital","ctSpacefaring","ctRegression")) { return 20; }\n\t\t\t\t\t\telse { return 0; }} },\n\t\t\t\t{ trait: ["cCivNotLinkedToNativeLife","cMissingLinksExterminated"],\n\t\t\t\t\tgetWeight: function(context) {\n\t\t\t\t\t\tif (context.includesAny("cCivNotLinkedToNativeLife","cAICiv")) { return 0; }\n\t\t\t\t\t\telse if (context.includesAny("ctIndustrial","ctDigital","ctSpacefaring","ctRegression")) { return 20; }\n\t\t\t\t\t\telse if (context.includesAny("ctBronzeAge","ctIronAge","ctMedieval")) { return 5; }\n\t\t\t\t\t\telse { return 0; }} },\n\t\t\t\t{ trait: ["cCyberBrains","cBrainInterfaces"],\n\t\t\t\t\tgetWeight: function(context) {\n\t\t\t\t\t\tif (context.includesAny("cCyberBrains","cAICiv")) { return 0; }\n\t\t\t\t\t\telse if (context.includesAny("ctDigital","ctSpacefaring")) { return 20; }\n\t\t\t\t\t\telse { return 0; }} },\n\t\t\t\t{ trait: ["cCyberBrains","cGovernmentBrainImplants"],\n\t\t\t\t\tgetWeight: function(context) {\n\t\t\t\t\t\tif (context.includesAny("cCyberBrains","cAICiv")) { return 0; }\n\t\t\t\t\t\telse if (context.includesAny("ctDigital","ctSpacefaring")) { return 20; }\n\t\t\t\t\t\telse { return 0; }} },\n\t\t\t\t{ trait: ["cCyberBrains","cCyberneticGroupMind"],\n\t\t\t\t\tgetWeight: function(context) {\n\t\t\t\t\t\tif (context.includesAny("cCyberBrains","cAICiv")) { return 0; }\n\t\t\t\t\t\telse if (context.includesAny("ctDigital","ctSpacefaring")) { return 20; }\n\t\t\t\t\t\telse { return 0; }} },\n\t\t\t\t{ trait: ["cImprobablyHomogeneous","cNaturalCloning"],\n\t\t\t\t\tgetWeight: function(context) {\n\t\t\t\t\t\tif (context.includesAny("cImprobablyHomogeneous","AICiv")) { return 0; }\n\t\t\t\t\t\telse { return 5; }}},\n\t\t\t\t{ trait: ["cImprobablyHomogeneous","cCloneWorld"],\n\t\t\t\t\tgetWeight: function(context) {\n\t\t\t\t\t\tif (context.includesAny("cImprobablyHomogeneous","AICiv")) { return 0; }\n\t\t\t\t\t\telse if (context.includesAny("ctDigital","ctSpacefaring")) { return 20; }\n\t\t\t\t\t\telse { return 0; }}},\n\t\t\t\t{ trait: ["cImprobablyHomogeneous","cOneFashionableAppearance"],\n\t\t\t\t\tgetWeight: function(context) {\n\t\t\t\t\t\tif (context.includesAny("cImprobablyHomogeneous","AICiv")) { return 0; }\n\t\t\t\t\t\telse if (context.includesAny("ctDigital","ctSpacefaring")) { return 20; }\n\t\t\t\t\t\telse { return 0; }} },\n\t\t\t\t{ trait: ["cMummiesOnDisplay","cDeathReverence"],\n\t\t\t\t\tgetWeight: function(context) {\n\t\t\t\t\t\tif (context.includesAny("cMummiesOnDisplay")) { return 0; }\n\t\t\t\t\t\telse if (context.includesAny("ctNeolithic","ctBronzeAge","ctIronAge","ctMedieval","ctIndustrial","ctDigital","ctSpacefaring")) { return 10; }\n\t\t\t\t\t\telse { return 0; }} },\n\t\t\t\t{ trait: ["cMummiesOnDisplay","cDeadInformationStorage"],\n\t\t\t\t\tgetWeight: function(context) {\n\t\t\t\t\t\tif (context.includesAny("cMummiesOnDisplay")) { return 0; }\n\t\t\t\t\t\telse if (context.includesAny("ctDigital","ctSpacefaring")) { return 20; }\n\t\t\t\t\t\telse { return 0; }} },\n\t\t\t\t{ trait: ["cMummiesOnDisplay","cDormantNotDead"],\n\t\t\t\t\tgetWeight: function(context) {\n\t\t\t\t\t\tif (context.includesAny("cMummiesOnDisplay")) { return 0; }\n\t\t\t\t\t\telse if (context.includesAny("plsHibernatingLife")) { return 20; }\n\t\t\t\t\t\telse { return 5; }}},\n\t\t\t\t{ trait: ["cHistoricalStasis","cSocialEquilibrium"],\n\t\t\t\t\tgetWeight: function(context) {\n\t\t\t\t\t\tif (context.includesAny("cHistoricalStasis")) { return 0; }\n\t\t\t\t\t\telse { return 5; }}},\n\t\t\t\t{ trait: ["cHistoricalStasis","cFakeHistory"],\n\t\t\t\t\tgetWeight: function(context) {\n\t\t\t\t\t\tif (context.includesAny("cHistoricalStasis")) { return 0; }\n\t\t\t\t\t\telse if (context.includesAny("ctNeolithic","ctBronzeAge","ctIronAge","ctMedieval","ctIndustrial","ctDigital","ctSpacefaring")) { return 10; }\n\t\t\t\t\t\telse { return 0; }} },\n\t\t\t\t{ trait: ["cAncientAliensMyth","cBaselessAncientAliensMyth"],\n\t\t\t\t\tgetWeight: function(context) {\n\t\t\t\t\t\tif (context.includesAny("cAncientAliensMyth")) { return 0; }\n\t\t\t\t\t\telse { return 5; }}},\n\t\t\t\t{ trait: ["cEmptySettlements","cPeriodicHibernation"],\n\t\t\t\t\tgetWeight: function(context) {\n\t\t\t\t\t\tif (context.includesAny("cEmptySettlements","psNomadicGroups")) { return 0; }\n\t\t\t\t\t\telse if (context.includesAny("plsHibernatingLife")) { return 20; }\n\t\t\t\t\t\telse { return 5; }} },\n\t\t\t\t{ trait: ["cEmptySettlements","cPeriodicDieOffs"],\n\t\t\t\t\tgetWeight: function(context) {\n\t\t\t\t\t\tif (context.includesAny("cEmptySettlements","psNomadicGroups")) { return 0; }\n\t\t\t\t\t\telse if (context.includesAny("psNomadicGroups")) { return 0; }\n\t\t\t\t\t\telse { return 5; }} },\n\t\t\t\t{ trait: ["cEmptySettlements","cRecentPlague"],\n\t\t\t\t\tgetWeight: function(context) {\n\t\t\t\t\t\tif (context.includesAny("cEmptySettlements","psNomadicGroups")) { return 0; }\n\t\t\t\t\t\telse if (context.includesAny("plsExtinctionDisease")) { return 20; }\n\t\t\t\t\t\telse { return 5; }} },\n\t\t\t\t{ trait: ["cEmptySettlements","cRecentBioContainmentFailure"],\n\t\t\t\t\tgetWeight: function(context) {\n\t\t\t\t\t\tif (context.includesAny("cEmptySettlements","psNomadicGroups")) { return 0; }\n\t\t\t\t\t\telse if (context.includesAny("ctDigital","ctSpacefaring")) { return 20; }\n\t\t\t\t\t\telse { return 0; }} },\n\t\t\t\t{ trait: ["cAICiv","cAIConversion","-cOmnivores","-cHerbivores","-cCarnivores","-cPhotosynthesizers"],\n\t\t\t\t\tgetWeight: function(context) {\n\t\t\t\t\t\tif (context.includesAny("cAICiv","cxAIRebellion","cCannibalMemories","cLongLivedSymbionts","cCyberBrains","cCivNotLinkedToNativeLife","cImprobablyHomogeneous","cxAIRebellion","cxDeliberatelyPostSapient","cxGraduallyPostSapient","cxDisease","cxBioweapon")) { return 0; }\n\t\t\t\t\t\telse if (context.includesAny("icExperimenters")) { return 100; }\n\t\t\t\t\t\telse if (context.includesAny("ctSpacefaring")) { return 50; }\n\t\t\t\t\t\telse if (context.includesAny("ctDigital")) { return 20; }\n\t\t\t\t\t\telse { return 0; }} },\n\t\t\t\t{ trait: ["cAICiv","cAIOutlived","-cOmnivores","-cHerbivores","-cCarnivores","-cPhotosynthesizers"],\n\t\t\t\t\tgetWeight: function(context) {\n\t\t\t\t\t\tif (context.includesAny("cAICiv","cxAIRebellion","cCannibalMemories","cLongLivedSymbionts","cCyberBrains","cCivNotLinkedToNativeLife","cImprobablyHomogeneous","cxAIRebellion","cxDeliberatelyPostSapient","cxGraduallyPostSapient","cxDisease","cxBioweapon")) { return 0; }\n\t\t\t\t\t\telse if (context.includesAny("icObservers")) { return 100; }\n\t\t\t\t\t\telse if (context.includesAny("ctSpacefaring")) { return 50; }\n\t\t\t\t\t\telse if (context.includesAny("ctDigital")) { return 20; }\n\t\t\t\t\t\telse { return 0; }} },\n\t\t\t\t{ trait: ["cAICiv","cAIMurdered","-cOmnivores","-cHerbivores","-cCarnivores","-cPhotosynthesizers"],\n\t\t\t\t\tgetWeight: function(context) {\n\t\t\t\t\t\tif (context.includesAny("cAICiv","cxAIRebellion","cCannibalMemories","cLongLivedSymbionts","cCyberBrains","cCivNotLinkedToNativeLife","cImprobablyHomogeneous","cxAIRebellion","cxDeliberatelyPostSapient","cxGraduallyPostSapient","cxDisease","cxBioweapon")) { return 0; }\n\t\t\t\t\t\telse if (context.includesAny("icExploiters","icSpaceWarfare")) { return 100; }\n\t\t\t\t\t\telse if (context.includesAny("ctSpacefaring")) { return 50; }\n\t\t\t\t\t\telse if (context.includesAny("ctDigital")) { return 20; }\n\t\t\t\t\t\telse { return 0; }} },\n\t\t\t\t/* NEW FOR 1.1.0 */\n\t\t\t\t{ trait: ["pPossibleStructures","psPlanetSpanningComputer","psSimulatedWorld"],\n\t\t\t\t\tgetWeight: function(context) {\n\t\t\t\t\t\tif (context.includesAny("pOceanPlanetwide","pGasGiant","psPlanetSpanningComputer","ctRegressionFlare","cxFlare")) { return 0; }\n\t\t\t\t\t\telse if (context.includesAny("cxSimulationEnding")) { return 1000; }\n\t\t\t\t\t\telse if (context.includesAny("ctDigital","ctSpacefaring","ctRegression")) { return 10; }\n\t\t\t\t\t\telse { return 0; }} },\n\t\t\t\t{ trait: ["pPossibleStructures","psPlanetSpanningComputer","psComputerGod"],\n\t\t\t\t\tgetWeight: function(context) {\n\t\t\t\t\t\tif (context.includesAny("pOceanPlanetwide","pGasGiant","psPlanetSpanningComputer","ctRegressionFlare","cxFlare")) { return 0; }\n\t\t\t\t\t\telse if (context.includesAny("ctRegressionRejection")) { return 100; }\n\t\t\t\t\t\telse if (context.includesAny("ctDigital","ctSpacefaring","ctRegression")) { return 10; }\n\t\t\t\t\t\telse { return 0; }} },\n\t\t\t\t{ trait: ["pPossibleStructures","psPlanetSpanningComputer","psGrandCalculator"],\n\t\t\t\t\tgetWeight: function(context) {\n\t\t\t\t\t\tif (context.includesAny("pOceanPlanetwide","pGasGiant","psPlanetSpanningComputer","ctRegressionFlare","cxFlare")) { return 0; }\n\t\t\t\t\t\telse if (context.includesAny("ctDigital","ctSpacefaring","ctRegression")) { return 10; }\n\t\t\t\t\t\telse { return 0; }} },\n\t\t\t]\n\t\t}\n\t],\n\tvisibleCivSigns: [\n\t\t{\t\n\t\t\t\t/* Native civ: PHYSICAL EFFECTS */\n\t\t\t\t/* These can be visible from orbit or Life Mysteries */\n\t\t\t\t/* Called at the end of planet gen so as not to spawn anything that couldn't work for an extinct civ */\n\t\t\tmin: 1, max: 2,\n\t\t\ttraits: [\n\t\t\t\t\t/* Traces that are visible from orbit: */\n\t\t\t\t{ trait: ["psTendedForests"],\n\t\t\t\t\tgetWeight: function(context) {\n\t\t\t\t\t\tif (context.includesAny("psForests")) { return 10; }\n\t\t\t\t\t\telse { return 0;}}},\n\t\t\t\t{ trait: ["psNuclearBattlefields","pRadiationZones"],\n\t\t\t\t\tgetWeight: function(context) {\n\t\t\t\t\t\tif (context.includesAny("ctRegressionWar")) { return 500;}\n\t\t\t\t\t\telse if (context.includesAny("ctDigital","ctSpacefaring","ctRegression")) { return 50;}\n\t\t\t\t\t\telse {return 0;}}},\n\t\t\t\t{ trait: ["psNuclearPowerAccident","pRadiationZones"],\n\t\t\t\t\tgetWeight: function(context) {\n\t\t\t\t\t\tif (context.includesAny("ctDigital","ctSpacefaring","ctRegression")) { return 50;}\n\t\t\t\t\t\telse {return 0;}}},\n\t\t\t\t{ trait: ["psAircraft","pFlyingObjects"],\n\t\t\t\t\tgetWeight: function(context) {\n\t\t\t\t\t\tif (context.includesAny("pAtmosNone","cExtinct")){ return 0;}\n\t\t\t\t\t\telse if (context.includesAny("psFlyingCities")){ return 50;}\n\t\t\t\t\t\telse if (context.includesAny("ctSpacefaring","ctDigital","ctIndustrial")){ return 10;}\n\t\t\t\t\t\telse {return 0;}}},\n\t\t\t\t{ trait: ["psSatelliteRing","pRingSystem"],\n\t\t\t\t\tgetWeight: function(context) {\n\t\t\t\t\t\tif (!context.includesAny("pTerrestrialPlanet","pGasGiant") || context.includesAny("pRingSystem")) { return 0; }\n\t\t\t\t\t\telse if (context.includesAny("ctOrbital","ctSpacefaring")){ return 10;}\n\t\t\t\t\t\telse {return 0;}}},\n\t\t\t\t{ trait: ["psSpaceJunk","pRingSystem"],\n\t\t\t\t\tgetWeight: function(context) {\n\t\t\t\t\t\tif (!context.includesAny("pTerrestrialPlanet","pGasGiant") || context.includesAny("pRingSystem")) { return 0; }\n\t\t\t\t\t\telse if (context.includesAny("ctOrbital","ctSpacefaring")){ return 100;}\n\t\t\t\t\t\telse {return 0;}}},\n\t\t\t\t{ trait: ["pRunawayGreenhouseEffect","psIndustrialGreenhouse","pAtmosCrushing","pTempVeryHot","pAtmosCO2","-pAtmosThin","-pAtmosThick","-pTempGoldilocks","-pTempHot","-pAtmosOxNi"],\n\t\t\t\t\tgetWeight: function(context) {\n\t\t\t\t\t\tif (context.includesAny("pRunawayGreenhouseEffect","pTempVeryCold","pTempCold","pGravLow","pSurfaceIce")) { return 0; }\n\t\t\t\t\t\telse if (context.includesAll("pTerrestrialPlanet","cxClimateChange") && context.includesAny("pAtmosCO2","pAtmosOxNi")) { return 50; }\n\t\t\t\t\t\telse { return 0; }}},\n\t\t\t\t\t/* Traces that are discovered on examining life: */\n\t\t\t\t{ trait: ["psOceanSurfacePollution","pOceanSurfaceScum"],\n\t\t\t\t\tgetWeight: function(context) {\n\t\t\t\t\t\tif (!context.includesAny("pOceanWater","pOceanHydrocarbons","pOceanAmmonia","pOceanLava")) { return 0; }\n\t\t\t\t\t\telse if (context.includesAny("ctSpacefaring","ctDigital")){ return 30;}\n\t\t\t\t\t\telse if (context.includesAny("ctIndustrial")){ return 50;}\n\t\t\t\t\t\telse if (context.includesAny("ctMedieval")){ return 10;}\n\t\t\t\t\t\telse {return 0;}}},\n\t\t\t\t{ trait: ["plRecentExtinction","plsExtinctionNativeCiv"],\n\t\t\t\t\tgetWeight: function(context) {\n\t\t\t\t\t\tif (context.includesAny("plExtinct","plRecentExtinction")) { return 0; }\n\t\t\t\t\t\telse if (!context.includesAny("psLife")) { return 0; }\n\t\t\t\t\t\telse if (context.includesAny("ctSpacefaring","ctDigital")){ return 50;}\n\t\t\t\t\t\telse if (context.includesAny("ctIndustrial")){ return 10;}\n\t\t\t\t\t\telse {return 0;}}},\n\t\t\t\t{ trait: ["plExtinct","plsExtinctionNativeCiv","-plNotExtinct"],\n\t\t\t\t\tgetWeight: function(context) {\n\t\t\t\t\t\tif (context.includesAny("plExtinct","plRecentExtinction")) { return 0; }\n\t\t\t\t\t\telse if (!context.includesAny("psLife")) { return 0; }\n\t\t\t\t\t\telse if (context.includes("cxClimateChange")){ return 50;}\n\t\t\t\t\t\telse {return 0;}}},\n\t\t\t\t{ trait: ["plSpeciesWithComplexBehaviour","plsPostSapientSpecies"],\n\t\t\t\t\tgetWeight: function(context) {\n\t\t\t\t\t\tif (context.includesAny("plSpeciesWithComplexBehaviour")) { return 0; }\n\t\t\t\t\t\telse if (!context.includesAny("psLifeAnimals")) { return 0; }\n\t\t\t\t\t\telse if (context.includesAny("cxDeliberatelyPostSapient","cxGraduallyPostSapient")){ return 100;}\n\t\t\t\t\t\telse {return 0;}}},\n\t\t\t]\n\t\t},\n\t\t/* Special end-game anomaly for Gatebuilders' homeworld */\n\t\t{\n\t\t\tmin: 1, max: 1,\n\t\t\tcheckIf: function(context) { return context.includesAny("icGatebuilders"); },\n\t\t\tdefault: ["psEndgameTrigger"]\n\t\t}\n\t],\n\t\n\tmeddlingCivTraces: [\n\t\t\t/* INTERPLANETARY CIV EFFECTS */\n\t\t\t/* Context traits will be the planet's traits + spacefaring civ's traits + system traits */\n\t\t/* INTERPLANETARY CIV EFFECTS - SHIPS AND SPACE STATIONS etc. */\n\t\t{\n\t\t\ttraits: [\n\t\t\t\t\t/* Ships in orbit */\n\t\t\t\t{ trait: ["psColonyShip","psOrbitingStarship","pOrbitalStructure"],\n\t\t\t\t\tgetWeight: function(context) {\n\t\t\t\t\t\tif (context.includesAny("pOrbitalStructure") || !context.includesAny("icColonisers")) { return 0; }\n\t\t\t\t\t\telse if (context.includesAny("psLifeMicrobes")) { return 50; }\n\t\t\t\t\t\telse { return 10;}}},\n\t\t\t\t{ trait: ["psExperimentationShip","psOrbitingStarship","pOrbitalStructure"],\n\t\t\t\t\tgetWeight: function(context) {\n\t\t\t\t\t\tif (context.includesAny("pOrbitalStructure") || !context.includesAny("icExperimenters")) { return 0; }\n\t\t\t\t\t\telse if (context.includesAny("psCiv")) { return 100; }\n\t\t\t\t\t\telse if (context.includesAny("psLifeMicrobes")) { return 50; }\n\t\t\t\t\t\telse { return 10;}}},\n\t\t\t\t{ trait: ["psExplorationShip","psOrbitingStarship","pOrbitalStructure"],\n\t\t\t\t\tgetWeight: function(context) {\n\t\t\t\t\t\tif (context.includesAny("pOrbitalStructure") || !context.includesAny("icObservers")) { return 0; }\n\t\t\t\t\t\telse if (context.includesAny("psCiv")) { return 1000; }\n\t\t\t\t\t\telse if (context.includesAny("psLifeMicrobes")) { return 500; }\n\t\t\t\t\t\telse { return 10;}}},\n\t\t\t\t{ trait: ["psMiningShip","psOrbitingStarship","pOrbitalStructure"],\n\t\t\t\t\tgetWeight: function(context) {\n\t\t\t\t\t\tif (context.includesAny("pOrbitalStructure") || !context.includesAny("icExploiters")) { return 0; }\n\t\t\t\t\t\telse { return 10;}}},\n\t\t\t\t{ trait: ["psGenerationShip","psOrbitingStarship","pOrbitalStructure"],\n\t\t\t\t\tgetWeight: function(context) {\n\t\t\t\t\t\tif (context.includesAny("pOrbitalStructure") || !context.includesAny("icSpaceHabitation")) { return 0; }\n\t\t\t\t\t\telse { return 10;}}},\n\t\t\t\t{ trait: ["psWarShip","psOrbitingStarship","pOrbitalStructure"],\n\t\t\t\t\tgetWeight: function(context) {\n\t\t\t\t\t\tif (context.includesAny("pOrbitalStructure") || !context.includesAny("icSpaceWarfare")) { return 0; }\n\t\t\t\t\t\telse { return 10;}}},\n\t\t\t\t{ trait: ["psSleeperShip","psOrbitingStarship","pOrbitalStructure"],\n\t\t\t\t\tgetWeight: function(context) {\n\t\t\t\t\t\tif (context.includesAny("pOrbitalStructure") || !context.includesAny("icSuspendedAnimation")) { return 0; }\n\t\t\t\t\t\telse { return 10;}}},\n\t\t\t\t{ trait: ["psTerraformingShip","psOrbitingStarship","pOrbitalStructure"],\n\t\t\t\t\tgetWeight: function(context) {\n\t\t\t\t\t\tif (!context.includes("pTerrestrialPlanet") || context.includesAny("pOrbitalStructure") || !context.includesAny("icTerraformers")) { return 0; }\n\t\t\t\t\t\telse { return 10;}}},\n\n\t\t\t\t\t/* Landed ships */\n\t\t\t\t{ trait: ["psColonyShip","psLandedStarship","pSurfaceAnomaly"],\n\t\t\t\t\tgetWeight: function(context) {\n\t\t\t\t\t\tif (context.includesAny("pSurfaceAnomaly","pGasGiant","pBelt","pMinorPlanet") || !context.includesAny("icColonisers")) { return 0; }\n\t\t\t\t\t\telse if (context.includesAny("psLifeMicrobes")) { return 100; }\n\t\t\t\t\t\telse { return 10;}}},\n\t\t\t\t{ trait: ["psExperimentationShip","psLandedStarship","pSurfaceAnomaly"],\n\t\t\t\t\tgetWeight: function(context) {\n\t\t\t\t\t\tif (context.includesAny("pSurfaceAnomaly","pBelt") || !context.includesAny("icExperimenters")) { return 0; }\n\t\t\t\t\t\telse if (context.includesAny("psCiv")) { return 1000; }\n\t\t\t\t\t\telse if (context.includesAny("psLifeAnimals")) { return 750; }\n\t\t\t\t\t\telse if (context.includesAny("psLifeMicrobes")) { return 500; }\n\t\t\t\t\t\telse { return 10;}}},\n\t\t\t\t{ trait: ["psExplorationShip","psLandedStarship","pSurfaceAnomaly"],\n\t\t\t\t\tgetWeight: function(context) {\n\t\t\t\t\t\tif (context.includesAny("pSurfaceAnomaly","pBelt") || !context.includesAny("icObservers")) { return 0; }\n\t\t\t\t\t\telse if (context.includesAny("psCiv")) { return 1000; }\n\t\t\t\t\t\telse if (context.includesAny("psLifeAnimals")) { return 750; }\n\t\t\t\t\t\telse if (context.includesAny("psLifeMicrobes")) { return 500; }\n\t\t\t\t\t\telse { return 10;}}},\n\t\t\t\t{ trait: ["psMiningShip","psLandedStarship","pSurfaceAnomaly"],\n\t\t\t\t\tgetWeight: function(context) {\n\t\t\t\t\t\tif (context.includesAny("pSurfaceAnomaly","pBelt") || !context.includesAny("icExploiters")) { return 0; }\n\t\t\t\t\t\telse { return 10;}}},\n\t\t\t\t{ trait: ["psGenerationShip","psLandedStarship","pSurfaceAnomaly"],\n\t\t\t\t\tgetWeight: function(context) {\n\t\t\t\t\t\tif (context.includesAny("pSurfaceAnomaly","pBelt") || !context.includesAny("icSpaceHabitation")) { return 0; }\n\t\t\t\t\t\telse { return 10;}}},\n\t\t\t\t{ trait: ["psWarShip","psLandedStarship","pSurfaceAnomaly"],\n\t\t\t\t\tgetWeight: function(context) {\n\t\t\t\t\t\tif (context.includesAny("pSurfaceAnomaly","pBelt") || !context.includesAny("icSpaceWarfare")) { return 0; }\n\t\t\t\t\t\telse { return 10;}}},\n\t\t\t\t{ trait: ["psSleeperShip","psLandedStarship","pSurfaceAnomaly"],\n\t\t\t\t\tgetWeight: function(context) {\n\t\t\t\t\t\tif (context.includesAny("pSurfaceAnomaly","pBelt") || !context.includesAny("icSuspendedAnimation")) { return 0; }\n\t\t\t\t\t\telse { return 10;}}},\n\t\t\t\t{ trait: ["psTerraformingShip","psLandedStarship","pSurfaceAnomaly"],\n\t\t\t\t\tgetWeight: function(context) {\n\t\t\t\t\t\tif (!context.includes("pTerrestrialPlanet") || context.includesAny("pSurfaceAnomaly","pBelt") || !context.includesAny("icTerraformers")) { return 0; }\n\t\t\t\t\t\telse if (context.includesAny("psAliensMadeOxygen","psAliensChangedOrbit","psTechnologicalHeating")) { return 50; }\n\t\t\t\t\t\telse { return 10;}}},\n\n\t\t\t\t\t/* Orbital stations */\n\t\t\t\t{ trait: ["psColonyOutpost","psOrbitalStation","pOrbitalStructure"],\n\t\t\t\t\tgetWeight: function(context) {\n\t\t\t\t\t\tif (context.includesAny("pOrbitalStructure") || !context.includesAny("icColonisers")) { return 0; }\n\t\t\t\t\t\telse if (context.includesAny("psLifeMicrobes")) { return 50; }\n\t\t\t\t\t\telse { return 10;}}},\n\t\t\t\t{ trait: ["psExperimentationBase","psOrbitalStation","pOrbitalStructure"],\n\t\t\t\t\tgetWeight: function(context) {\n\t\t\t\t\t\tif (context.includesAny("pOrbitalStructure") || !context.includesAny("icExperimenters")) { return 0; }\n\t\t\t\t\t\telse if (context.includesAny("psCiv")) { return 1000; }\n\t\t\t\t\t\telse if (context.includesAny("psLifeAnimals")) { return 750; }\n\t\t\t\t\t\telse if (context.includesAny("psLifeMicrobes")) { return 500; }\n\t\t\t\t\t\telse { return 10;}}},\n\t\t\t\t{ trait: ["psObservationPost","psOrbitalStation","pOrbitalStructure"],\n\t\t\t\t\tgetWeight: function(context) {\n\t\t\t\t\t\tif (context.includesAny("pOrbitalStructure") || !context.includesAny("icObservers")) { return 0; }\n\t\t\t\t\t\telse if (context.includesAny("psCiv")) { return 1000; }\n\t\t\t\t\t\telse if (context.includesAny("psLifeAnimals")) { return 750; }\n\t\t\t\t\t\telse if (context.includesAny("psLifeMicrobes")) { return 500; }\n\t\t\t\t\t\telse { return 10;}}},\n\t\t\t\t{ trait: ["psMiningBase","psOrbitalStation","pOrbitalStructure"],\n\t\t\t\t\tgetWeight: function(context) {\n\t\t\t\t\t\tif (context.includesAny("pOrbitalStructure") || !context.includesAny("icExploiters")) { return 0; }\n\t\t\t\t\t\telse { return 10;}}},\n\t\t\t\t{ trait: ["psSpaceHabitat","psOrbitalStation","pOrbitalStructure"],\n\t\t\t\t\tgetWeight: function(context) {\n\t\t\t\t\t\tif (context.includesAny("pOrbitalStructure") || !context.includesAny("icSpaceHabitation")) { return 0; }\n\t\t\t\t\t\telse { return 10;}}},\n\t\t\t\t{ trait: ["psMilitaryBase","psOrbitalStation","pOrbitalStructure"],\n\t\t\t\t\tgetWeight: function(context) {\n\t\t\t\t\t\tif (context.includesAny("pOrbitalStructure") || !context.includesAny("icSpaceWarfare")) { return 0; }\n\t\t\t\t\t\telse { return 10;}}},\n\t\t\t\t{ trait: ["psSleeperStation","psOrbitalStation","pOrbitalStructure"],\n\t\t\t\t\tgetWeight: function(context) {\n\t\t\t\t\t\tif (context.includesAny("pOrbitalStructure") || !context.includesAny("icSuspendedAnimation")) { return 0; }\n\t\t\t\t\t\telse { return 10;}}},\n\t\t\t\t{ trait: ["psTerraformingStation","psOrbitalStation","pOrbitalStructure"],\n\t\t\t\t\tgetWeight: function(context) {\n\t\t\t\t\t\tif (!context.includes("pTerrestrialPlanet") || context.includesAny("pOrbitalStructure") || !context.includesAny("icTerraformers")) { return 0; }\n\t\t\t\t\t\telse if (context.includesAny("psAliensMadeOxygen","psAliensChangedOrbit","psTechnologicalHeating")) { return 50; }\n\t\t\t\t\t\telse { return 10;}}},\n\n\t\t\t\t\t/* Surface bases */\n\t\t\t\t{ trait: ["psColonyOutpost","psSurfaceStation","pSurfaceAnomaly"],\n\t\t\t\t\tgetWeight: function(context) {\n\t\t\t\t\t\tif (context.includesAny("pSurfaceAnomaly","pGasGiant","pBelt","pMinorPlanet") || !context.includesAny("icColonisers")) { return 0; }\n\t\t\t\t\t\telse if (context.includesAny("psLifeMicrobes")) { return 500; }\n\t\t\t\t\t\telse { return 10;}}},\n\t\t\t\t{ trait: ["psExperimentationBase","psSurfaceStation","pSurfaceAnomaly"],\n\t\t\t\t\tgetWeight: function(context) {\n\t\t\t\t\t\tif (context.includesAny("pSurfaceAnomaly","pBelt") || !context.includesAny("icExperimenters")) { return 0; }\n\t\t\t\t\t\telse if (context.includesAny("psCiv")) { return 1000; }\n\t\t\t\t\t\telse if (context.includesAny("psLifeAnimals")) { return 750; }\n\t\t\t\t\t\telse if (context.includesAny("psLifeMicrobes")) { return 500; }\n\t\t\t\t\t\telse { return 10;}}},\n\t\t\t\t{ trait: ["psObservationPost","psSurfaceStation","pSurfaceAnomaly"],\n\t\t\t\t\tgetWeight: function(context) {\n\t\t\t\t\t\tif (context.includesAny("pSurfaceAnomaly","pBelt") || !context.includesAny("icObservers")) { return 0; }\n\t\t\t\t\t\telse if (context.includesAny("psCiv")) { return 1000; }\n\t\t\t\t\t\telse if (context.includesAny("psLifeAnimals")) { return 750; }\n\t\t\t\t\t\telse if (context.includesAny("psLifeMicrobes")) { return 500; }\n\t\t\t\t\t\telse { return 10;}}},\n\t\t\t\t{ trait: ["psMiningBase","psSurfaceStation","pSurfaceAnomaly"],\n\t\t\t\t\tgetWeight: function(context) {\n\t\t\t\t\t\tif (context.includesAny("pSurfaceAnomaly","pBelt") || !context.includesAny("icExploiters")) { return 0; }\n\t\t\t\t\t\telse { return 10;}}},\n\t\t\t\t{ trait: ["psSpaceHabitat","psSurfaceStation","pSurfaceAnomaly"],\n\t\t\t\t\tgetWeight: function(context) {\n\t\t\t\t\t\tif (context.includesAny("pSurfaceAnomaly","pBelt") || !context.includesAny("icSpaceHabitation")) { return 0; }\n\t\t\t\t\t\telse { return 10;}}},\n\t\t\t\t{ trait: ["psMilitaryBase","psSurfaceStation","pSurfaceAnomaly"],\n\t\t\t\t\tgetWeight: function(context) {\n\t\t\t\t\t\tif (context.includesAny("pSurfaceAnomaly","pBelt") || !context.includesAny("icSpaceWarfare")) { return 0; }\n\t\t\t\t\t\telse { return 10;}}},\n\t\t\t\t{ trait: ["psSleeperStation","psSurfaceStation","pSurfaceAnomaly"],\n\t\t\t\t\tgetWeight: function(context) {\n\t\t\t\t\t\tif (context.includesAny("pSurfaceAnomaly","pBelt") || !context.includesAny("icSuspendedAnimation")) { return 0; }\n\t\t\t\t\t\telse { return 10;}}},\n\t\t\t\t{ trait: ["psTerraformingStation","psSurfaceStation","pSurfaceAnomaly"],\n\t\t\t\t\tgetWeight: function(context) {\n\t\t\t\t\t\tif (!context.includes("pTerrestrialPlanet") || context.includesAny("pSurfaceAnomaly") || !context.includesAny("icTerraformers")) { return 0; }\n\t\t\t\t\t\telse { return 10;}}},\n\n\t\t\t\t/* Other things that might be mistaken for a ship or station */\n\t\t\t\t\t/* On the surface */\n\t\t\t\t{ trait: ["psMonument","pSurfaceAnomaly"],\n\t\t\t\t\tgetWeight: function(context) {\n\t\t\t\t\t\tif (context.includesAny("pSurfaceAnomaly","pOrbitalStructure","pSubmergedAnomaly","psMonument","pBelt","pGasGiant")) { return 0; }\n\t\t\t\t\t\telse if (context.includes("icArtists")) { return 10; }\n\t\t\t\t\t\telse { return 0;}}},\n\n\t\t\t\t\t/* Usually add nothing, unless this is an interstellar civ home system */\n\t\t\t\t{ trait: "",\n\t\t\t\t\tgetWeight: function(context) {\n\t\t\t\t\t\tif (context.includesAny("tInterstellarCivHomeSystem")) { return 20; }\n\t\t\t\t\t\telse { return 200;}} }\n\t\t\t]\n\t\t},\n\t\t\t/* If it's a starship or station, is it crewed or robotic? */\n\t\t{\n\t\t\tcheckIf: function(context) { return context.includesAny("psOrbitingStarship","psLandedStarship","psOrbitalStation","psSurfaceStation"); },\n\t\t\ttraits: [\n\t\t\t\t{ trait: ["psCrewedShip"],\n\t\t\t\t\tgetWeight: function(context) {\n\t\t\t\t\t\tif (context.includesAny("cAICiv")) { return 0; }\n\t\t\t\t\t\telse { return 10;}}},\n\t\t\t\t{ trait: ["psRobotShip"],\n\t\t\t\t\tgetWeight: function(context) {\n\t\t\t\t\t\tif (context.includesAny("cAICiv")) { return 20; }\n\t\t\t\t\t\telse { return 10;}}},\n\t\t\t\t{ trait: ["psRobotShip","psSelfReplicatingStarship"],\n\t\t\t\t\tgetWeight: function(context) {\n\t\t\t\t\t\tif (context.includesAny("icSelfReplicatingMachines")\n\t\t\t\t\t\t\t&& context.includesAny("psExplorationShip","psMiningShip","psWarShip","psTerraformingShip")) { return 10; }\n\t\t\t\t\t\telse { return 0;}}}\n\t\t\t]\n\t\t},\n\t\t\t/* If it's a starship or station, it's either derelict or active */\n\t\t\t/* NB if contexttraits includes both cExtinct and cNotExtinct it's because there's both a native and meddling civ */\n\t\t\t/* In that case, meddling civ ship is always derelict */\n\t\t{\n\t\t\tcheckIf: function(context) { return context.includesAny("psOrbitingStarship","psOrbitalStation"); },\n\t\t\ttraits: [\n\t\t\t\t{ trait: [],\n\t\t\t\t\tgetWeight: function(context) {\n\t\t\t\t\t\tif (context.includes("cNotExtinct") && !context.includes("cExtinct")) { return 20; }\n\t\t\t\t\t\telse {return 0;}}},\n\t\t\t\t{ trait: ["psOrbitalDerelict"],\n\t\t\t\t\tgetWeight: function(context) {\n\t\t\t\t\t\treturn 10;}}\n\t\t\t]\n\t\t},\n\t\t{\n\t\t\tcheckIf: function(context) { return context.includesAny("psLandedStarship","psSurfaceStation"); },\n\t\t\ttraits: [\n\t\t\t\t{ trait: [],\n\t\t\t\t\tgetWeight: function(context) {\n\t\t\t\t\t\tif (context.includes("cNotExtinct") && !context.includes("cExtinct")) { return 20; }\n\t\t\t\t\t\telse {return 0;}}},\n\t\t\t\t{ trait: ["psSurfaceDerelict"],\n\t\t\t\t\tgetWeight: function(context) {\n\t\t\t\t\t\treturn 10;}}\n\t\t\t]\n\t\t},\n\t\t\t/* MAJOR CHANGES TO PLANET */\n\t\t{\n\t\t\tmin: 1, max: 2,\n\t\t\ttraits: [\n\t\t\t\t/* Secondary effects of ships/bases */\n\t\t\t\t{ trait: ["psGroundRobots","pMovingLandObjects"],\n\t\t\t\t\tgetWeight: function(context) {\n\t\t\t\t\t\tif (!context.includesAny("pTerrestrialPlanet","pMinorPlanet","icSelfReplicatingMachines")) { return 0; }\n\t\t\t\t\t\telse if (context.includesAny("pOceanPlanetwide")) { return 0; }\n\t\t\t\t\t\telse if (context.includesAny("psLandedStarship","psSurfaceStation")) { return 10; }\n\t\t\t\t\t\telse { return 5;}}},\n\t\t\t\t{ trait: ["psSurfaceSolarPanels","pPossibleStructures"],\n\t\t\t\t\tgetWeight: function(context) {\n\t\t\t\t\t\tif (!context.includesAny("pTerrestrialPlanet","pMinorPlanet")) { return 0; }\n\t\t\t\t\t\telse if (context.includesAny("pOceanPlanetwide")) { return 0; }\n\t\t\t\t\t\telse if (context.includesAny("psSurfaceStation")) {\n\t\t\t\t\t\t\tif (context.includesAny("pTempVeryHot")) { return 50; }\n\t\t\t\t\t\t\telse if (context.includesAny("pTempHot")) { return 40; }\n\t\t\t\t\t\t\telse if (context.includesAny("pGoldilocks")) { return 30; }\n\t\t\t\t\t\t\telse if (context.includesAny("pTempCold")) { return 20; }\n\t\t\t\t\t\t\telse if (context.includesAny("pTempVeryCold")) { return 10; }\n\t\t\t\t\t\t\telse { return 0; }\n\t\t\t\t\t\t} else { return 0;}}},\n\n\t\t\t\t\t\t/* Physical effects -- visible from orbit */\n\t\t\t\t{ trait: ["psBattleDebrisRing","pRingSystem"],\n\t\t\t\t\tgetWeight: function(context) {\n\t\t\t\t\t\tif (!context.includesAny("pTerrestrialPlanet","pGasGiant")){return 0;}\n\t\t\t\t\t\telse if (context.includesAny("pRingSystem")) { return 0; }\n\t\t\t\t\t\telse if (context.includesAny("psWarShip")){ return 50;}\n\t\t\t\t\t\telse if (context.includesAny("icSpaceWarfare")){ return 10;}\n\t\t\t\t\t\telse {return 0;}}},\n\t\t\t\t{ trait: ["psOrbitalArtworks","pRingSystem"],\n\t\t\t\t\tgetWeight: function(context) {\n\t\t\t\t\t\tif (!context.includesAny("pTerrestrialPlanet","pGasGiant")){return 0;}\n\t\t\t\t\t\telse if (context.includesAny("pRingSystem")) { return 0; }\n\t\t\t\t\t\telse if (context.includesAny("icArtists")){ return 10;}\n\t\t\t\t\t\telse {return 0;}}},\n\n\t\t\t\t{ trait: ["psAliensMadeOxygen","pAtmosOxNi","-pAtmosHydrogen","-pAtmosIceGiant","-pAtmosCO2","-pAtmosNi","-pAtmosMethaneAmmonia","-pAtmosHelium"],\n\t\t\t\t\tgetWeight: function(context) {\n\t\t\t\t\t\tif (!context.includesAny("pTerrestrialPlanet")){return 0;}\n\t\t\t\t\t\telse if (context.includesAny("icTerraformers")){\n\t\t\t\t\t\t\tif (context.includesAny("pAtmosNone","pRunawayGreenhouseEffect")) { return 0; }\n\t\t\t\t\t\t\telse if (context.includesAny("pTempGoldilocks")) { return 20; }\n\t\t\t\t\t\t\telse if (context.includesAny("pTempHot","pTempCold")) { return 10; }\n\t\t\t\t\t\t\telse { return 0; }\n\t\t\t\t\t\t} else { return 0;}}},\n\t\t\t\t{ trait: ["psAliensMadeOcean","pOceanWater","psLiquidDetected"],\n\t\t\t\t\tgetWeight: function(context) {\n\t\t\t\t\t\tif (!context.includesAny("pTerrestrialPlanet")){return 0;}\n\t\t\t\t\t\telse if (context.includesAny("icTerraformers")){\n\t\t\t\t\t\t\tif (context.includesAny("pAtmosNone","pOceanWater","pOceanLava","pOceanHydrocarbons")) { return 0; }\n\t\t\t\t\t\t\telse if (context.includesAny("pTempGoldilocks")) { return 10; }\n\t\t\t\t\t\t\telse { return 0; }\n\t\t\t\t\t\t} else { return 0;}}},\n\t\t\t\t{ trait: ["psMinedOut","pCaves"],\n\t\t\t\t\tgetWeight: function(context) {\n\t\t\t\t\t\tif (!context.includesAny("pTerrestialPlanet","pMinorPlanet")) { return 0; }\n\t\t\t\t\t\telse if (context.includesAny("pOceanPlanetwide")) { return 0; }\n\t\t\t\t\t\telse if (context.includesAll("pSurfaceRocky","icExploiters")) { return 10;}\n\t\t\t\t\t\telse { return 0;}}},\n\t\t\t\t{ trait: ["psAlienMeteorBombardment","pDust"],\n\t\t\t\t\tgetWeight: function(context) {\n\t\t\t\t\t\tif (context.includesAny("pOceanPlanetwide","cExtinct")) { return 0; }\n\t\t\t\t\t\telse if (context.includesAll("pTerrestrialPlanet","psCiv","icPlanetMoving","pSurfaceRocky")) { return 10; }\n\t\t\t\t\t\telse { return 0;}}},\n\t\t\t\t{ trait: ["psAlienBombardmentCraters","pCraters"],\n\t\t\t\t\tgetWeight: function(context) {\n\t\t\t\t\t\tif (context.includesAny("pOceanPlanetwide","cExtinct","pGasGiant")) { return 0; }\n\t\t\t\t\t\telse if (context.includesAll("psCiv","icPlanetMoving")) { return 10; }\n\t\t\t\t\t\telse { return 0;}}},\n\t\t\t\t{ trait: ["psNanomachineDust","pDust"],\n\t\t\t\t\tgetWeight: function(context) {\n\t\t\t\t\t\tif (context.includesAny("pOceanPlanetwide")) { return 0; }\n\t\t\t\t\t\telse if (context.includesAll("pTerrestrialPlanet","pSurfaceRocky","icNanotech")) { return 10; }\n\t\t\t\t\t\telse { return 0;}}},\n\t\t\t\t{ trait: ["psAlienIndustrySulphur","pSulphurCoveredSurface"],\n\t\t\t\t\tgetWeight: function(context) {\n\t\t\t\t\t\tif (context.includesAny("pSulphurCoveredSurface","pOceanPlanetwide")) { return 0; }\n\t\t\t\t\t\telse if (context.includesAll("pTerrestrialPlanet","icExploiters")) { return 10; }\n\t\t\t\t\t\telse { return 0;}}},\n\t\t\t\t{ trait: ["psAlienIndustryNitrogen","pNitrogenCoveredSurface"],\n\t\t\t\t\tgetWeight: function(context) {\n\t\t\t\t\t\tif (context.includesAny("pNitrogenCoveredSurface","pOceanPlanetwide","pTempGoldilocks","pTempHot","pTempVeryHot")) { return 0; }\n\t\t\t\t\t\telse if (context.includesAll("pTerrestrialPlanet","icExploiters")) { return 10; }\n\t\t\t\t\t\telse { return 0;}}},\n\t\t\t\t{ trait: ["psAliensChangedOrbit","pEccentricOrbit"],\n\t\t\t\t\tgetWeight: function(context) {\n\t\t\t\t\t\tif (context.includesAny("pBelt","psActuallyASpaceWhale")) { return 0; }\n\t\t\t\t\t\telse if (context.includesAny("icPlanetMoving")) { return 10; }\n\t\t\t\t\t\telse { return 0;}}},\n\t\t\t\t{ trait: ["psAliensStoleWater","pSaltCoveredSurface","-pOceanWater","-pOceanPlanetwide"],\n\t\t\t\t\tgetWeight: function(context) {\n\t\t\t\t\t\tif (!context.includes("pOceanWater")) { return 0; }\n\t\t\t\t\t\telse if (context.includesAny("pSaltCoveredSurface","psWaterWorld","psLifeOcean")) { return 0; }\n\t\t\t\t\t\telse if (context.includesAny("icExploiters")) { return 100; }\n\t\t\t\t\t\telse { return 0;}}},\n\t\t\t\t{ trait: ["psSaltExcretingNanites","pSaltCoveredSurface"],\n\t\t\t\t\tgetWeight: function(context) {\n\t\t\t\t\t\tif (context.includesAny("pSaltCoveredSurface","pOceanPlanetwide")) { return 0; }\n\t\t\t\t\t\telse if (context.includesAll("pSurfaceRocky","icNanotech")) { return 10; }\n\t\t\t\t\t\telse { return 0;}}},\n\t\t\t\t{ trait: ["psTechnologicalHeating","pUnstable"],\n\t\t\t\t\tgetWeight: function(context) {\n\t\t\t\t\t\tif (!context.includesAny("pTerrestrialPlanet") || context.includesAny("pUnstable")){return 0;}\n\t\t\t\t\t\telse if (context.includesAny("icPlanetEngineering")) { return 10; }\n\t\t\t\t\t\telse { return 0;}}},\n\t\t\t\t{ trait: ["psPaintedSurface","pDiscolouredSurfaceAreas"],\n\t\t\t\t\tgetWeight: function(context) {\n\t\t\t\t\t\tif (context.includesAny("pDiscolouredSurfaceAreas","pGasGiant","pOceanPlanetwide")) { return 0; }\n\t\t\t\t\t\telse if (context.includesAny("icArtists")) { return 10; }\n\t\t\t\t\t\telse { return 0;}}},\n\t\t\t\t{ trait: ["psOceanSurfaceNanites","pOceanSurfaceScum"],\n\t\t\t\t\tgetWeight: function(context) {\n\t\t\t\t\t\tif (!context.includesAny("pOceanWater","pOceanHydrocarbons","pOceanAmmonia","pOceanLava")) { return 0; }\n\t\t\t\t\t\telse if (context.includesAll("pSurfaceRocky","icNanotech")) { return 10; }\n\t\t\t\t\t\telse { return 0;}}},\n\t\t\t\t\n\t\t\t\t{ trait: ["psDysonSwarm","psArtificialBelt","pUnusuallyLight"],\n\t\t\t\t\tgetWeight: function(context) {\n\t\t\t\t\t\tif (context.includesAny("pUnusuallyLight","pUnusuallyDense")) { return 0; }\n\t\t\t\t\t\telse if (context.includesAll("pBelt","icPlanetMoving")) { return 100; }\n\t\t\t\t\t\telse { return 0;}}},\n\t\t\t\t{ trait: ["psHabitatBelt","psArtificialBelt","pUnusuallyLight"],\n\t\t\t\t\tgetWeight: function(context) {\n\t\t\t\t\t\tif (context.includesAny("pUnusuallyLight","pUnusuallyDense")) { return 0; }\n\t\t\t\t\t\telse if (context.includesAll("pBelt","icSpaceHabitation")) { return 100; }\n\t\t\t\t\t\telse { return 0;}}},\n\t\t\t\t{ trait: ["psReplicatorBelt","psArtificialBelt","pUnusuallyLight"],\n\t\t\t\t\tgetWeight: function(context) {\n\t\t\t\t\t\tif (context.includesAny("pUnusuallyLight","pUnusuallyDense")) { return 0; }\n\t\t\t\t\t\telse if (context.includesAll("pBelt","icSelfReplicatingMachines")) { return 100; }\n\t\t\t\t\t\telse { return 0;}}},\n\t\t\t\t{ trait: ["psExPlanetWorldbreakers","psExPlanetBelt","pUnusuallyDense"],\n\t\t\t\t\tgetWeight: function(context) {\n\t\t\t\t\t\tif (context.includesAny("pUnusuallyLight","pUnusuallyDense")) { return 0; }\n\t\t\t\t\t\telse if (context.includesAll("pBelt","icPlanetMoving")) { return 1000; }\n\t\t\t\t\t\telse { return 0;}}},\n\t\t\t\t{ trait: ["pRunawayGreenhouseEffect","psMeddlingCivGreenhouse","pAtmosCrushing","pTempVeryHot","-pAtmosThin","-pAtmosThick","-pTempGoldilocks","-pTempHot"],\n\t\t\t\t\tgetWeight: function(context) {\n\t\t\t\t\t\tif (context.includesAny("pRunawayGreenhouseEffect","pTempVeryCold","pTempCold","pGravLow","psLife","pSurfaceIce")) { return 0; }\n\t\t\t\t\t\telse if (context.includesAll("pTerrestrialPlanet","pAtmosCO2","icPlanetEngineering")) { return 50; }\n\t\t\t\t\t\telse { return 0;}}},\n\t\t\t\t{ trait: ["pGlowingGasGiant","psGasGiantIndustryHeat","pTempVeryHot","-pTempHot","-pTempGoldilocks","-pTempCold","-pTempVeryCold"],\n\t\t\t\t\tgetWeight: function(context) {\n\t\t\t\t\t\tif (context.includesAll("pGasGiant","icPlanetEngineering")) { return 10; }\n\t\t\t\t\t\telse { return 0; }}},\n\t\t\t\t{ trait: ["pRegularInternalStructure","psInternalMeddlingCivStructure"],\n\t\t\t\t\tgetWeight: function(context) {\n\t\t\t\t\t\tif (context.includesAny("pRegularInternalStructure","pGasGiant")) { return 0; }\n\t\t\t\t\t\telse if (context.includesAll("icPlanetEngineering")) { return 10; }\n\t\t\t\t\t\telse { return 0; }}},\n\t\t\t\t{ trait: ["psActuallyASpaceStation","pUnusuallyLight"],\n\t\t\t\t\tgetWeight: function(context) {\n\t\t\t\t\t\tif (context.includesAny("pUnusuallyLight","pUnusuallyDense")) { return 0; }\n\t\t\t\t\t\telse if (context.includesAll("pMinorPlanet","icSpaceHabitation")) { return 10; }\n\t\t\t\t\t\telse { return 0;}}},\n\t\t\t\t\t\t\n\t\t\t\t\t/* Ecosystem effects -- visible after examining life */\n\t\t\t\t{ trait: ["plRecentExtinction","plsExtinctionMeddlingCiv"],\n\t\t\t\t\tgetWeight: function(context) {\n\t\t\t\t\t\tif (context.includesAny("plRecentExtinction","plExtinct")) { return 0; }\n\t\t\t\t\t\telse if (context.includesAny("psLife") && context.includesAny("icExterminators")) { return 1000; }\n\t\t\t\t\t\telse { return 0;}}},\n\t\t\t\t\t\t\t/* Aliens wipe out life and civ */\n\t\t\t\t{ trait: ["plExtinct","plsExtinctionMeddlingCiv","-plNotExtinct","cExtinct","cxKilledByAliens","-cNotExtinct"],\n\t\t\t\t\tgetWeight: function(context) {\n\t\t\t\t\t\tif (context.includesAny("plRecentExtinction","plExtinct","cExtinct")) { return 0; }\n\t\t\t\t\t\telse if (context.includesAll("psLife","psCiv") && context.includesAny("icExterminators")) { return 1000; }\n\t\t\t\t\t\telse { return 0;}}},\n\t\t\t\t\t\t\t/* Aliens wipe out civ but leave life*/\n\t\t\t\t{ trait: ["cExtinct","cxKilledByAliens","-cNotExtinct"],\n\t\t\t\t\tgetWeight: function(context) {\n\t\t\t\t\t\tif (context.includesAny("cExtinct")) { return 0; }\n\t\t\t\t\t\telse if (context.includesAll("psCiv") && context.includesAny("icExterminators")) { return 1000; }\n\t\t\t\t\t\telse { return 0;}}},\n\t\t\t\t\t\t\t/* Aliens wipe out life and there isn't a civ */\n\t\t\t\t{ trait: ["plExtinct","plsExtinctionMeddlingCiv","-plNotExtinct"],\n\t\t\t\t\tgetWeight: function(context) {\n\t\t\t\t\t\tif (context.includesAny("plRecentExtinction","plExtinct","psCiv")) { return 0; }\n\t\t\t\t\t\telse if (context.includesAny("psLife") && context.includesAny("icExterminators")) { return 1000; }\n\t\t\t\t\t\telse { return 0;}}},\n\t\t\t\t{ trait: ["plSpeciesWithComplexBehaviour","plsUpliftingInProgress"],\n\t\t\t\t\tgetWeight: function(context) {\n\t\t\t\t\t\tif (context.includesAny("plSpeciesWithComplexBehaviour","plExtinct")) { return 0; }\n\t\t\t\t\t\telse if (context.includesAny("psLifeAnimals") && context.includesAny("icInterferers")) { return 500; }\n\t\t\t\t\t\telse { return 0;}}},\n\t\t\t\t{ trait: ["plSpeciesWithComplexBehaviour","plsHeldBackFromSapience"],\n\t\t\t\t\tgetWeight: function(context) {\n\t\t\t\t\t\tif (context.includesAny("plSpeciesWithComplexBehaviour","plExtinct")) { return 0; }\n\t\t\t\t\t\telse if (context.includesAny("psLifeAnimals") && context.includesAny("icInterferers")) { return 500; }\n\t\t\t\t\t\telse { return 0;}}},\n\t\t\t\t{ trait: ["plNoFossilRemains","plsLifeSeededByAliens"],\n\t\t\t\t\tgetWeight: function(context) {\n\t\t\t\t\t\tif (context.includesAny("plNoFossilRemains","psLifeChemistryPlasma","plExtinct")) { return 0; }\n\t\t\t\t\t\telse if (context.includesAny("psLife") && context.includesAny("icEcoEngineering")) { return 500; }\n\t\t\t\t\t\telse { return 0;}}},\n\t\t\t\t{ trait: ["plViolentLife","plsBloodSportWorld"],\n\t\t\t\t\tgetWeight: function(context) {\n\t\t\t\t\t\tif (context.includesAny("plViolentLife","plNonViolentLife","plExtinct")) { return 0; }\n\t\t\t\t\t\telse if (context.includesAny("psLifeAnimals") && context.includesAny("icEcoEngineering")) { return 1000; }\n\t\t\t\t\t\telse { return 0;}}},\n\t\t\t\t{ trait: ["plNonViolentLife","plsEngineeredSafeEcosystem"],\n\t\t\t\t\tgetWeight: function(context) {\n\t\t\t\t\t\tif (context.includesAny("plViolentLife","plNonViolentLife","plExtinct")) { return 0; }\n\t\t\t\t\t\telse if (context.includesAny("psLifeAnimals") && context.includesAny("icEcoEngineering")) { return 500; }\n\t\t\t\t\t\telse { return 0;}}},\n\t\t\t\t{ trait: ["plsArtificialSpaceWhale","psOrbitingSpaceWhale","pOrbitalStructure"],\n\t\t\t\t\tgetWeight: function(context) {\n\t\t\t\t\t\tif (context.includesAny("pOrbitalStructure","psOrbitingSpaceWhale","psSpaceWhaleSwarm","psActuallyASpaceWhale")) { return 0; }\n\t\t\t\t\t\telse if (context.includesAny("icSelfReplicatingMachines")) { return 10; }\n\t\t\t\t\t\telse { return 0;}}},\n\t\t\t\t{ trait: ["plsArtificialSpaceWhale","psSpaceWhaleSwarm","pRingSystem"],\n\t\t\t\t\tgetWeight: function(context) {\n\t\t\t\t\t\tif (!context.includesAny("pTerrestrialPlanet","pGasGiant") || context.includesAny("pRingSystem","psOrbitingSpaceWhale","psSpaceWhaleSwarm","psActuallyASpaceWhale")) { return 0; }\n\t\t\t\t\t\telse if (context.includesAny("icSelfReplicatingMachines")) { return 10; }\n\t\t\t\t\t\telse { return 0;}}},\n\t\t\t\t{ trait: ["plsUpliftedSpaceWhale","psOrbitingSpaceWhale","pOrbitalStructure"],\n\t\t\t\t\tgetWeight: function(context) {\n\t\t\t\t\t\tif (context.includesAny("pOrbitalStructure","psOrbitingSpaceWhale","psSpaceWhaleSwarm","psActuallyASpaceWhale")) { return 0; }\n\t\t\t\t\t\telse if (context.includesAll("icEcoEngineering")) { return 10; }\n\t\t\t\t\t\telse { return 0;}}},\n\t\t\t\t{ trait: ["plsUpliftedSpaceWhale","psSpaceWhaleSwarm","pRingSystem"],\n\t\t\t\t\tgetWeight: function(context) {\n\t\t\t\t\t\tif (!context.includesAny("pTerrestrialPlanet","pGasGiant") || context.includesAny("pRingSystem","psOrbitingSpaceWhale","psSpaceWhaleSwarm","psActuallyASpaceWhale")) { return 0; }\n\t\t\t\t\t\telse if (context.includesAny("icEcoEngineering")) { return 10; }\n\t\t\t\t\t\telse { return 0;}}},\n\n\t\t\t\t\t/* Civ effects - visible after making contact with civ */\n\t\t\t\t{ trait: ["cTwoSpecies","cCivIncludesAliens"],\n\t\t\t\t\tgetWeight: function(context) {\n\t\t\t\t\t\tif (context.includesAny("cTwoSpecies")) { return 0; }\n\t\t\t\t\t\telse if (context.includesAll("psCiv","icColonisers")) {return 500; }\n\t\t\t\t\t\telse { return 0; }}},\n\t\t\t\t{ trait: ["cHistoricalStasis","cMeddlingStasis"],\n\t\t\t\t\tgetWeight: function(context) {\n\t\t\t\t\t\tif (context.includesAny("cHistoricalStasis")) { return 0; }\n\t\t\t\t\t\telse if (context.includesAll("psCiv","icInterferers")) { return 500; }\n\t\t\t\t\t\telse { return 0; }}},\n\t\t\t\t{ trait: ["cAncientAliensMyth","cRealAncientAliensMyth"],\n\t\t\t\t\tgetWeight: function(context) {\n\t\t\t\t\t\tif (context.includesAny("cAncientAliensMyth")) { return 0; }\n\t\t\t\t\t\telse if (context.includesAll("psCiv","icInterferers")) { return 500; }\n\t\t\t\t\t\telse { return 0; }}},\n\t\t\t\t{ trait: ["ctRegression","ctRegressionMeddling"],\n\t\t\t\t\tgetWeight: function(context) {\n\t\t\t\t\t\tif (context.includesAny("ctRegression")) { return 0; }\n\t\t\t\t\t\telse if (context.includesAll("psCiv","icInterferers")) { return 500; }\n\t\t\t\t\t\telse { return 0; }}},\n\n\t\t\t\t\t/* Usually add nothing */\n\t\t\t\t{ trait: "",\n\t\t\t\t\tgetWeight: function(context) {\n\t\t\t\t\t\tif (context.includesAny("tInterstellarCivHomeSystem")) { return 10; }\n\t\t\t\t\t\telse if (context.includesAny("psOrbitingStarship","psLandedStarship","psOrbitalStation","psSurfaceStation")) { return 50; }\n\t\t\t\t\t\telse { return 200;}} }\n\t\t\t]\n\t\t}\n\t]\n}\n\n\n\n\n\n
/* Generated from https://donjon.bin.sh/ */\n/* Each section is a different category from a generator */\n\nwindow.alienNames = [\n\t[\n\t\t\t/* Dwarf town */\n\t\t"Arazar",\n\t\t"Badushol",\n\t\t"Baragzah",\n\t\t"Barazir",\n\t\t"Bizanar",\n\t\t"Gabaraz",\n\t\t"Gabundin",\n\t\t"Gathundush",\n\t\t"Giledzar",\n\t\t"Gilukkhizd",\n\t\t"Gunargund",\n\t\t"Gundabar",\n\t\t"Gundabund",\n\t\t"Gunulbar",\n\t\t"Khela",\n\t\t"Khundumunz",\n\t\t"Khurazar",\n\t\t"Kibilgath",\n\t\t"Kibunal",\n\t\t"Kibundab",\n\t\t"Kibuzar",\n\t\t"Kinbaraz",\n\t\t"Naledzir",\n\t\t"Narakib",\n\t\t"Naramunz",\n\t\t"Nargathaz",\n\t\t"Nargila",\n\t\t"Nargundab",\n\t\t"Nargundush",\n\t\t"Nargunul",\n\t\t"Narukthar",\n\t\t"Nuledzig",\n\t\t"Nulukkhath",\n\t\t"Nulukkhund",\n\t\t"Shathazan",\n\t\t"Shundushaz",\n\t\t"Shuramunz",\n\t\t"Tumunzar",\n\t\t"Tumunzig",\n\t\t"Tumunzir",\n\t\t"Ulbilgar",\n\t\t"Undathun",\n\t\t"Unduzum",\n\t\t"Ushakil",\n\t\t"Zaddabar",\n\t\t"Zaragzar",\n\t\t"Zigabiz",\n\t\t"Zinbundush",\n\t\t"Ziramunz",\n\t\t"Zundumunz",\n\t],[\n\t\t\t/* Elf town */\n\t\t"Alindon",\n\t\t"Beline",\n\t\t"Belonde",\n\t\t"Briathladh",\n\t\t"Brionevras",\n\t\t"Brothithlar",\n\t\t"Dolonde",\n\t\t"Donorin",\n\t\t"Dorthiladh",\n\t\t"Edhegrond",\n\t\t"Edhelen",\n\t\t"Edhelion",\n\t\t"Egiorlon",\n\t\t"Egrond",\n\t\t"Eleren",\n\t\t"Ellonest",\n\t\t"Enon",\n\t\t"Enond",\n\t\t"Eredhen",\n\t\t"Erel",\n\t\t"Eriargest",\n\t\t"Eriarnis",\n\t\t"Esseand",\n\t\t"Falonde",\n\t\t"Forlone",\n\t\t"Formithlond",\n\t\t"Guline",\n\t\t"Hellonde",\n\t\t"Himlonde",\n\t\t"Karnargel",\n\t\t"Karnoress",\n\t\t"Lasea",\n\t\t"Leriene",\n\t\t"Lindorast",\n\t\t"Londolond",\n\t\t"Londorwin",\n\t\t"Loriande",\n\t\t"Nargelond",\n\t\t"Ningione",\n\t\t"Nioningond",\n\t\t"Noriande",\n\t\t"Orthon",\n\t\t"Othros",\n\t\t"Sirestir",\n\t\t"Siriande",\n\t\t"Sirione",\n\t\t"Tirione",\n\t\t"Valeress",\n\t\t"Valiene",\n\t\t"Vinione",\n\n\t],[\n\t\t\t/* Orc town */\n\t\t"Adbug",\n\t\t"Adburtz",\n\t\t"Agduf",\n\t\t"Alcmeg",\n\t\t"Azog",\n\t\t"Azg",\n\t\t"Baga",\n\t\t"Balagd",\n\t\t"Boldog",\n\t\t"Boldush",\n\t\t"Bolga",\n\t\t"Buga",\n\t\t"Bulug",\n\t\t"Buluk",\n\t\t"Gashagr",\n\t\t"Gashak",\n\t\t"Gloiga",\n\t\t"Golfimb",\n\t\t"Golug",\n\t\t"Golugd",\n\t\t"Gorbag",\n\t\t"Gorbalcm",\n\t\t"Gorbog",\n\t\t"Gorga",\n\t\t"Gorkil",\n\t\t"Gradbal",\n\t\t"Grat",\n\t\t"Groduf",\n\t\t"Lagdush",\n\t\t"Luga",\n\t\t"Lugdog",\n\t\t"Lugduf",\n\t\t"Lugdush",\n\t\t"Lukil",\n\t\t"Lurtzog",\n\t\t"Mauhagr",\n\t\t"Mauhur",\n\t\t"Muzga",\n\t\t"Orbakh",\n\t\t"Orcog",\n\t\t"Orcolg",\n\t\t"Orkil",\n\t\t"Shurat",\n\t\t"Snaga",\n\t\t"Snakhak",\n\t\t"Ufthakh",\n\t\t"Uhug",\n\t\t"Uhur",\n\t\t"Uzgak",\n\t\t"Uzgal",\n\t],[\n\t\t\t/* Drow town */\n\t\t"Abburth",\n\t\t"Achar",\n\t\t"Asad",\n\t\t"Asar",\n\t\t"Baethe",\n\t\t"Burthei",\n\t\t"Channtyr",\n\t\t"Chelu",\n\t\t"Chetar",\n\t\t"Chetur",\n\t\t"Chetynl",\n\t\t"Chinnas",\n\t\t"Chymaer",\n\t\t"Chymath",\n\t\t"Cinlu",\n\t\t"Dreghei",\n\t\t"Elddrin",\n\t\t"Ered",\n\t\t"Errar",\n\t\t"Fanead",\n\t\t"Hlammath",\n\t\t"Hlanead",\n\t\t"Indryn",\n\t\t"Linead",\n\t\t"Llaughe",\n\t\t"Lluitar",\n\t\t"Llurthe",\n\t\t"Luitynl",\n\t\t"Machei",\n\t\t"Mathe",\n\t\t"Mydra",\n\t\t"Obel",\n\t\t"Orlyn",\n\t\t"Rauthe",\n\t\t"Sshaggar",\n\t\t"Sshelu",\n\t\t"Sshilu",\n\t\t"Szanas",\n\t\t"Szanead",\n\t\t"Szoberr",\n\t\t"Tlara",\n\t\t"Tlaughei",\n\t\t"Ugaurth",\n\t\t"Ughyn",\n\t\t"Ughynn",\n\t\t"Ulssin",\n\t\t"Undraur",\n\t\t"Uvel",\n\t\t"Venas",\n\t\t"Waethei",\n\t\t"Yuelheinn",\n\t],[\n\t\t\t/* Draconic male */\n\t\t"Abiezzel",\n\t\t"Adammar",\n\t\t"Amminmus",\n\t\t"Ammit",\n\t\t"Amsunil",\n\t\t"Amucham",\n\t\t"Amulash",\n\t\t"Amur",\n\t\t"Amuriar",\n\t\t"Amutar",\n\t\t"Amzuukal",\n\t\t"Annidil",\n\t\t"Baalika",\n\t\t"Belatu",\n\t\t"Biumubi",\n\t\t"Boni",\n\t\t"Bumaama",\n\t\t"Damana",\n\t\t"Enkidum",\n\t\t"Ezzesuum",\n\t\t"Gilgona",\n\t\t"Gonabi",\n\t\t"Gusudi",\n\t\t"Hazzuumma",\n\t\t"Ililkin",\n\t\t"Inammat",\n\t\t"Itaannit",\n\t\t"Itamuk",\n\t\t"Mubiuma",\n\t\t"Muzuu",\n\t\t"Nabuma",\n\t\t"Nabupol",\n\t\t"Nakadu",\n\t\t"Naki",\n\t\t"Nakuru",\n\t\t"Nidea",\n\t\t"Ninai",\n\t\t"Ninamzuu",\n\t\t"Ningirsu",\n\t\t"Nusina",\n\t\t"Nyasudu",\n\t\t"Olamsuis",\n\t\t"Sacesu",\n\t\t"Saduki",\n\t\t"Sadusu",\n\t\t"Samsudi",\n\t\t"Sheshbila",\n\t\t"Sudu",\n\t\t"Sumerka",\n\t\t"Sumisu",\n\t],[\n\t\t\t/* Fiendish */\n\t\t"Ades",\n\t\t"Akvax",\n\t\t"Akvaz",\n\t\t"Alam",\n\t\t"Allor",\n\t\t"Allos",\n\t\t"Alos",\n\t\t"Amar",\n\t\t"Ammos",\n\t\t"Andhas",\n\t\t"Andhat",\n\t\t"Aphas",\n\t\t"Aphun",\n\t\t"Aran",\n\t\t"Asan",\n\t\t"Astel",\n\t\t"Avar",\n\t\t"Avas",\n\t\t"Axar",\n\t\t"Bacha",\n\t\t"Baeli",\n\t\t"Barbal",\n\t\t"Basu",\n\t\t"Beha",\n\t\t"Chuli",\n\t\t"Dono",\n\t\t"Eular",\n\t\t"Lecha",\n\t\t"Malpha",\n\t\t"Maraie",\n\t\t"Mashtu",\n\t\t"Mera",\n\t\t"Migo",\n\t\t"Moraie",\n\t\t"Mosha",\n\t\t"Myala",\n\t\t"Nexas",\n\t\t"Phaki",\n\t\t"Rotha",\n\t\t"Sala",\n\t\t"Sama",\n\t\t"Sthara",\n\t\t"Surgo",\n\t\t"Vacal",\n\t\t"Vaculs",\n\t\t"Vapaz",\n\t\t"Vepha",\n\t\t"Zago",\n\t\t"Zepar",\n\t\t"Zorva",\n\t],[\n\t\t\t/* Air elemental */\n\t\t"Alilateh",\n\t\t"Arziecheh",\n\t\t"Biharosa",\n\t\t"Bitareeva",\n\t\t"Deharehi",\n\t\t"Faranazia",\n\t\t"Farrouzeeba",\n\t\t"Farzatari",\n\t\t"Fozhamastee",\n\t\t"Garamehou",\n\t\t"Ladorrana",\n\t\t"Lehehreha",\n\t\t"Mahtarana",\n\t\t"Manazahry",\n\t\t"Manooranou",\n\t\t"Maramanoo",\n\t\t"Mareena",\n\t\t"Marehehra",\n\t\t"Mehaidela",\n\t\t"Mehrnehahrba",\n\t\t"Meirehata",\n\t\t"Meshamana",\n\t\t"Minasala",\n\t\t"Minazeeba",\n\t\t"Minikoki",\n\t\t"Monazaraya",\n\t\t"Moneha",\n\t\t"Monikehou",\n\t\t"Naranara",\n\t\t"Neheedeha",\n\t\t"Niharaha",\n\t\t"Paranasra",\n\t\t"Paraneha",\n\t\t"Parinehia",\n\t\t"Parouzara",\n\t\t"Peyvinazoo",\n\t\t"Raniyooshazoo",\n\t\t"Reedeheedi",\n\t\t"Rehagheeva",\n\t\t"Rehaloma",\n\t\t"Rehidijal",\n\t\t"Saleholy",\n\t\t"Sameshinou",\n\t\t"Sanehasta",\n\t\t"Saroughita",\n\t\t"Sattaheeda",\n\t\t"Seemaniyooshi",\n\t\t"Seetaramy",\n\t\t"Soussaltarsa",\n\t\t"Teenegeli",\n\t],[\n\t\t\t/* Earth elemental */\n\t\t"Acigentian",\n\t\t"Amalviernis",\n\t\t"Ammatanan",\n\t\t"Anancican",\n\t\t"Anavinan",\n\t\t"Aracinan",\n\t\t"Atanapis",\n\t\t"Caepintia",\n\t\t"Catala",\n\t\t"Catalana",\n\t\t"Catona",\n\t\t"Cessosula",\n\t\t"Cidona",\n\t\t"Cilliana",\n\t\t"Cinaissilvia",\n\t\t"Cinisia",\n\t\t"Criscauroda",\n\t\t"Eustaranan",\n\t\t"Felana",\n\t\t"Felicima",\n\t\t"Fontina",\n\t\t"Forterina",\n\t\t"Fosidisia",\n\t\t"Inatanan",\n\t\t"Licena",\n\t\t"Lichena",\n\t\t"Malluca",\n\t\t"Mammiolina",\n\t\t"Messelicia",\n\t\t"Myrtina",\n\t\t"Olursureonia",\n\t\t"Pallivigaea",\n\t\t"Pascottia",\n\t\t"Plicula",\n\t\t"Pompionara",\n\t\t"Prinica",\n\t\t"Pulchriginia",\n\t\t"Pulicina",\n\t\t"Pulinobia",\n\t\t"Rinasevia",\n\t\t"Salichea",\n\t\t"Sonoresa",\n\t\t"Toratuoma",\n\t\t"Ventinia",\n\t\t"Vienasela",\n\t\t"Vilbilana",\n\t\t"Vinisoria",\n\t\t"Vinuma",\n\t\t"Vituomama",\n\t\t"Volivicta",\n\t],[\n\t\t\t/* Fire elemental */\n\t\t"Akshmikalam",\n\t\t"Aksitaram",\n\t\t"Alanikan",\n\t\t"Alannitrah",\n\t\t"Alinakram",\n\t\t"Alipalish",\n\t\t"Alitanis",\n\t\t"Alitatil",\n\t\t"Ambamodit",\n\t\t"Ambaritrint",\n\t\t"Ananikat",\n\t\t"Anithantiksh",\n\t\t"Anjadikar",\n\t\t"Anurinnan",\n\t\t"Apasindesh",\n\t\t"Apukhitah",\n\t\t"Aralaram",\n\t\t"Aranjalit",\n\t\t"Atinilam",\n\t\t"Avashasum",\n\t\t"Balati",\n\t\t"Bandara",\n\t\t"Banika",\n\t\t"Banikara",\n\t\t"Bhanumali",\n\t\t"Bhimudevi",\n\t\t"Bhitama",\n\t\t"Carojinda",\n\t\t"Dantakra",\n\t\t"Deviti",\n\t\t"Esarmikan",\n\t\t"Gajrini",\n\t\t"Gunasi",\n\t\t"Gunvati",\n\t\t"Harewy",\n\t\t"Jalata",\n\t\t"Kamata",\n\t\t"Kanakusi",\n\t\t"Kanimmali",\n\t\t"Kanjala",\n\t\t"Kantavati",\n\t\t"Karijina",\n\t\t"Kasumini",\n\t\t"Malada",\n\t\t"Malati",\n\t\t"Manimadha",\n\t\t"Mudaravi",\n\t\t"Ninditi",\n\t\t"Salinya",\n\t\t"Sumala",\n\t],[\n\t\t\t/* Water elemental */\n\t\t"Aganaenos",\n\t\t"Akenophis",\n\t\t"Amartenen",\n\t\t"Amnalelion",\n\t\t"Ananiaris",\n\t\t"Anareras",\n\t\t"Anthelimen",\n\t\t"Aradiagas",\n\t\t"Asianeices",\n\t\t"Ausaxiolas",\n\t\t"Chriseudora",\n\t\t"Doriba",\n\t\t"Dorisa",\n\t\t"Edemelis",\n\t\t"Eticenen",\n\t\t"Eusantiocen",\n\t\t"Eusastenes",\n\t\t"Hariallice",\n\t\t"Helike",\n\t\t"Hesandriso",\n\t\t"Higathaethe",\n\t\t"Imnonedeas",\n\t\t"Ipponinas",\n\t\t"Iseilenos",\n\t\t"Klaodora",\n\t\t"Klemegara",\n\t\t"Kleopersame",\n\t\t"Laodorysa",\n\t\t"Lianikyda",\n\t\t"Miseiso",\n\t\t"Nelypsothe",\n\t\t"Nikalampeio",\n\t\t"Openeris",\n\t\t"Pervince",\n\t\t"Phekatecme",\n\t\t"Phekatime",\n\t\t"Pisepe",\n\t\t"Polesa",\n\t\t"Poliasa",\n\t\t"Poisa",\n\t\t"Rhalissa",\n\t\t"Risadeleia",\n\t\t"Taisemetra",\n\t\t"Temneira",\n\t\t"Thalane",\n\t\t"Thalytisa",\n\t\t"Thenikate",\n\t\t"Thenobia",\n\t\t"Therone",\n\t\t"Zenike",\n\t],[\n\t\t\t/* Cthulhu mythos */\n\t\t"Ak-Zotha",\n\t\t"Athlanarth",\n\t\t"Athoth",\n\t\t"Bhoa-Shotha",\n\t\t"Ctha-Akhuhg",\n\t\t"Cthulhanach",\n\t\t"Cthuulmella",\n\t\t"Cykranarth",\n\t\t"Gha-Cykran",\n\t\t"Ghoa-Fthugha",\n\t\t"Ghuulmelle",\n\t\t"Glachantyng",\n\t\t"Gle-Vhotha",\n\t\t"Gnyarl-Otep",\n\t\t"Kteguran",\n\t\t"Kub-Nithoa",\n\t\t"Kubitho",\n\t\t"Kyth-Cthatyng",\n\t\t"Mogonian",\n\t\t"Nath-Yithath",\n\t\t"Nian-Cthoggua",\n\t\t"Niluuhgua",\n\t\t"Nithothoa",\n\t\t"Nophk-Kade",\n\t\t"Nthloigotha",\n\t\t"Sathothu",\n\t\t"Sha-Anon",\n\t\t"Sha-Tanith",\n\t\t"Sho-Cthadde",\n\t\t"Shoa-Dagua",\n\t\t"Shogthadrath",\n\t\t"Sothastan",\n\t\t"Tsathotha",\n\t\t"Tulzsch-Ktanath",\n\t\t"Tyngothoa",\n\t\t"Urachan",\n\t\t"Voon-Nthluuhgua",\n\t\t"Voorm-Thothoa",\n\t\t"Yeth-Yakhulm",\n\t\t"Yha-Kade",\n\t\t"Yig-Xotha",\n\t\t"Yigoth",\n\t\t"Yigothorl",\n\t\t"Yith-Gnophkad",\n\t\t"Yithabbith",\n\t\t"Ykra-Sheemog",\n\t\t"Yna-Kytha",\n\t\t"Ythogthach",\n\t\t"Zaoth-Sathoa",\n\t\t"Zath-Zaotha",\n\t],[\n\t\t\t/* Alien */\n\t\t"A'Anid",\n\t\t"Acran",\n\t\t"Aled",\n\t\t"Angom",\n\t\t"Benja",\n\t\t"C'Chori",\n\t\t"Chelou",\n\t\t"Chiza",\n\t\t"Churquarr",\n\t\t"Coni",\n\t\t"Cora",\n\t\t"D'Byni",\n\t\t"D'Moni",\n\t\t"Daicia",\n\t\t"Drini",\n\t\t"Droni",\n\t\t"G'Furi",\n\t\t"G'Kali",\n\t\t"Gaxu",\n\t\t"Glaxu",\n\t\t"Hata",\n\t\t"Hentu",\n\t\t"Ikan",\n\t\t"J'Kalle",\n\t\t"K'Jeni",\n\t\t"K'Nyarri",\n\t\t"Kada",\n\t\t"Kaloo",\n\t\t"Krakhu",\n\t\t"Krani",\n\t\t"Kroti",\n\t\t"Maza",\n\t\t"Morki",\n\t\t"Niocia",\n\t\t"Pathua",\n\t\t"Pequan",\n\t\t"Psata",\n\t\t"Queni",\n\t\t"Reniea",\n\t\t"Shorki",\n\t\t"T'Nidi",\n\t\t"Tani",\n\t\t"Taxu",\n\t\t"Th'Alar",\n\t\t"Vani",\n\t\t"Vorte",\n\t\t"Whrl'Dari",\n\t\t"Zanti",\n\t\t"Zh'Methee",\n\t\t"Zuri",\n\t],[\n\t\t\t/* Star Wars planet names */\n\t\t"Agan",\n\t\t"Agess",\n\t\t"Akan",\n\t\t"Alos",\n\t\t"Atris",\n\t\t"Azet",\n\t\t"Bauda",\n\t\t"Baudo",\n\t\t"Belni",\n\t\t"Bespau",\n\t\t"Bursia",\n\t\t"Cala",\n\t\t"Calla",\n\t\t"Canto",\n\t\t"Corva",\n\t\t"Daba",\n\t\t"Dela",\n\t\t"Dolo",\n\t\t"Doria",\n\t\t"Gara",\n\t\t"Genda",\n\t\t"Geone",\n\t\t"Gitoo",\n\t\t"Gobeya",\n\t\t"Hindra",\n\t\t"Hoka",\n\t\t"Hokua",\n\t\t"Inev",\n\t\t"Ipal",\n\t\t"Jando",\n\t\t"Kallia",\n\t\t"Kamea",\n\t\t"Kante",\n\t\t"Kasa",\n\t\t"Kasha",\n\t\t"Kothla",\n\t\t"Krica",\n\t\t"Kumea",\n\t\t"Lowa",\n\t\t"Mela",\n\t\t"Noata",\n\t\t"Parmea",\n\t\t"Pira",\n\t\t"Pyra",\n\t\t"Raeda",\n\t\t"Rone",\n\t\t"Sare",\n\t\t"Sedra",\n\t\t"Seona",\n\t\t"Sulla",\n\t],[\n\t\t\t/* Gammorean */\n\t\t"Blugua",\n\t\t"Bnakke",\n\t\t"Bnuge",\n\t\t"Bolgak",\n\t\t"Bolguul",\n\t\t"Bullorg",\n\t\t"Buzak",\n\t\t"Duriss",\n\t\t"Durmush",\n\t\t"Duroc",\n\t\t"Duruck",\n\t\t"Gakfedd",\n\t\t"Garta",\n\t\t"Glagguul",\n\t\t"Glonnka",\n\t\t"Gorga",\n\t\t"Gorogn",\n\t\t"Grocarn",\n\t\t"Groge",\n\t\t"Grogoink",\n\t\t"Gruke",\n\t\t"Gurke",\n\t\t"Gurna",\n\t\t"Hoke",\n\t\t"Hrogoink",\n\t\t"Hroogrun",\n\t\t"Hukta",\n\t\t"Klagguul",\n\t\t"Krissom",\n\t\t"Mena",\n\t\t"Mogrog",\n\t\t"Mogrok",\n\t\t"Muka",\n\t\t"Musho",\n\t\t"Norgoink",\n\t\t"Nussuk",\n\t\t"Oguth",\n\t\t"Rughung",\n\t\t"Runorg",\n\t\t"Sonhan",\n\t\t"Trogua",\n\t\t"Tronta",\n\t\t"Trugga",\n\t\t"Ubnugg",\n\t\t"Ugshuz",\n\t\t"Urmar",\n\t\t"Voorta",\n\t\t"Warlug",\n\t\t"Warta",\n\t\t"Xobilk",\n\n\t],[\n\t\t\t/* Minbari */\n\t\t"Astonn",\n\t\t"Callee",\n\t\t"Codri",\n\t\t"Coplee",\n\t\t"Deeri",\n\t\t"Delee",\n\t\t"Dellee",\n\t\t"Devlee",\n\t\t"Dukhal",\n\t\t"Dulee",\n\t\t"Durhan",\n\t\t"Durhurl",\n\t\t"Durlee",\n\t\t"Findukh",\n\t\t"Findurh",\n\t\t"Findurl",\n\t\t"Firi",\n\t\t"Hakat",\n\t\t"Inell",\n\t\t"Jeni",\n\t\t"Laini",\n\t\t"Lani",\n\t\t"Lanni",\n\t\t"Lavar",\n\t\t"Leni",\n\t\t"Lenni",\n\t\t"Lieri",\n\t\t"Liri",\n\t\t"Mori",\n\t\t"Nakal",\n\t\t"Neri",\n\t\t"Nimaz",\n\t\t"Novast",\n\t\t"Raalee",\n\t\t"Rakhen",\n\t\t"Rastul",\n\t\t"Rellee",\n\t\t"Roni",\n\t\t"Sindell",\n\t\t"Sindukh",\n\t\t"Sini",\n\t\t"Soni",\n\t\t"Tafir",\n\t\t"Tenni",\n\t\t"Trashak",\n\t\t"Tulee",\n\t\t"Valee",\n\t\t"Vari",\n\t\t"Vellee",\n\t\t"Zakat",\n\t],[\n\t\t\t/* Narn */\n\t\t"Du'Nil",\n\t\t"Du'Quan",\n\t\t"Du'Toth",\n\t\t"Du'Vin",\n\t\t"G'Fal",\n\t\t"Ha'Fal",\n\t\t"Ha'Li",\n\t\t"Ha'Ri",\n\t\t"Kha'Dan",\n\t\t"Kha'Dri",\n\t\t"Kha'Ka",\n\t\t"Kha'Li",\n\t\t"Kha'Ri",\n\t\t"Kha'Stok",\n\t\t"Ko'Ka",\n\t\t"Ko'Li",\n\t\t"Ko'Ri",\n\t\t"Li'Dak",\n\t\t"Li'Dok",\n\t\t"Li'Ri",\n\t\t"Li'Vin",\n\t\t"Na'Ka",\n\t\t"Na'Li",\n\t\t"Na'Par",\n\t\t"Na'Ri",\n\t\t"Sh'Dan",\n\t\t"Sh'Ka",\n\t\t"Sh'Par",\n\t\t"Sh'Ston",\n\t\t"Shu'Li",\n\t\t"Shu'Mak",\n\t\t"Shu'Ri",\n\t\t"Shu'Vin",\n\t\t"Ta'Dan",\n\t\t"Ta'Li",\n\t\t"Ta'Quan",\n\t\t"Ta'Tok",\n\t\t"Ta'Vin",\n\t\t"Tra'Farl",\n\t\t"Tra'Ka",\n\t\t"Tra'Par",\n\t\t"Tra'Toth",\n\t\t"Tu'Aq",\n\t\t"Tu'Ka",\n\t\t"Tu'Li",\n\t\t"Tu'Mak",\n\t\t"Tu'Par",\n\t\t"Tu'Quan",\n\t\t"Tu'Ston",\n\t\t"Tu'Stoth",\n\t],[\n\t\t\t/* Pern dragons */\n\t\t"Abelth",\n\t\t"Alath",\n\t\t"Anoorth",\n\t\t"Bendalg",\n\t\t"Bethend",\n\t\t"Branarth",\n\t\t"Caithend",\n\t\t"Canath",\n\t\t"Canem",\n\t\t"Carog",\n\t\t"Chethern",\n\t\t"Claitholth",\n\t\t"Clarthath",\n\t\t"Clerthath",\n\t\t"Diotheth",\n\t\t"Gamuth",\n\t\t"Gartholth",\n\t\t"Golith",\n\t\t"Haliarth",\n\t\t"Kadul",\n\t\t"Kerthel",\n\t\t"Laneth",\n\t\t"Lathern",\n\t\t"Menthar",\n\t\t"Menthend",\n\t\t"Minther",\n\t\t"Mnethend",\n\t\t"Morthern",\n\t\t"Nathal",\n\t\t"Nathall",\n\t\t"Nathurth",\n\t\t"Ormorth",\n\t\t"Perfidr",\n\t\t"Pethel",\n\t\t"Petholth",\n\t\t"Rentholth",\n\t\t"Rithurth",\n\t\t"Rotheth",\n\t\t"Tagol",\n\t\t"Talath",\n\t\t"Tallanth",\n\t\t"Tallianth",\n\t\t"Tapiyeth",\n\t\t"Telarth",\n\t\t"Tellith",\n\t\t"Tennar",\n\t\t"Tethurth",\n\t\t"Withel",\n\t\t"Zenthend",\n\t\t"Zigarth",\n\t],[\n\t\t\t/* Klingon */\n\t\t"Adang",\n\t\t"Arnath",\n\t\t"B'Kozak",\n\t\t"Bijar",\n\t\t"Bura",\n\t\t"Ch'Bari",\n\t\t"Ch'Kurna",\n\t\t"Ch'Valkra",\n\t\t"G'Bura",\n\t\t"G'Kahla",\n\t\t"G'Kerlaa",\n\t\t"G'Kura",\n\t\t"Hussa",\n\t\t"J'Mori",\n\t\t"K'Klari",\n\t\t"K'Tava",\n\t\t"Ka'Ka",\n\t\t"Ka'Mar",\n\t\t"Ka'Na",\n\t\t"Ka'Ra",\n\t\t"Kara",\n\t\t"Kita",\n\t\t"Kora",\n\t\t"Kura",\n\t\t"L'Gara",\n\t\t"L'Kanga",\n\t\t"M'Kara",\n\t\t"M'Kehla",\n\t\t"M'Kola",\n\t\t"M'Meka",\n\t\t"M'Tex",\n\t\t"M'Vada",\n\t\t"Magh'Ka",\n\t\t"Mart'Ta",\n\t\t"Mera",\n\t\t"Mira",\n\t\t"Mor'Ta",\n\t\t"Mowg'Ta",\n\t\t"N'Korri",\n\t\t"N'Krisa",\n\t\t"N'Valkra",\n\t\t"R'Aral",\n\t\t"R'Dora",\n\t\t"Syna",\n\t\t"T'Kota",\n\t\t"T'Leyra",\n\t\t"Togho",\n\t\t"Tumang",\n\t\t"Valkra",\n\t\t"W'Mara",\n\t],[\n\t\t\t/* Romulan */\n\t\t"Anan",\n\t\t"Arrael",\n\t\t"Arrhael",\n\t\t"Curi",\n\t\t"D'Aivael",\n\t\t"D'Cura",\n\t\t"D'Musab",\n\t\t"D'Viessind",\n\t\t"D'Wenye",\n\t\t"Dhiarra",\n\t\t"Enan",\n\t\t"Erius",\n\t\t"Fralae",\n\t\t"Ithlir",\n\t\t"Jhaeina",\n\t\t"Llahai",\n\t\t"Makar",\n\t\t"Malai",\n\t\t"Mari",\n\t\t"Merra",\n\t\t"Moveirr",\n\t\t"N'Elak",\n\t\t"Nala",\n\t\t"Nalai",\n\t\t"Rhhotta",\n\t\t"Rhivar",\n\t\t"S'Alak",\n\t\t"S'Evan",\n\t\t"S'Hoalai",\n\t\t"S'Makar",\n\t\t"S'Nere",\n\t\t"S'Sela",\n\t\t"S'Takim",\n\t\t"S'Tora",\n\t\t"S'Vriusab",\n\t\t"Seleya",\n\t\t"Sselae",\n\t\t"Stokons",\n\t\t"T'Caevra",\n\t\t"T'Hexce",\n\t\t"T'Jaeihu",\n\t\t"T'Moval",\n\t\t"T'Nanclai",\n\t\t"Takal",\n\t\t"Tari",\n\t\t"Tarleya",\n\t\t"Teelae",\n\t\t"Terrha",\n\t\t"Tokkra",\n\t\t"Vrihei",\n\t]\n]
/* Mostly from https://en.wikipedia.org/wiki/List_of_proper_names_of_stars */\n/* Maybe also see https://en.wikipedia.org/wiki/Category:Stars_with_proper_names */\n\n/* \nIf entry is a single text field, it is the star name with no restrictions.\nIf an array, first entry is the name, second is an array of traits the system must have for it to be eligible for that name\n\n*/\n\n\n\nwindow.starNames = [\n\t/* Actual star names */\n\t"Acamar",\n\t"Achernar",\n\t"Achird",\n\t"Acrux",\n\t"Acubens",\n\t"Adhafera",\n\t"Adhara",\n\t"Adhil",\n\t"Ain",\n\t"Ainalrami",\n\t"Akrab",\n\t"Aladfar",\n\t"Alamak",\n\t"Alasia",\n\t"Alathfar",\n\t"Albaldah",\n\t"Albali",\n\t"Albireo",\n\t"Alchiba",\n\t"Alcor",\n\t"Alcyone",\n\t"Aldebaran",\n\t"Alderamin",\n\t"Aldhanab",\n\t"Aldhibah",\n\t"Aldulfin",\n\t"Alfirk",\n\t"Algedi",\n\t"Algenib",\n\t"Algieba",\n\t"Algol",\n\t"Algorab",\n\t"Alhena",\n\t"Alioth",\n\t"Aljanah",\n\t"Alkaid",\n\t"Alkalurops",\n\t"Alkaphrah",\n\t"Alkarab",\n\t"Alkes",\n\t"Almaaz",\n\t"Almach",\n\t"Alnair",\n\t"Alnasl",\n\t"Alnilam",\n\t"Alnitak",\n\t"Alniyat",\n\t"Alphard",\n\t"Alphecca",\n\t"Alpheratz",\n\t"Alpherg",\n\t"Alrakis",\n\t"Alrescha",\n\t"Alruba",\n\t"Alsafi",\n\t"Alsciaukat",\n\t"Alsephina",\n\t"Alshain",\n\t"Alshat",\n\t"Altair",\n\t"Altais",\n\t"Alterf",\n\t"Aludra",\n\t"Alula",\n\t"Alya",\n\t"Alzir",\n\t"Amadioha",\n\t"Amansinaya",\n\t"Anadolu",\n\t"Ancha",\n\t"Angetenar",\n\t"Aniara",\n\t"Ankaa",\n\t"Anser",\n\t"Antares",\n\t"Arcalís",\n\t"Arcturus",\n\t"Arkab",\n\t"Arneb",\n\t"Ascella",\n\t"Asellus",\n\t"Ashlesha",\n\t"Aspidiske",\n\t"Atakoraka",\n\t"Athebyne",\n\t"Atik",\n\t"Atlas",\n\t"Atria",\n\t"Avior",\n\t"Axólotl",\n\t"Ayeyarwady",\n\t"Azelfafage",\n\t"Azha",\n\t"Azmidi",\n\t"Baekdu",\n\t"Becrux",\n\t"Beemim",\n\t"Beid",\n\t"Belel",\n\t"Bellatrix",\n\t"Berehynia",\n\t"Betelgeuse",\n\t"Bharani",\n\t"Bibhā",\n\t"Biham",\n\t"Bosona",\n\t"Botein",\n\t"Brachium",\n\t"Bubup",\n\t"Buna",\n\t"Bunda",\n\t"Bélénos",\n\t"Canopus",\n\t"Capella",\n\t"Caph",\n\t"Castor",\n\t"Castula",\n\t"Cebalrai",\n\t"Ceibo",\n\t"Celaeno",\n\t"Cervantes",\n\t"Chalawan",\n\t"Chamukuy",\n\t"Chaophraya",\n\t"Chara",\n\t"Chason",\n\t"Chechia",\n\t"Chertan",\n\t"Citadelle",\n\t"Citalá",\n\t"Cocibolca",\n\t"Copernicus",\n\t"Cujam",\n\t"Cursa",\n\t"Dabih",\n\t"Dalim",\n\t"Deneb",\n\t"Denebola",\n\t"Diadem",\n\t"Dingolay",\n\t"Diphda",\n\t"Diya",\n\t"Dofida",\n\t"Dombay",\n\t"Dschubba",\n\t"Dubhe",\n\t"Dziban",\n\t"Dìwö",\n\t"Ebla",\n\t"Edasich",\n\t"Electra",\n\t"Elgafar",\n\t"Elkurud",\n\t"Elnath",\n\t"Eltanin",\n\t"Emiw",\n\t"Enif",\n\t"Errai",\n\t"Fafnir",\n\t"Fang",\n\t"Fawaris",\n\t"Felis",\n\t"Flegetonte",\n\t"Fomalhaut",\n\t"Formosa",\n\t"Fulu",\n\t"Fumalsamakah",\n\t"Funi",\n\t"Furud",\n\t"Fuyue",\n\t"Gacrux",\n\t"Gakyid",\n\t"Garnet",\n\t"Giausar",\n\t"Gienah",\n\t"Ginan",\n\t"Gloas",\n\t"Gomeisa",\n\t"Graffias",\n\t"Grumium",\n\t"Gudja",\n\t"Gumala",\n\t"Guniibuu",\n\t"Hadar",\n\t"Haedus",\n\t"Hamal",\n\t"Hassaleh",\n\t"Hatysa",\n\t"Helvetios",\n\t"Heze",\n\t"Hoggar",\n\t"Homam",\n\t"Horna",\n\t"Hunahpú",\n\t"Hunor",\n\t"Hyadum",\n\t"Iklil",\n\t"Illyrian",\n\t"Imai",\n\t"Inquill",\n\t"Intan",\n\t"Intercrus",\n\t"Irena",\n\t"Itonda",\n\t"Izar",\n\t"Jabbah",\n\t"Jishui",\n\t"Kaffaljidhma",\n\t"Kakkab",\n\t"Kalausi",\n\t"Kamuy",\n\t"Kang",\n\t"Karaka",\n\t"Kaus",\n\t"Kaveh",\n\t"Keid",\n\t"Kekouan",\n\t"Khambalia",\n\t"Kitalpha",\n\t"Kochab",\n\t"Koeia",\n\t"Koit",\n\t"Kornephoros",\n\t"Kraz",\n\t"Kuma",\n\t"Kurhah",\n\t"Larawag",\n\t"Lerna",\n\t"Lesath",\n\t"Liesma",\n\t"Lucilinburhuc",\n\t"Maasym",\n\t"Macondo",\n\t"Mago",\n\t"Mahasim",\n\t"Mahsati",\n\t"Maia",\n\t"Malmok",\n\t"Marfak",\n\t"Marfik",\n\t"Markab",\n\t"Markeb",\n\t"Marsic",\n\t"Matar",\n\t"Mazaalai",\n\t"Mebsuta",\n\t"Megrez",\n\t"Meissa",\n\t"Mekbuda",\n\t"Meleph",\n\t"Menkalinan",\n\t"Menkar",\n\t"Menkent",\n\t"Menkib",\n\t"Merak",\n\t"Merga",\n\t"Meridiana",\n\t"Merope",\n\t"Mesarthim",\n\t"Miaplacidus",\n\t"Minchir",\n\t"Minelauva",\n\t"Mintaka",\n\t"Mira",\n\t"Mirach",\n\t"Miram",\n\t"Mirfak",\n\t"Mirzam",\n\t"Misam",\n\t"Mizar",\n\t"Moldoveanu",\n\t"Montuno",\n\t"Morava",\n\t"Moriah",\n\t"Mothallah",\n\t"Mouhoun",\n\t"Mpingo",\n\t"Muliphein",\n\t"Muphrid",\n\t"Muscida",\n\t"Musica",\n\t"Muspelheim",\n\t"Márohu",\n\t"Mönch",\n\t"Nahn",\n\t"Naledi",\n\t"Naos",\n\t"Nash",\n\t"Nashira",\n\t"Natasha",\n\t"Navi",\n\t"Nekkar",\n\t"Nembus",\n\t"Nenque",\n\t"Nervia",\n\t"Nihal",\n\t"Nikawiy",\n\t"Nosaxa",\n\t"Nunki",\n\t"Nusakan",\n\t"Nushagak",\n\t"Nyamien",\n\t"Násti",\n\t"Ogma",\n\t"Okab",\n\t"Parumleo",\n\t"Petra",\n\t"Phact",\n\t"Phecda",\n\t"Pherkad",\n\t"Piautos",\n\t"Pincoya",\n\t"Pipirima",\n\t"Pipoltr",\n\t"Pleione",\n\t"Poerava",\n\t"Polaris",\n\t"Polis",\n\t"Pollux",\n\t"Porrima",\n\t"Praecipua",\n\t"Procyon",\n\t"Propus",\n\t"Ran",\n\t"Rapeto",\n\t"Rasalas",\n\t"Rasalgethi",\n\t"Rasalhague",\n\t"Rastaban",\n\t"Regor",\n\t"Regulus",\n\t"Revati",\n\t"Rigel",\n\t"Rotanev",\n\t"Ruchbah",\n\t"Rukbat",\n\t"Sabik",\n\t"Saclateni",\n\t"Sadachbia",\n\t"Sadalbari",\n\t"Sadalmelik",\n\t"Sadalsuud",\n\t"Sadr",\n\t"Sagarmatha",\n\t"Saiph",\n\t"Salm",\n\t"Sansuna",\n\t"Sargas",\n\t"Sarin",\n\t"Sarir",\n\t"Sceptrum",\n\t"Scheat",\n\t"Schedar",\n\t"Segin",\n\t"Seginus",\n\t"Shama",\n\t"Sharjah",\n\t"Shaula",\n\t"Sheliak",\n\t"Sheratan",\n\t"Sika",\n\t"Sirius",\n\t"Situla",\n\t"Skat",\n\t"Spica",\n\t"Sterope",\n\t"Sterrennacht",\n\t"Stribor",\n\t"Sualocin",\n\t"Subra",\n\t"Suhail",\n\t"Sulafat",\n\t"Syrma",\n\t"Sāmaya",\n\t"Tabit",\n\t"Taika",\n\t"Taiyangshou",\n\t"Taiyi",\n\t"Talitha",\n\t"Tangra",\n\t"Tania",\n\t"Tapecue",\n\t"Tarf",\n\t"Taygeta",\n\t"Tegmine",\n\t"Tejat",\n\t"Terebellum",\n\t"Tevel",\n\t"Thabit",\n\t"Theemin",\n\t"Thuban",\n\t"Tiaki",\n\t"Tianguan",\n\t"Tianyi",\n\t"Timir",\n\t"Tislit",\n\t"Titawin",\n\t"Tojil",\n\t"Toliman",\n\t"Tonatiuh",\n\t"Torcular",\n\t"Tuiren",\n\t"Tupi",\n\t"Tupã",\n\t"Tureis",\n\t"Ukdah",\n\t"Uklun",\n\t"Unukalhai",\n\t"Unurgunite",\n\t"Uruk",\n\t"Vega",\n\t"Veritate",\n\t"Vindemiatrix",\n\t"Wasat",\n\t"Wazn",\n\t"Wezen",\n\t"Wurren",\n\t"Xamidimura",\n\t"Xihe",\n\t"Xuange",\n\t"Yed",\n\t"Yildun",\n\t"Zaniah",\n\t"Zaurak",\n\t"Zavijava",\n\t"Zhang",\n\t"Zibal",\n\t"Zosma",\n\t"Zubenelgenubi",\n\t"Zubenelhakrabi",\n\t"Zubeneschamali",\n\t/* Names I added */\n\t"Acheron",\n\t"Asgard",\n\t"Beltane",\n\t"Bifrost",\n\t"Nausicaa",\n\t"Tantalus",\n\n]
window.getMatchingElement = function(array1, array2, fallback) {\n\t/* Returns the first element from array2 that is in array1 */\n\t/* If it is not found, returns fallback, or null if fallback is not specified */\n\tfor (var n = 0; n < array2.length; n++) {\n\t\tif (array1.includes(array2[n])) {\n\t\t\treturn array2[n];\n\t\t}\n\t}\n\t\n\tif (fallback === undefined) {\n\t\treturn null;\n\t} else {\n\t\treturn fallback;\n\t}\n}
/% $args[0] is the text %/\n/% $args[1] is the reason the ship is destroyed, if it is destroyed %/\n/% $args[2] is the damage trait to add. If it already has that trait, or if $args[2] isn't specified, give the ship a random damage trait that it doesn't already have %/\n/% Set $lastDamageOrInjuryReason to $args[1] -- this will become the game over reason if this damage destroys the ship %/\n\s<<widget inlineDamageShip>>\s\n\s<<set _damageTraits = clone(TraitSets.arShipDamage)>>\s\n\s<<set _damageTraits.delete($ship.traits)>>\s\n\s<<if _damageTraits.length > 0>>\s\n\s<<if $args[2] && _damageTraits.includes($args[2])>><<set _trait = $args[2]>><<else>><<set _trait = oneOf(_damageTraits)>><</if>>\s\n\s<<set $ship.traits.pushUnique(_trait)>>\s\n\s<span class="keyword keyword-bad"><<= $args[0]>><span class="tooltip"><<= getTraitIconImg(_trait)>> <<= getTraitName(_trait)>></span></span>\s\n<<else>>\n\s<span class="keyword keyword-bad"><<= $args[0]>><span class="tooltip">[img[defense-satellite]] Ship destroyed</span></span>\s\n\s<</if>>\s\n\s<<set $gameStats.timesDamaged++>>\s\n\s<<set $lastDamageOrInjuryReason = $args[1]>>\s\n\s<</widget>>\s
<<widget discoverNativeCiv>>\n\t<<if "nativeCiv" in $currentSystem.planets[$planetNumber] && $currentSystem.planets[$planetNumber].nativeCiv != -1>>\n\t\t<<set _civ = $currentSystem.planets[$planetNumber].nativeCiv>>\n\t\t\n\t\t<<if !$civilisations[_civ].traits.includes("cKnowOf")>>\n\t\t\t<<set $civilisations[_civ].traits.push("cKnowOf")>>\n\t\t\t<<set $civilisations[_civ].knownTraits.push("cKnowOf")>>\n\t\t\t<<if !("tempName" in $civilisations[_civ])>>\n\t\t\t\t<<set $civilisations[_civ].tempName = $currentSystem.planets[$planetNumber].name + " Civilisation">>\n\t\t\t<</if>>\n\t\t<</if>>\n\t<<else>>\n\t\t<<run console.error("DiscoverNativeCiv called on planet with no native civ")>>\n\t<</if>>\n<</widget>>
/% $args[0] is the array of traits going along with the discovery %/\n<<widget discoverMeddlingCiv>>\n\t<<if !$args[0]>>\n\t\tERROR: discoverMeddlingCiv called with no argument.\n\t\t<<set $args[0] = []>>\n\t<</if>>\n\t<<if $currentSystem.planets[$planetNumber].interstellarCiv != -1>>\n\t\t<<set _civ = $currentSystem.planets[$planetNumber].interstellarCiv>>\n\t\t/% If it's an active crewed ship/base, we know they're not extinct %/\n\t\t<<if ($args[0].includesAny("psOrbitingStarship","psOrbitalStation") && !$args[0].includes("psOrbitalDerelict"))\n\t\t\t|| ($args[0].includesAny("psLandedStarship","psSurfaceStation") && !$args[0].includes("psSurfaceDerelict")) >>\n\t\t\t<<revealMeddlingCivTrait "cNotExtinct">>\n\t\t<</if>>\n\t\t<<if !$currentSystem.planets[$planetNumber].knownTraits.includes("pIdentifiedMeddlingCiv")>>\n\t\t\t<<if !$civilisations[_civ].traits.includes("cKnowOf")>>\n\t\t\t\t<<set $civilisations[_civ].traits.push("cKnowOf")>>\n\t\t\t\t<<set $civilisations[_civ].knownTraits.push("ctSpacefaring","cKnowOf")>>\n\t\t\t\t<<if !$civilisations[_civ].knownTraits.includes("cKnowName")>>\n\t\t\t\t\t\n\t\t\t\t\t<<set _tempNames = getPossibleCivTempNames($args[0])>>\n\t\t\t\t\t<<set _tempNames.delete($civTempNamesUsed)>>\n\t\t\t\t\t<<if _tempNames.length == 0>>\n\t\t\t\t\t\t/% Allow repeats if there are no names left %/\n\t\t\t\t\t\t<<set _tempNames = getPossibleCivTempNames($args[0])>>\n\t\t\t\t\t<</if>>\n\t\t\t\t\t<<set _newName = oneOf(_tempNames)>>\n\t\t\t\t\t<<set $civilisations[_civ].tempName = _newName>>\n\t\t\t\t\t<<set $civTempNamesUsed.push(_newName)>>\n\n\t\t\t\t\t<<TheExplorers>> <<eVerb nickname>> the newly discovered civilisation the <span class="keyword"><<civNameTooltip _civ>><<= $civilisations[_civ].tempName>></span>.\n\t\t\t\t<</if>>\n\t\t\t<<else>>\n\t\t\t\t<<TheExplorers>> <<eVerb recognise>> the technology of the <span class="keyword"><<civNameTooltip _civ>><<meddlingCivName>></span>.\n\t\t\t<</if>>\n\t\t\t<<set $currentSystem.planets[$planetNumber].knownTraits.push("pIdentifiedMeddlingCiv")>>\n\t\t<</if>>\n\t<<else>>\n\t\tERROR: discoverMeddlingCiv called on planet with no interstellar civ\n\t<</if>>\n<</widget>>
\s<<widget learnAndShowMeddlingCivName>>\s\n\t\s<<set _civ = $currentSystem.planets[$planetNumber].interstellarCiv>>\s\n\t\s<<set $civilisations[_civ].knownTraits.pushUnique("cKnowName")>>\s\n\t\s<<set $civilisations[_civ].traits.pushUnique("cKnowName")>>\s\n\t\s<span class="keyword"><<civNameTooltip $currentSystem.planets[$planetNumber].interstellarCiv>><<meddlingCivName>></span>\s\n\s<</widget>>\s
\s<<widget learnAndShowMeddlingCivBiology>>\s\n\t\s<<revealMeddlingCivTrait "cOmnivores" "cHerbivores" "cCarnivores" "cPhotosynthesizers" "cAICiv" "cQuadrupedal" "cAvian" "cAquatic" "cWormlike" "cBipedal" "cAmorphous">>\s\n\t\s<<set _desc = CivDescription.bodyShapeDiet(clone($civilisations[$currentSystem.planets[$planetNumber].interstellarCiv].knownTraits))>>\s\n\t\s<<printDesc _desc>>\s\n\s<</widget>>\s
/% $args[0] is the name of the trait being explored %/\n/% Reveal this trait and mark it explored, and mark its parent trait explored, and give everyone XP %/\n/% If trait is present in the planet's meddling civ, mark it explored there too %/\n<<widget exploreTrait>>\n\t<<revealPlanetTrait $args[0]>>\n\t<<markPlanetTraitExplored $args[0]>>\n\t\n\t<<if $currentSystem.planets[$planetNumber].interstellarCiv != -1>>\n\t\t<<revealMeddlingCivTrait $args[0]>>\n\t<</if>>\n<</widget>>
<<widget markPlanetTraitExplored>>\n\t<<if $args[0] in Traits>>\n\t\t<<if $currentSystem.planets[$planetNumber].traits.includes($args[0])>>\n\t\t\t/% Set trait known on this planet %/\n\t\t\t<<set $currentSystem.planets[$planetNumber].knownTraits.pushUnique($args[0])>>\n\t\t\t<<set $currentSystem.planets[$planetNumber].exploredTraits.pushUnique($args[0])>>\n\t\t<</if>>\n\t<<else>>\n\t\t<<run console.error("markPlanetTraitExplored: No trait with name " + $args[0])>>\n\t<</if>>\n<</widget>>
/% $args are the names of the traits to reveal, if they are present in the planet's traits %/\n<<widget revealPlanetTrait>>\n\t<<for _n = 0; _n < $args.length; _n++>>\n\t\t<<if $currentSystem.planets[$planetNumber].traits.includes($args[_n])\n\t\t\t&& !$currentSystem.planets[$planetNumber].knownTraits.includes($args[_n])>>\n\n\t\t\t<<set $currentSystem.planets[$planetNumber].knownTraits.pushUnique($args[_n])>>\n\t\t\t\n\t\t\t<<if "dataType" in Traits[$args[_n]]>>\n\t\t\t\t<<discoverTrait $args[_n]>>\n\t\t\t<</if>>\n\t\t\t\n\t\t\t/% If this planet has a native civ and this trait is also in the native civ's traits, reveal it there too %/\n\t\t\t<<if $currentSystem.planets[$planetNumber].nativeCiv != -1 && $civilisations[$currentSystem.planets[$planetNumber].nativeCiv].traits.includes($args[_n])>>\n\t\t\t\t<<set $civilisations[$currentSystem.planets[$planetNumber].nativeCiv].knownTraits.pushUnique($args[_n])>>\n\t\t\t<</if>>\n\n\t\t\t/% If this trait has a special discovery event, queue it up %/\n\t\t\t<<if "discoveryEvent" in Traits[$args[0]]>>\n\t\t\t\t<<triggerOneTimeEvent `Traits[$args[0]].discoveryEvent` start>>\n\t\t\t<</if>>\n\t\t<</if>>\n\t<</for>>\n\t/%<<markSecondHandTraitsExplored>>%/\n<</widget>>
/% Go through all the current planet's known traits %/\n/% If a trait is explorable and not explored, but any traits it would reveal are known, mark it explored %/\n<<widget markSecondHandTraitsExplored>>\n\t<<set _planet = $currentSystem.planets[$planetNumber]>>\n\t<<for _t = 0; _t < _planet.knownTraits.length; _t++>>\n\t\t<<set _traitName = _planet.knownTraits[_t]>>\n\t\t<<if "canReveal" in Traits[_traitName] && !_planet.exploredTraits.includes(_traitName)>>\n\t\t\t<<set _keep = false>>\n\t\t\t<<for _t2 = 0; _t2 < Traits[_traitName].canReveal; _t2++>>\n\t\t\t\t<<if _planet.traits.includes(Traits[_traitName].canReveal[_t2]) && !_planet.knownTraits.includes(Traits[_traitName].canReveal[_t2])>>\n\t\t\t\t\t<<set _keep = true>>\n\t\t\t\t<</if>>\n\t\t\t<</for>>\n\t\t\t<<if !_keep>>\n\t\t\t\t<<markPlanetTraitExplored _traitName>>\n\t\t\t<</if>>\n\t\t<</if>>\n\t<</for>>\n<</widget>>
/% $args[0] is the number of the civ, and subsequent $args are the traits to reveal, if they are present in the civ's traits %/\n<<widget revealCivTrait>>\n\t<<set _civ = $args[0]>>\n\t<<for _n = 1; _n < $args.length; _n++>>\n\t\t<<if $civilisations[_civ].traits.includes($args[_n]) && !$civilisations[_civ].knownTraits.includes($args[_n])>>\n\t\t\t<<run console.log("pushing trait "+$args[_n]+" to known traits of civilisation "+_civ)>>\n\t\t\t<<set $civilisations[_civ].knownTraits.push($args[_n])>>\n\t\t\t<<run console.log("civ's known traits is now: "+$civilisations[_civ].knownTraits)>>\n\t\t\t<<if "dataType" in Traits[$args[_n]]>>\n\t\t\t\t<<discoverTrait $args[_n]>>\n\t\t\t<</if>>\n\t\t<</if>>\n\t<</for>>\n<</widget>>
<<widget revealNativeCivTrait>>\n\t<<set _civ = $currentSystem.planets[$planetNumber].nativeCiv>>\n\t<<for _a = 0; _a < $args.length; _a++>>\n\t\t<<revealCivTrait _civ $args[_a]>>\n\t\t<<if $currentSystem.planets[$planetNumber].traits.includes($args[_a])\n\t\t\t&& !$currentSystem.planets[$planetNumber].knownTraits.includes($args[_a])>>\n\t\t\t<<set $currentSystem.planets[$planetNumber].knownTraits.pushUnique($args[_a])>>\n\t\t<</if>>\n\t<</for>>\n<</widget>>
<<widget revealMeddlingCivTrait>>\n\t<<set _civ = $currentSystem.planets[$planetNumber].interstellarCiv>>\n\t<<for _a = 0; _a < $args.length; _a++>>\n\t\t<<revealCivTrait _civ $args[_a]>>\n\t<</for>>\n<</widget>>
/% $args[0] is the trait to discover %/\n/% Mark trait as discovered (so it appears on data view). Give full data if first time, less data later times %/\n/% If this trait has a discovery event and we haven't already seen it, queue it up. %/\n<<widget discoverTrait>>\n\t<<if $args[0] in Traits>>\n\t\t<<if "dataType" in Traits[$args[0]]>>\n\t\t\t\n\t\t\t<<set _crewMemberBonus = 0>>\n\t\t\t<<if Traits[$args[0]].dataType == "planetary_science">>\n\t\t\t\t<<set _crewMemberBonus = Crew.getHighestLevel($crew,"ePlanetaryScientist")>>\n\t\t\t<<elseif Traits[$args[0]].dataType == "xenobiology">>\n\t\t\t\t<<set _crewMemberBonus = Crew.getHighestLevel($crew,"eBiologist")>>\n\t\t\t<<elseif Traits[$args[0]].dataType == "xenotechnology">>\n\t\t\t\t<<set _crewMemberBonus = Crew.getHighestLevel($crew,"eXenologist")>>\n\t\t\t<</if>>\n\t\t\t\n\t\t\t/% Discover trait and add data %/\n\t\t\t<<if !($args[0] in $discoveredTraits)>>\n\t\t\t\t/% First time %/\n\t\t\t\t<<set $discoveredTraits[$args[0]] = 1>>\n\t\t\t\t\n\t\t\t\t<<if "dataAmountNew" in Traits[$args[0]]>>\n\t\t\t\t\t<<set _dataAmount = Traits[$args[0]].dataAmountNew>>\n\t\t\t\t<<else>>\n\t\t\t\t\t<<set _dataAmount = DataAmounts.medium>>\n\t\t\t\t<</if>>\n\t\t\t\t<<set _dataAmount += _crewMemberBonus>>\n\t\t\t\t<<set $discoveriesThisTurn[$args[0]] = _dataAmount>>\n\t\t\t\t/% Achievement unlocks %/\n\t\t\t\t<<newDiscoveryAchievementCheck $args[0]>>\n\t\t\t<<else>>\n\t\t\t\t/% Subsequent times %/\n\t\t\t\t<<set $discoveredTraits[$args[0]]++>>\n\t\t\t\t<<if "dataAmountRepeat" in Traits[$args[0]]>>\n\t\t\t\t\t<<set _dataAmount = Traits[$args[0]].dataAmountRepeat>>\n\t\t\t\t<<else>>\n\t\t\t\t\t<<set _dataAmount = DataAmounts.tiny>>\n\t\t\t\t<</if>>\n\t\t\t\t<<set _dataAmount += _crewMemberBonus>>\n\t\t\t\t<<set $discoveriesThisTurn[$args[0]] = _dataAmount>>\n\t\t\t<</if>>\n\t\t\t<<set $data[Traits[$args[0]].dataType] += _dataAmount>>\n\t\t\t<<if !$sandboxMode>>\n\t\t\t\t<<set $gameStats.totalData += _dataAmount>>\n\t\t\t<</if>>\n\t\t\t<<set $discoveriesThisSystem.pushUnique($args[0])>>\n\t\t\t\n\t\t<<else>>\n\t\t\t<<run console.error("Attempted to discover trait "+$args[0]+" but it had no data type")>>\n\t\t\tERROR: Trait <<= $args[0]>> has no data type\n\n\t\t<</if>>\n\t<<else>>\n\t\t<<run console.error("DiscoverTrait: No trait with name " + $args[0])>>\n\t<</if>>\n<</widget>>
/% $args[0] is the text %/\n/% $args[1] is the data type %/\n/% $args[2] is the data amount %/\n\t/% can be either an int amount, or a constant defined in Difficulty %/\n<<widget inlineGainData>>\s\n\t\s<<if $args[1] in $data>>\s\n\t\t\s<<if $args[2] in DataAmounts>>\s\n\t\t\t\s<<set _gain = DataAmounts[$args[2]]>>\s\n\t\t\s<<elseif Number.isSafeInteger($args[2])>>\s\n\t\t\t\s<<set _gain = $args[2]>>\s\n\t\t\s<<else>>\s\n\t\t\t\s<<run console.error("Invalid data amount "+$args[2])>>\s\n\t\t\t\s<<set _gain = 0>>\s\n\t\t\s<</if>>\s\n\t\t\s<<set _crewMemberBonus = 0>>\s\n\t\t\s<<if $args[1] == "planetary_science">>\s\n\t\t\t\s<<set _crewMemberBonus = Crew.getHighestLevel($crew,"ePlanetaryScientist")>>\s\n\t\t\s<<elseif $args[1] == "xenobiology">>\s\n\t\t\t\s<<set _crewMemberBonus = Crew.getHighestLevel($crew,"eBiologist")>>\s\n\t\t\s<<elseif $args[1] == "xenotechnology">>\s\n\t\t\t\s<<set _crewMemberBonus = Crew.getHighestLevel($crew,"eXenologist")>>\s\n\t\t\s<</if>>\s\n\t\t\s<<set _gain += _crewMemberBonus>>\s\n\t\t\s<<set $data[$args[1]] += _gain>>\s\n\t\t\s<<set $gameStats.totalData += _gain>>\s\n\t\t\s<span class="keyword"><<= $args[0]>><span class="tooltip discovery-tooltip"><<= getTraitIconImg($args[1])>>+<<=_gain>></span></span>\s\n\t\s<<else>>\s\n\t\t\s@@.error;<<= $args[0]>>: Unexpected data type $args[1]@@\s\n\t\s<</if>>\s\n\s<</widget>>\s
/% $args[0] is the game over reason (default "was lost with all hands") %/\n/% $args[1] is the type of ending -- "ship", "crew", or "base" %/\n/% $args[2] is true if this ending is a victory, false otherwise %/\n\n/% If we were in sandbox mode, the button will just take us to the main menu %/\n\n<<widget gameOver>>\n\t<<if $sandboxMode>>\n\t\t<p><div class="full-width-link">\n\t\t\t<<link "The End">>\n\t\t\t\t<<run Save.autosave.delete()>>\n\t\t\t\t<<quitToTitleScreen>>\n\t\t\t<</link>>\n\t\t</div></p>\n\t<<else>>\n\t\t<<if $args[0] === undefined>>\n\t\t\t<<set $gameStats.endingReason = "was lost with all hands">>\n\t\t<<else>>\n\t\t\t<<set $gameStats.endingReason = $args[0]>>\n\t\t<</if>>\n\t\t<<if $args[1] === undefined>>\n\t\t\t<<set $gameStats.endingType = "ship">>\n\t\t<<elseif $args[1] == "crew_multiple" && $crew.length==1>>\n\t\t\t<<set $gameStats.endingType = "crew">>\n\t\t<<else>>\n\t\t\t<<set $gameStats.endingType = $args[1]>>\n\t\t<</if>>\n\t\t<<if $args[2] === undefined>>\n\t\t\t<<set $gameStats.victory = false>>\n\t\t<<else>>\n\t\t\t<<set $gameStats.victory = $args[2]>>\n\t\t<</if>>\n\t\t<p><div class="full-width-link">\n\t\t\t<<link "The End" "Final Score">>\n\t\t\t\t/% Work out derived stats %/\n\t\t\t\t<<set $gameStats.discoveriesMade = Object.keys($discoveredTraits).length>>\n\t\t\t\t<<if "psLifeMicrobes" in $discoveredTraits>>\n\t\t\t\t\t<<set $gameStats.timesFoundLife = $discoveredTraits.psLifeMicrobes>>\n\t\t\t\t<<else>>\n\t\t\t\t\t<<set $gameStats.timesFoundLife = 0>>\n\t\t\t\t<</if>>\n\t\t\t\t<<set _encounteredCivs = $civilisations.filter(function(civ) {return civ.traits.includes("cKnowOf");})>>\n\t\t\t\t<<set $gameStats.civsEncountered = _encounteredCivs.length - 1>>\n\t\t\t\t/% Calculate highest level explorer and explorer with most missions %/\n\t\t\t\t<<set _allExplorers = $crewPool.concat($crew, $crewOnLifeSupport, $recoveringCrew, $deadCrew, $memorialCrew, $retiredCrew)>>\n\t\t\t\t<<set _highestLevelExplorer = _allExplorers[0]>>\n\t\t\t\t<<set _mostMissions = _allExplorers[0]>>\n\t\t\t\t<<for _n = 0; _n < _allExplorers.length; _n++>>\n\t\t\t\t\t<<if _allExplorers[_n].level > _highestLevelExplorer.level\n\t\t\t\t\t\t|| _allExplorers[_n].level == _highestLevelExplorer.level && _allExplorers[_n].xp > _highestLevelExplorer.xp>>\n\t\t\t\t\t\t<<set _highestLevelExplorer = _allExplorers[_n]>>\n\t\t\t\t\t<</if>>\n\t\t\t\t\t<<if _allExplorers[_n].missions > _mostMissions.missions>>\n\t\t\t\t\t\t<<set _mostMissions = _allExplorers[_n]>>\n\t\t\t\t\t<</if>>\n\t\t\t\t<</for>>\n\t\t\t\t\n\t\t\t\t<<set $gameStats.survivors = $crewPool.concat($crew,$recoveringCrew)>>\n\t\t\t\t<<run $gameStats.survivors.sort(Crew.crewPoolSort)>>\n\t\t\t\t<<set $gameStats.memorial = $deadCrew.concat($memorialCrew,$retiredCrew,$crewOnLifeSupport)>>\n\t\t\t\t<<run $gameStats.memorial.sort(Crew.crewPoolSort)>>\n\t\t\t\t<<set $gameStats.highestLevelExplorer = _highestLevelExplorer>>\n\t\t\t\t<<set $gameStats.mostMissionsExplorer = _mostMissions>>\n\t\t\t\t<<set $gameStats.shipUpgrades = $ship.upgrades.length-1>>\t/% -1 because we don't count the starting basic scanners %/\n\t\t\t\t<<set $gameStats.shipName = $ship.name>>\n\t\t\t\t\n\t\t\t\t/% Memorise the new high score %/\n\t\t\t\t<<set _highscores = recall("highscores",[])>>\n\t\t\t\t<<set _highscores.push($gameStats)>>\n\t\t\t\t\n\t\t\t\t<<set _highscores.sort(\n\t\t\t\t\tfunction(g1,g2) {\n\t\t\t\t\t\treturn g2.totalData - g1.totalData;\n\t\t\t\t\t}\n\t\t\t\t)>>\n\t\t\t\t<<if _highscores.length > 100>>\n\t\t\t\t\t<<set _highscores = _highscores.slice(0,100)>>\n\t\t\t\t<</if>>\n\t\t\t\t<<run memorize("highscores",_highscores)>>\n\t\t\t<</link>>\n\t\t</div></p>\n\t<</if>>\n<</widget>>
/% $args[0] is the text %/\n/% $args[1] is the crew member index %/\n/% $args[2] is the trait %/\n/% $args[3] is the death reason text if the crew member dies of this %/\n\n<<widget inlineGiveCrewMemberXTrait>>\n\t\s<<if Traits[$args[2]].stackable>>\n\t\t\s<<if !("fatalNumber" in Traits[$args[2]]) || $crew[$args[1]].traits.count($args[2]) < Traits[$args[2]].fatalNumber>>\n\t\t\t\s<<set $crew[$args[1]].traits.push($args[2])>>\n\t\t\s<</if>>\n\t\s<<else>>\n\t\t\s<<set $crew[$args[1]].traits.pushUnique($args[2])>>\n\t\s<</if>>\n\t\s<<run $crew[$args[1]].traits.sort(traitSort)>>\n\t\s<<if "skillModifier" in Traits[$args[2]] && Traits[$args[2]].skillModifier > 0>>\n\t\t\s<span class="keyword"><<= $args[0]>><<giveCrewMemberTraitTooltip $args[1] $args[2]>></span>\n\t\s<<elseif "skillModifier" in Traits[$args[2]] && Traits[$args[2]].skillModifier < 0>>\n\t\t\s<span class="keyword keyword-bad"><<= $args[0]>><<giveCrewMemberTraitTooltip $args[1] $args[2]>></span>\n\t\s<<else>>\n\t\t\s<span class="keyword"><<= $args[0]>><<giveCrewMemberTraitTooltip $args[1] $args[2]>></span>\n\t\s<</if>>\n\t\s<<if "fatalNumber" in Traits[$args[2]] && $crew[$args[1]].traits.count($args[2]) >= Traits[$args[2]].fatalNumber>>\n\t\t\s<<set $crew[$args[1]].deathReason = $args[3]>>\n\t\s<</if>>\n\s<</widget>>\n\n<<widget inlineGiveCrewMemberTrait>>\s\n\t\s<<inlineGiveCrewMemberXTrait $args[0] $selectedCrewMember $args[1]>>\n\s<</widget>>\n\n<<widget inlineGiveCrewMember2Trait>>\s\n\t\s<<inlineGiveCrewMemberXTrait $args[0] $selectedCrewMember2 $args[1]>>\n\s<</widget>>
/% $args[0] is the text %/\n/% $args[1] is the crew member index %/\n/% $args[2] is the trait %/\n<<widget inlineRemoveCrewMemberXTrait>>\n\t\s<<if $crew[$args[1]].traits.includes($args[2])>>\n\t\t\s<<set $crew[$args[1]].traits.deleteAt($crew[$args[1]].traits.indexOf($args[2]))>>\n\t\s<<else>>\n\t\t\s<<run console.error("Tried to remove trait "+$args[2]+" from crew member who didn't have it")>>\n\t\s<</if>>\n\t\s<<set _class = "keyword">>\n\t\s<<if "skillModifier" in Traits[$args[2]] && Traits[$args[2]].skillModifier > 0>>\n\t\t\s<<set _class += " keyword-bad">>\n\t\s<</if>>\n\t\s<span @class="_class"><<= $args[0]>><span class="tooltip"><span style="font-size: 0.75em">REMOVED:</span><br><<= getTraitIconImg($args[2])>> <<= getTraitName($args[2])>></span></span>\n\s<</widget>>\n\n<<widget inlineRemoveCrewMemberTrait>>\s\n\t\s<<inlineRemoveCrewMemberXTrait $args[0] $selectedCrewMember $args[1]>>\n\s<</widget>>\n\n<<widget inlineRemoveCrewMember2Trait>>\s\n\t\s<<inlineRemoveCrewMemberXTrait $args[0] $selectedCrewMember2 $args[1]>>\n\s<</widget>>
/% $args[0] is the text %/\n/% $args[1] is the crew member index %/\n/% $args[2] is the death text if the crew member dies %/\n<<widget inlineInjureCrewMemberX>>\s\n\t\s<<inlineGiveCrewMemberXTrait $args[0] $args[1] "eInjured" $args[2]>>\n\s<</widget>>\n\n<<widget inlineInjureCrewMember>>\s\n\t\s<<inlineInjureCrewMemberX $args[0] $selectedCrewMember $args[1]>>\n\s<</widget>>\n\n<<widget inlineInjureCrewMember2>>\s\n\t\s<<inlineInjureCrewMemberX $args[0] $selectedCrewMember2 $args[1]>>\n\s<</widget>>
/% $args[0] is the crew member index %/\n/% $args[1] is the trait %/\n/% This should be called *after* giving the crew member the trait %/\n\s<<widget giveCrewMemberTraitTooltip>>\n\t\s<<set _crewMember = $crew[$args[0]]>>\n\t\s<<set _trait = $args[1]>>\n\t\s<<set _count = _crewMember.traits.count(_trait)>>\n\t\s<<set _totalModifier = 0>>\n\t\s<<if "skillModifier" in Traits[_trait]>>\n\t\t\s<<set _totalModifier = Traits[_trait].skillModifier * _count>>\n\t\s<</if>>\n\t\s<span class="tooltip">\n\t\t\s<<= getTraitIconImg(_trait)>>\n\t\t\s<<= getTraitName(_trait)>>\n\t\t\s<<if Traits[_trait].fatalNumber>>\n\t\t\t\s<<if _count >= Traits[_trait].fatalNumber-1>>\n\t\t\t\t\s @@.keyword-bad;(<<= _count>>/<<= Traits[_trait].fatalNumber>>)@@\n\t\t\t\s<<else>>\n\t\t\t\t\s (<<= _count>>/<<= Traits[_trait].fatalNumber>>)\n\t\t\t\s<</if>>\n\t\t\s<<elseif _count > 1>>\n\t\t\t\s (<<= _count>>)\n\t\t\s<</if>>\n\t\t\s<<if _totalModifier > 0>>\n\t\t\t\s (+<<= _totalModifier>>% skill)\n\t\t\s<<elseif _totalModifier < 0>>\n\t\t\t\s (<<= _totalModifier>>% skill)\n\t\t\s<</if>>\n\t\s</span>\n\s<</widget>>
/% $args[0] is the text, $args[1] is the crew member index %/\n/% If they have inspiration, remove it %/\n/% Otherwise give them depression %/\n<<widget inlineDepressCrewmemberX>>\s\n\t\s<<if $crew[$args[1]].traits.includes("eInspired")>>\n\t\t\s<<inlineRemoveCrewMemberXTrait $args[0] $args[1] "eInspired">>\n\t\s<<else>>\n\t\t\s<<inlineGiveCrewMemberXTrait $args[0] $args[1] "eDepressed">>\n\t\s<</if>>\n\s<</widget>>\n\n<<widget inlineDepressCrewMember>>\s\n\t\s<<inlineDepressCrewmemberX $args[0] $selectedCrewMember>>\n\s<</widget>>\n\n<<widget inlineDepressCrewMember2>>\s\n\t\s<<inlineDepressCrewmemberX $args[0] $selectedCrewMember2>>\n\s<</widget>>
/% $args[0] is the text, $args[1] is the crew member index %/\n/% If they have depression, remove it %/\n/% Otherwise give them inspiration %/\n<<widget inlineInspireCrewmemberX>>\s\n\t\s<<if $crew[$args[1]].traits.includes("eDepressed")>>\n\t\t\s<<inlineRemoveCrewMemberXTrait $args[0] $args[1] "eDepressed">>\n\t\s<<else>>\n\t\t\s<<inlineGiveCrewMemberXTrait $args[0] $args[1] "eInspired">>\n\t\s<</if>>\n\s<</widget>>\n\n<<widget inlineInspireCrewMember>>\s\n\t\s<<inlineInspireCrewmemberX $args[0] $selectedCrewMember>>\n\s<</widget>>\n\n<<widget inlineInspireCrewMember2>>\s\n\t\s<<inlineInspireCrewmemberX $args[0] $selectedCrewMember2>>\n\s<</widget>>
/% Gives the ship a named trait %/\n<<widget giveShipTrait>>\n\t<<set $ship.traits.pushUnique($args[0])>>\n\t<<if "gainVerb" in Traits[$args[0]]>>\n\t\t<<set _verb = Traits[$args[0]].gainVerb>>\n\t<<else>>\n\t\t<<set _verb = "has">>\n\t<</if>>\n\t<<if Traits[$args[0]].skillModifier > 0>>\n\t\t<div class="notification-box levelup">\n\t\t\t<span class="inline-icon"><<= getTraitIconImg($args[0])>></span>The <<shipName>> <<= _verb>> ''<<= getTraitName($args[0]).toLowerCase()>>'' (+<<= Traits[$args[1]].skillModifier>>% skill)\t\t\t\n\t\t</div>\n\t<<elseif Traits[$args[0]].skillModifier < 0>>\n\t\t<div class="notification-box injury">\n\t\t\t<span class="inline-icon"><<= getTraitIconImg($args[0])>></span>The <<shipName>> <<= _verb>> ''<<= getTraitName($args[0]).toLowerCase()>>'' (<<= Traits[$args[0]].skillModifier>>% skill)\n\t\t</div>\n\t<<else>>\n\t\t<div class="notification-box">\n\t\t\t<span class="inline-icon"><<= getTraitIconImg($args[0])>></span>The <<shipName>> <<= _verb>> ''<<= getTraitName($args[0]).toLowerCase()>>''\n\t\t</div>\n\t<</if>>\n<</widget>>
/% $args[0] is the text %/\n\s<<widget inlinePreventLanding>>\s\n\t\s<<set $currentSystem.planets[$planetNumber].traits.pushUnique("pLandingPrevented")>>\s\n\t\s<span class="keyword keyword-bad"><<= $args[0]>><span class="tooltip discovery-tooltip"><img data-passage="cancel" alt="Landing prevented">Landing prevented</span></span>\s\n\s<</widget>>\s
<<widget giveXPX>>\n\t/% $args[0] is the crew member to give XP to %/\n\t/% $args[1] is the amount of XP %/\n\t\n\t/% If amount is not specified, give 1 XP %/\n\t<<if !$args[1]>>\n\t\t<<set $args[1] = 1>>\n\t<</if>>\n\t\n\t<<if $crew[$args[0]].level < Crew.levelCap>>\n\t\t<<set $crew[$args[0]].xp += $args[1]>>\n\t\t/%<div class="notification-box"><<nameX $args[0]>>: +<<= $args[1]>> XP</div>%/\n\t\t<<if $crew[$args[0]].xp >= Crew.XPForNextLevel($crew[$args[0]].level, $crew[$args[0]].traits)>>\n\t\t\t<<set $crew[$args[0]].xp -= Crew.XPForNextLevel($crew[$args[0]].level, $crew[$args[0]].traits)>>\n\t\t\t<<set $crew[$args[0]].level += 1>>\n\t\t\t<div class="notification-box discovery-new"><<nameX $args[0]>> is now level <<= $crew[$args[0]].level>></div>\n\t\t\t\n\t\t\t<<if $crew[$args[0]].level == 5>>\n\t\t\t\t<<unlockAchievement "high_level_explorer">>\n\t\t\t<<elseif $crew[$args[0]].level >= Crew.levelCap>>\n\t\t\t\t<<unlockAchievement "max_level_explorer">>\n\t\t\t<</if>>\n\t\t<</if>>\n\t<</if>>\n<</widget>>
<<widget giveXP>>\n\t/% Give XP to $selectedCrewMember %/\n\t<<giveXPX $selectedCrewMember $args[0]>>\n<</widget>>
<<widget giveXP2>>\n\t/% Give XP to $selectedCrewMember2 %/\n\t<<giveXPX $selectedCrewMember2 $args[0]>>\n<</widget>>
<<widget giveXPAll>>\n\t/% Give everyone XP! %/\n\t/% <<for _n = 0; _n < $crew.length; _n++>> %/\n\t\t/% <<giveXPX _n $args[0]>> %/\n\t/% <</for>> %/\n\t/% If amount is not specified, give 1 XP %/\n\t<<if !$args[0]>>\n\t\t<<set $args[0] = 1>>\n\t<</if>>\n\t/%<div class="notification-box">All crew: +<<= $args[0]>> XP</div>%/\n\t<<for _n = 0; _n < $crew.length; _n++>>\n\t\t<<set $crew[_n].xp += $args[0]>>\n\t\t<<if $crew[_n].xp >= Crew.XPForNextLevel($crew[_n].level, $crew[_n].traits)>>\n\t\t\t<<set $crew[_n].xp -= Crew.XPForNextLevel($crew[_n].level, $crew[_n].traits)>>\n\t\t\t<<set $crew[_n].level += 1>>\n\t\t\t<div class="notification-box discovery-new"><<nameX _n>> is now level <<= $crew[_n].level>></div>\n\t\t\t<<if $crew[_n].level == 5>>\n\t\t\t\t<<unlockAchievement "high_level_explorer">>\n\t\t\t<<elseif $crew[_n].level >= Crew.levelCap>>\n\t\t\t\t<<unlockAchievement "max_level_explorer">>\n\t\t\t<</if>>\n\t\t<</if>>\n\t<</for>>\n<</widget>>
/% $args[0] is the crew member index %/\n/% $args[1] is the death reason (string) to appear in the memorial, and on the game over screen if this is the last crew member %/\n<<widget killCrewMemberX>>\n\t<div class="notification-box injury"><span class="inline-icon"><<iconWithTooltip "coffin" "Dead">></span><<nameX $args[0]>> is dead!</div>\n\t<<if $args[1] === undefined>>\n\t\t<<set $args[1] = "died">>\n\t<</if>>\n\t<<if $args[1]>>\n\t\t<<if $args[1].startsWith("was ")>>\n\t\t\t<<set _deathString = $args[1].substring(4).toUpperFirst()>>\n\t\t<<else>>\n\t\t\t<<set _deathString = $args[1].toUpperFirst()>>\n\t\t<</if>>\n\t\t<<if $positionTrait == "xGateJourney">>\n\t\t\t<<set $crew[$args[0]].deathReason = _deathString + " inside the wormhole.">>\n\t\t<<elseif $positionTrait == "xEndgame">>\n\t\t\t<<set $crew[$args[0]].deathReason = _deathString + " on the Gate Nexus.">>\n\t\t<<elseif $positionTrait == "xInterplanetary" || $planetNumber == -1>>\n\t\t\t<<set $crew[$args[0]].deathReason = _deathString + " in the " + $currentSystem.name + " system.">>\n\t\t<<elseif $positionTrait == "xInOrbit">>\n\t\t\t<<set $crew[$args[0]].deathReason = _deathString + " in orbit of " + $currentSystem.planets[$planetNumber].name+".">>\n\t\t<<elseif $positionTrait == "xExploringSurface">>\n\t\t\t<<set $crew[$args[0]].deathReason = _deathString + " on " + $currentSystem.planets[$planetNumber].name+".">>\n\t\t<<else>>\n\t\t\t<<set $crew[$args[0]].deathReason = _deathString + " in the " + $currentSystem.name + " system.">>\n\t\t<</if>>\n\t<</if>>\n\t<<set _memberArray = $crew.deleteAt($args[0])>>\n\t<<set $deadCrew.push(_memberArray[0])>>\n\t<<set $lastDamageOrInjuryReason = $args[1]>>\n\t<<set $gameStats.explorersKilled++>>\n<</widget>>
<<widget killCrewMember>>\n\t<<killCrewMemberX $selectedCrewMember $args[0]>>\n<</widget>>
<<widget killCrewMember2>>\n\t<<killCrewMemberX $selectedCrewMember2 $args[0]>>\n<</widget>>
<<widget moveToLifeSupportX>>\n\t<div class="notification-box"><span class="inline-icon"><<iconWithTooltip "cryo-chamber" "In Stasis">></span> <<nameX $args[0]>> is in stasis.</div>\n\t<<set _memberArray = $crew.deleteAt($args[0])>>\n\t<<set $crewOnLifeSupport.push(_memberArray[0])>>\n<</widget>>
<<widget moveToLifeSupport>>\n\t<<moveToLifeSupportX $selectedCrewMember>>\n<</widget>>
<<widget moveToLifeSupport2>>\n\t<<moveToLifeSupportX $selectedCrewMember2>>\n<</widget>>
/% $args[0] is the crew member index %/\n/% $args[1] is the retirement reason (string) to appear in the memorial, and on the game over screen if this is the last crew member %/\n/% This macro is silent; the code must output its own message %/\n<<widget retireCrewMemberX>>\n\t<<if $args[1] === undefined>>\n\t\t<<set $args[1] = "retired">>\n\t<</if>>\n\t<<if $args[1]>>\n\t\t<<if $args[1].startsWith("was ")>>\n\t\t\t<<set _deathString = $args[1].substring(4).toUpperFirst()>>\n\t\t<<else>>\n\t\t\t<<set _deathString = $args[1].toUpperFirst()>>\n\t\t<</if>>\n\t\t<<if $positionTrait == "xGateJourney">>\n\t\t\t<<set $crew[$args[0]].deathReason = _deathString + " inside the wormhole.">>\n\t\t<<elseif $positionTrait == "xEndgame">>\n\t\t\t<<set $crew[$args[0]].deathReason = _deathString + " on the Gate Nexus.">>\n\t\t<<elseif $positionTrait == "xInterplanetary" || $planetNumber == -1>>\n\t\t\t<<set $crew[$args[0]].deathReason = _deathString + " in the " + $currentSystem.name + " system.">>\n\t\t<<elseif $positionTrait == "xInOrbit">>\n\t\t\t<<set $crew[$args[0]].deathReason = _deathString + " in orbit of " + $currentSystem.planets[$planetNumber].name+".">>\n\t\t<<elseif $positionTrait == "xExploringSurface">>\n\t\t\t<<set $crew[$args[0]].deathReason = _deathString + " on " + $currentSystem.planets[$planetNumber].name+".">>\n\t\t<<else>>\n\t\t\t<<set $crew[$args[0]].deathReason = _deathString + " in the " + $currentSystem.name + " system.">>\n\t\t<</if>>\n\t<</if>>\n\t<<set _memberArray = $crew.deleteAt($args[0])>>\n\t<<set $retiredCrew.push(_memberArray[0])>>\n\t<<set $lastDamageOrInjuryReason = $args[1]>>\n\t/%<<set $gameStats.explorersKilled++>>%/\n\t\n\t<<unlockAchievement "explorer_left">>\n<</widget>>
/% $args[0] is the text %/\n/% $args[1] is the amount of fuel loss %/\n/% $args[2] is true if this should be displayed as a red warning, false if not %/\n\s<<widget inlineLoseFuel>>\s\n\t\s<<if $args[1] in FuelAmounts>>\s\n\t\t\s<<set _loss = FuelAmounts[$args[1]]>>\s\n\t\s<<elseif Number.isSafeInteger($args[1])>>\s\n\t\t\s<<set _loss = $args[1]>>\s\n\t\s<<else>>\s\n\t\t\s<<run console.error("Invalid fuel amount "+$args[1])>>\s\n\t\t\s<<set _loss = 0>>\s\n\t\s<</if>>\s\n\t\s<<set $ship.fuel = Math.max(0, $ship.fuel - _loss)>>\s\n\t\s<<set _class = "keyword">>\s\n\t\s<<if $args[2] || ($args[2]===undefined && _loss >= FuelAmounts["medium"])>><<set _class += " keyword-bad">><</if>>\s\n\t\s<span @class="_class"><<= $args[0]>><span class="tooltip discovery-tooltip"><img data-passage="atom" alt="Fuel">-<<= _loss>></span></span>\s\n\s<</widget>>\s
/% $args[0] is the fuel cost %/\n\s<<widget showFuelCost>>\s\n\t\s<<if $args[0] in FuelAmounts>>\s\n\t\t\s<<set _loss = FuelAmounts[$args[0]]>>\s\n\t\s<<elseif Number.isSafeInteger($args[0])>>\s\n\t\t\s<<set _loss = $args[0]>>\s\n\t\s<<else>>\s\n\t\t\s<<run console.error("Invalid fuel amount "+$args[0])>>\s\n\t\t\s<<set _loss = 0>>\s\n\t\s<</if>>\s\n\t\s<span style="display:inline-block">(<<= _loss>><<iconWithTooltip "atom" "Fuel">>)</span>\s\n\s<</widget>>\s
/% Go to the next event in the queue %/\n/% If $args[0] is specified, use that passage's result as the link text, otherwise "Continue" %/\n<<widget nextEventLink>>\n\t<<if $args[0]>>\n\t\t <<set _linkText = Story.get($args[0]).processText()>>\n\t<<else>>\n\t\t<<set _linkText = "Continue">>\n\t<</if>>\n\t\n\t<<set $pageOptionNumber++>>\n\t\n\t@@.full-width-link;<<link _linkText "Next Event">><</link>>@@\n<</widget>>\n\n\n\n\n\n\n/% ::GoToNextEvent [widget nobr counts-as-main] %/\n/% <<widget gotoNextEvent>> %/\n\t/% <<goto "Next Event">> %/\n/% <</widget>> %/
<<includeNextEvent>>
<<widget includeNextEvent>>\n\t<<include [[Refresh Context Traits]]>>\n\t\n\t/% DEATH CHECK %/\n\t<<set _someoneDied = false>>\n\t<<for _crewMember = 0; _crewMember < $crew.length; _crewMember++>>\n\t\t<p>\n\t\t\t<<if $crew[_crewMember].traits.count("eRadiationSickness") >= Traits["eRadiationSickness"].fatalNumber>>\n\t\t\t\t<<if !$crew[_crewMember].deathReason>>\n\t\t\t\t\t<<set $crew[_crewMember].deathReason = "died of radiation sickness">>\n\t\t\t\t<</if>>\n\t\t\t\t<<nameX _crewMember>> has received a fatal dose of radiation.\n\t\t\t<<elseif $crew[_crewMember].traits.count("eTerrestrialInfection") >= Traits["eTerrestrialInfection"].fatalNumber>>\n\t\t\t\t<<if !$crew[_crewMember].deathReason>>\n\t\t\t\t\t<<set $crew[_crewMember].deathReason = "died of a terrestrial infection">>\n\t\t\t\t<</if>>\n\t\t\t\t<<nameX _crewMember>>'s terrestrial infection has become fatal.\n\t\t\t<<elseif $crew[_crewMember].traits.count("eAlienInfection") >= Traits["eAlienInfection"].fatalNumber>>\n\t\t\t\t<<if !$crew[_crewMember].deathReason>>\n\t\t\t\t\t<<set $crew[_crewMember].deathReason = "died of an alien infection">>\n\t\t\t\t<</if>>\n\t\t\t\tThe alien infection is eating away at <<nameX _crewMember>>'s body.\n\t\t\t<<elseif $crew[_crewMember].traits.count("eInjured") >= Traits["eInjured"].fatalNumber>>\n\t\t\t\t<<if !$crew[_crewMember].deathReason>>\n\t\t\t\t\t<<set $crew[_crewMember].deathReason = "died from injuries">>\n\t\t\t\t<</if>>\n\t\t\t\t<<nameX _crewMember>>'s injuries are too serious for <<himherX _crewMember>> to survive.\n\t\t\t<</if>>\n\t\t\t\n\t\t\t<<if $crew[_crewMember].deathReason>>\n\t\t\t\t<<set _someoneDied = true>>\n\t\t\t\t<<if $crew.length == 1>>\n\t\t\t\t\t<<set $eventTitle = Crew.fullName($crew[_crewMember])+" is Dead">>\n\t\t\t\t\tWith no one else left to operate the <<shipName>>, <<hisherX _crewMember>> death marks the end of the Chiron Project.\n\t\t\t\t<<elseif $ship.upgrades.includes("sUpgradeLifeSupport")>>\n\t\t\t\t\t<<set $eventTitle = Crew.fullName($crew[_crewMember])+" is in Stasis">>\n\t\t\t\t\t<<if $crew.length==2>>\n\t\t\t\t\t\t<<HisHerX _crewMember>> remaining companion manages\n\t\t\t\t\t<<else>>\n\t\t\t\t\t\tThe other explorers manage\n\t\t\t\t\t<</if>>\n\t\t\t\t\tto keep <<himherX _crewMember>> alive long enough to put <<himherX _crewMember>> into stasis for the journey back to Chiron Base.\n\t\t\t\t<<else>>\n\t\t\t\t\t<<set $eventTitle = Crew.fullName($crew[_crewMember])+" is Dead">>\n\t\t\t\t\t<<if $crew.length==2>>\n\t\t\t\t\t\t<<HisHerX _crewMember>> remaining companion\n\t\t\t\t\t<<else>>\n\t\t\t\t\t\tThe other explorers\n\t\t\t\t\t<</if>>\n\t\t\t\t\tcan do nothing but make <<hisherX _crewMember>> final moments more comfortable.\n\t\t\t\t<</if>>\n\t\t\t<</if>>\n\t\t</p>\n\t\t\n\t\t<<if $crew[_crewMember].deathReason>>\n\t\t\t<<if $crew.length > 1 && $ship.upgrades.includes("sUpgradeLifeSupport")>>\n\t\t\t\t<<run delete $crew[_crewMember].deathReason>>\n\t\t\t\t<<moveToLifeSupportX _crewMember>>\n\t\t\t<<else>>\n\t\t\t\t<<killCrewMemberX _crewMember $crew[_crewMember].deathReason>>\n\t\t\t<</if>>\n\t\t<</if>>\n\t<</for>>\n\t\n\t<<if _someoneDied && $crew.length == 0 && !$noCrewGameOver>>\n\t\t<<gameOver $lastDamageOrInjuryReason "crew">>\n\t<<elseif _someoneDied>>\n\t\t<p><<nextEventLink>></p>\n\t<<else>>\n\t\t/% Failure states %/\n\t\t<<if $crew.length == 0 && !$noCrewGameOver>>\n\t\t\t<<set $eventTitle = "">>\n\t\t\t<<include [[Everyone Is Dead]]>>\n\t\t<<elseif $ship.traits.length >= $ship.getMaxDamage() && !$noShipGameOver>>\n\t\t\t<<set $eventTitle = "">>\n\t\t\t<<include [[Too Much Damage]]>>\n\t\t/% Next event in queue %/\n\t\t<<elseif $eventQueue.length > 0>>\n\t\t\t<<set _event = $eventQueue.shift()>>\n\t\t\t<<set $lastEvents.push(_event.passage)>>\n\t\t\t/% <<if $lastEvents.length > 5>> %/\n\t\t\t\t/% <<set $lastEvents.shift()>> %/\n\t\t\t/% <</if>> %/\n\t\t\t\n\t\t\t/% Debug recording of all events %/\n\t\t\t<<if _event.passage in $allEventsThisGame>>\n\t\t\t\t<<set $allEventsThisGame[_event.passage]++>>\n\t\t\t<<else>>\n\t\t\t\t<<set $allEventsThisGame[_event.passage] = 1>>\n\t\t\t<</if>>\n\t\t\t\n\t\t\t<<if "crewID1" in _event>>\n\t\t\t\t<<set $selectedCrewMember = Crew.getCrewMemberWithID($crew, _event.crewID1)>>\n\t\t\t<<else>>\n\t\t\t\t<<set $selectedCrewMember = -1>>\n\t\t\t<</if>>\n\t\t\t<<if "crewID2" in _event>>\n\t\t\t\t<<set $selectedCrewMember2 = Crew.getCrewMemberWithID($crew, _event.crewID2)>>\n\t\t\t<<else>>\n\t\t\t\t<<set $selectedCrewMember2 = -1>>\n\t\t\t<</if>>\n\t\t\t<<if "title" in _event>>\n\t\t\t\t<<set $eventTitle = _event.title>>\n\t\t\t<<else>>\n\t\t\t\t<<set $eventTitle = _event.passage>>\n\t\t\t<</if>>\n\t\t\t\n\t\t\t<<if Story.has(_event.passage) && _event.passage != "">>\n\t\t\t\t<<include _event.passage>>\n\t\t\t<<else>>\n\t\t\t\tERROR: Tried to include non-existent passage '<<= _event.passage>>'. Including planet view instead.\n\t\t\t\t<<run console.error("Tried to include non-existent passage '"+_event.passage+"'")>>\n\t\t\t\t<br><br><<include [[Planet View]]>>\n\t\t\t<</if>>\n\t\t<<else>>\n\t\t\t<<set $eventTitle = "">>\n\t\t\t<<include [[Planet View]]>>\n\t\t<</if>>\n\t<</if>>\n<</widget>>
/% Adds a new event to the end of the event queue %/\n/% $args[0] is the name of the event list to pick from, e.g. "postCrash" if we've just crashed %/\n/% If $args[1] is "end", add to the end of the queue, otherwise add to the start. %/\n/% If there are no valid events, silently do nothing (calling code must be prepared for this possibility) %/\n<<widget addEventFromListToQueue>>\n\t/% <<set _fullTraits = $contextTraits.concatUnique($currentSystem.planets[$planetNumber].traits)>> %/\n\t<<set _passage = getRandomPassageForTraits($args[0], $contextTraits, [], $lastEvents)>>\n\t<<if _passage != null && _passage != "">>\n\t\t<<addEventToQueue _passage $args[1]>>\n\t<</if>>\n<</widget>>
/% Adds a new event to the end of the event queue %/\n/% $args[0] is the name of the event's passage %/\n/% If $args[1] is "end", add to the end of the queue, otherwise add to the start. %/\n/% $args[2] if present is the title %/\n<<widget addEventToQueue>>\n\t<<set _event = {}>>\n\t<<set _event.passage = $args[0]>>\n\t<<if $args[2]>>\n\t\t<<set _event.title = $args[2]>>\n\t<<else>>\n\t\t<<set _event.title = "">>\n\t<</if>>\n\t<<if $selectedCrewMember in $crew>>\n\t\t<<set _event.crewID1 = $crew[$selectedCrewMember].uniqueID>>\n\t<</if>>\n\t<<if $selectedCrewMember2 in $crew>>\n\t\t<<set _event.crewID2 = $crew[$selectedCrewMember2].uniqueID>>\n\t<</if>>\n\t<<if $args[1] == "end">>\n\t\t<<set $eventQueue.push(_event)>>\n\t<<else>>\n\t\t<<set $eventQueue.unshift(_event)>>\n\t<</if>>\n<</widget>>
/% Adds a new event to the start of the queue and prints a "Continue" link to that event. %/\n<<widget nextEventFromList>>\n\t<<addEventFromListToQueue $args[0] start>>\n\t<<nextEventLink>>\n<</widget>>
<<TheExplorers>> <<eVerb log>> <<their>> findings and <<eVerb move>> on
<<set $contextTraits = Crew.getAllCrewTraits($crew).concat($ship.upgrades).concat($ship.traits).concat($positionTrait).concat($situationTraits)>>\n<<if $currentSystem>>\n\t<<set $contextTraits = $contextTraits.concat($currentSystem.traits)>>\n\t<<for _s = 0; _s < $currentSystem.stars.length; _s++>>\n\t\t<<set $contextTraits = $contextTraits.concat($currentSystem.stars[_s].traits)>>\n\t<</for>>\n\t<<if $planetNumber != -1>>\n\t\t<<set $contextTraits = $contextTraits.concat($currentSystem.planets[$planetNumber].traits)>>\n\t\t\n\t\t<<if $exploringTrait && "canReveal" in Traits[$exploringTrait] && Traits[$exploringTrait].canReveal.includes("psMeddlingCiv")>>\n\t\t\t<<set _icTraits = $civilisations[$currentSystem.planets[$planetNumber].interstellarCiv].traits.filter(function(t) { return t.startsWith("ic"); })>>\n\t\t\t<<set $contextTraits = $contextTraits.concat(_icTraits)>>\n\t\t<</if>>\n\t\t<<if $currentSystem.planets[$planetNumber].nativeCiv != -1>>\n\t\t\t<<set $contextTraits = $contextTraits.concat($civilisations[$currentSystem.planets[$planetNumber].nativeCiv].traits)>>\n\t\t<</if>>\n\t<</if>>\n<</if>>
\s<<widget randomCrewMember>>\s\n\t<<if $args.includes("not2")>>\n\t\t\s<<set $selectedCrewMember = random(0,$crew.length-2)>>\s\n\t\t\s<<if $selectedCrewMember==$selectedCrewMember2>>\s\n\t\t\t\s<<set $selectedCrewMember = $crew.length-1>>\s\n\t\t\s<</if>>\s\n\t\s<<else>>\s\n\t\t\s<<set $selectedCrewMember = random(0,$crew.length-1)>>\s\n\t\s<</if>>\s\n\t\s<<if $crew.length==1>>\s\n\t\t\s<<if $args.includes("HeShe")>>\s\n\t\t\t\s<<HeShe>>\s\n\t\t\s<<elseif $args.includes("heshe")>>\s\n\t\t\t\s<<heshe>>\s\n\t\t\s<<elseif $args.includes("HimHer")>>\s\n\t\t\t\s<<HimHer>>\s\n\t\t\s<<elseif $args.includes("himher")>>\s\n\t\t\t\s<<himher>>\s\n\t\t\s<<elseif $args.includes("X")>>\s\n\t\t\t\s/% Nothing %/\s\n\t\t\s<<else>>\s\n\t\t\t\s<<name>>\s\n\t\t\s<</if>>\s\n\t\s<<else>>\s\n\t\t\s<<name>>\s\n\t\s<</if>>\s\n\s<</widget>>\s
\s<<widget randomCrewMember2>>\s\n\t<<if $args.includes("not1")>>\n\t\t\s<<set $selectedCrewMember2 = random(0,$crew.length-2)>>\s\n\t\t\s<<if $selectedCrewMember2==$selectedCrewMember>>\s\n\t\t\t\s<<set $selectedCrewMember2 = $crew.length-1>>\s\n\t\t\s<</if>>\s\n\t\s<<else>>\s\n\t\t\s<<set $selectedCrewMember2 = random(0,$crew.length-1)>>\s\n\t\s<</if>>\s\n\t\s<<if $crew.length==1>>\s\n\t\t\s<<if $args.includes("HeShe")>>\s\n\t\t\t\s<<HeShe2>>\s\n\t\t\s<<elseif $args.includes("heshe")>>\s\n\t\t\t\s<<heshe2>>\s\n\t\t\s<<elseif $args.includes("HimHer")>>\s\n\t\t\t\s<<HimHer2>>\s\n\t\t\s<<elseif $args.includes("himher")>>\s\n\t\t\t\s<<himher2>>\s\n\t\t\s<<elseif $args.includes("X")>>\s\n\t\t\t\s/% Nothing %/\s\n\t\t\s<<else>>\s\n\t\t\t\s<<name2>>\s\n\t\t\s<</if>>\s\n\t\s<<else>>\s\n\t\t\s<<name2>>\s\n\t\s<</if>>\s\n\s<</widget>>\s
/% Prints the name of a crew member with the trait, and sets them as $selectedCrewMember %/\n/% Uses a random crew member if no one has the trait %/\n/% You should have already checked that someone has the trait, or it shouldn't matter %/\n<<widget crewMemberWithTrait>>\s\n\t<<set $selectedCrewMember = Crew.getRandomWithTraits($crew, $args[0], true)>>\s\n\t<<name>>\s\n<</widget>>\s
/% Prints the name of a crew member with the trait, and sets them as $selectedCrewMember2 %/\n/% Uses a random crew member if no one has the trait %/\n/% You should have already checked that someone has the trait, or it shouldn't matter %/\n<<widget crewMember2WithTrait>>\s\n\t<<set $selectedCrewMember2 = Crew.getRandomWithTraits($crew, $args[0], true)>>\s\n\t<<name2>>\s\n<</widget>>\s
/% Prints the name of a crew member with trait(s) $args[0] and without trait(s) $args[1], and sets them as $selectedCrewMember %/\n/% If no one matches, use a crew member without trait(s) $args[1], ignoring $args[0] %/\n/% If no one matches again, use a random crew member %/\n<<widget crewMemberWithWithoutTrait>>\s\n\t<<set $selectedCrewMember = Crew.getRandomWithWithoutTraits($crew, $args[0], $args[1])>>\s\n\t<<name>>\s\n<</widget>>\s
/% Selects and prints the name of the best non-injured crew member for the given stat, or a random non-injured crew member. %/\n<<widget bestPilot>>\s\n\t<<set $selectedCrewMember = Crew.getRandomWithTraits($crew, ["ePilot"], true)>>\s\n\t<<name>>\s\n<</widget>>\s\n\n<<widget bestEngineer>>\s\n\t<<set $selectedCrewMember = Crew.getRandomWithTraits($crew, ["eEngineer"], true)>>\s\n\t<<name>>\s\n<</widget>>\s\n\n<<widget bestMedic>>\s\n\t<<set $selectedCrewMember = Crew.getRandomWithTraits($crew, ["eMedic"], true)>>\s\n\t<<name>>\s\n<</widget>>\s\n\n<<widget bestPlanetaryScientist>>\s\n\t<<set $selectedCrewMember = Crew.getRandomWithTraits($crew, ["ePlanetaryScientist"], true)>>\s\n\t<<name>>\s\n<</widget>>\s\n\n<<widget bestBiologist>>\s\n\t<<set $selectedCrewMember = Crew.getRandomWithTraits($crew, ["eBiologist"], true)>>\s\n\t<<name>>\s\n<</widget>>\s\n\n<<widget bestXenologist>>\s\n\t<<set $selectedCrewMember = Crew.getRandomWithTraits($crew, ["eXenologist"], true)>>\s\n\t<<name>>\s\n<</widget>>\s
<div class="notification-box">Success</div>\n/%''Success''<br>%/\n<<giveXP>>\n<<include $nextPassage>>\n<<unset $nextPassage>>
<div class="notification-box">Success</div>\n/%''Success''<br>%/\n<<include $nextPassage>>\n<<unset $nextPassage>>
<div class="notification-box injury">Failure</div>\n/%''Failure''<br>%/\n<<include $nextPassage>>\n<<unset $nextPassage>>
<<if $nextPassage === undefined>>\n\t<<run console.error("SuccessOrFailureLink: $nextPassage was undefined, setting to planet view")>>\n<</if>>\n<<if $optOutcome == "crewSuccess">>\n\t<<include [[CrewMemberSuccessLink]]>>\n<<elseif $optOutcome == "generalSuccess">>\n\t<<include [[GeneralSuccessLink]]>>\n<<elseif $optOutcome == "failure">>\n\t<<include [[FailureLink]]>>\n<<else>>\n\t<<run console.error("SuccessOrFailureLink: $optOutcome should have been one of crewSuccess, generalSuccess, or failure, but was "+$optOutcome)>>\n\t<<include [[FailureLink]]>>\n<</if>>
/% $args[0] is the string of the upgrade to unlock %/\n<<widget unlockUpgrade>>\n\t<<if !$researchableUpgrades.includes($args[0])>>\n\t\t<<set $researchableUpgrades.push($args[0])>>\n\t\t<<run $researchableUpgrades.sort(traitSort)>>\n\t\t<span class="notification-box">\n\t\t\t<span class="inline-icon"><<traitIcon $args[0]>></span>\n\t\t\tThe <span class="keyword"><<= getTraitName($args[0])>><span class="tooltip"><<= Traits[$args[0]].desc.replace("&shipName&","<em>"+$ship.name+"</em>")>></span></span> upgrade can now be researched at Chiron Base.\n\t\t</span>\n\t<</if>>\n<</widget>>
window.CrewMember = function (fName, lName, traits, level) {\n\tthis.firstName = fName;\n\tthis.lastName = lName;\n\tthis.traits = traits;\n\tif (level === undefined) {\n\t\tthis.level = 1;\n\t} else {\n\t\tthis.level = level;\n\t}\n\tthis.xp = 0;\n\tthis.missions = 0;\n\tthis.uniqueID = variables().crewUniqueIDsUsed++;\n}\n\n\nwindow.Crew = {\n\tskillBonusPerLevel: 5,\n\tlevelCap: 8,\n\t\n\tXPForNextLevel: function(level, traits) {\n\t\t/* If a crew member is this level, how much XP do they need for the next level? */\n\t\tif (traits === undefined) {\n\t\t\ttraits = [];\n\t\t}\n\t\treturn level*10;\n\t},\n\t\n\tfullName: function(crewMember) {\n\t\tif (crewMember.traits.includes("eReverseNameOrder")) {\n\t\t\treturn crewMember.lastName + " " + crewMember.firstName;\n\t\t} else {\n\t\t\treturn crewMember.firstName + " " + crewMember.lastName;\n\t\t}\n\t},\n\t\n\tgetAllCrewTraits: function(crew) {\n\t\tvar allTraits = [];\n\t\tfor (var n = 0; n < crew.length; n++) {\n\t\t\tallTraits = allTraits.concatUnique(crew[n].traits);\n\t\t}\n\t\treturn allTraits;\n\t},\n\t\n\tanyoneHasTrait: function(crew, trait) {\n\t\treturn Crew.getAllCrewTraits(crew).includes(trait);\n\t},\n\t\n\t/* Return the indices of the crew members with/without the traits (not the crew member objects) */\n\tgetAllWithTraits: function(crew, traits) {\n\t\tvar matchingCrew = [];\n\t\tif (!Array.isArray(traits)) {\n\t\t\ttraits = [traits];\n\t\t}\n\t\tfor (var n = 0; n < crew.length; n++) {\n\t\t\tif (crew[n].traits.includesAll(traits)) {\n\t\t\t\tmatchingCrew.push(n);\n\t\t\t}\n\t\t}\n\t\treturn matchingCrew;\n\t},\n\t\n\tgetAllWithoutTraits: function(crew, traits) {\n\t\tvar matchingCrew = [];\n\t\tif (!Array.isArray(traits)) {\n\t\t\ttraits = [traits];\n\t\t}\n\t\tfor (var n = 0; n < crew.length; n++) {\n\t\t\tif (!crew[n].traits.includesAny(traits)) {\n\t\t\t\tmatchingCrew.push(n);\n\t\t\t}\n\t\t}\n\t\treturn matchingCrew;\n\t},\n\t\n\tgetAllWithWithoutTraits: function(crew, yesTraits, noTraits) {\n\t\tvar matchingCrew = [];\n\t\tif (!Array.isArray(yesTraits)) {\n\t\t\tyesTraits = [yesTraits];\n\t\t}\n\t\tif (!Array.isArray(noTraits)) {\n\t\t\tnoTraits = [noTraits];\n\t\t}\n\t\tfor (var n = 0; n < crew.length; n++) {\n\t\t\tif (crew[n].traits.includesAll(yesTraits) && !crew[n].traits.includesAny(noTraits)) {\n\t\t\t\tmatchingCrew.push(n);\n\t\t\t}\n\t\t}\n\t\treturn matchingCrew;\n\t},\n\t\n\tremoveTraitFromEveryone: function(crew, trait) {\n\t\tfor (var n = 0; n < crew.length; n++) {\n\t\t\tcrew[n].traits.delete(trait);\n\t\t}\n\t},\n\t\n\tgetRandomWithTraits: function(crew, traits, anyWillDo) {\n\t\tvar matchingCrew = Crew.getAllWithTraits(crew, traits);\n\t\tif (matchingCrew.length > 0) {\n\t\t\treturn oneOf(matchingCrew);\n\t\t} else if (anyWillDo) {\n\t\t\treturn random(0,crew.length-1);\n\t\t}\n\n\t\treturn null;\n\t},\n\t\n\t/* Find a random crew member without noTraits and with yesTraits */\n\t/* If there is none, return a random crew member without noTraits, ignoring yesTraits*/\n\t/* If there is still none, return a random crew member */\n\tgetRandomWithWithoutTraits: function(crew, yesTraits, noTraits) {\n\t\tvar matchingCrew = Crew.getAllWithWithoutTraits(crew, yesTraits, noTraits);\n\t\tif (matchingCrew.length > 0) {\n\t\t\treturn oneOf(matchingCrew);\n\t\t} else {\n\t\t\tmatchingCrew = Crew.getAllWithoutTraits(crew, noTraits);\n\t\t\tif (matchingCrew.length > 0) {\n\t\t\t\treturn oneOf(matchingCrew);\n\t\t\t} else {\n\t\t\t\treturn random(0,crew.length-1);\n\t\t\t}\n\t\t}\n\t},\n\t\n\tgetHighestLevel: function(crew,trait) {\n\t\tvar bestLevel = 0;\n\t\tfor (var n = 0; n < crew.length; n++) {\n\t\t\tif (crew[n].traits.includes(trait) && crew[n].level > bestLevel) {\n\t\t\t\tbestLevel = crew[n].level;\n\t\t\t}\n\t\t}\n\t\treturn bestLevel;\n\t},\n\t\n\tgetSuccessChance: function(crewMember, requiredTraits, difficulty) {\n\t\t/* Crew member must have all required traits, then pass the random check */\n\t\tif (crewMember.traits.includesAll(requiredTraits)) {\n\t\t\t\t/* Certain traits may add bonuses/penalties here (e.g. injury penalty) */\n\t\t\tvar successChance = difficulty + crewMember.level*Crew.skillBonusPerLevel;\n\t\t\t\n\t\t\tfor (var t = 0; t < crewMember.traits.length; t++) {\n\t\t\t\tif ("skillModifier" in Traits[crewMember.traits[t]]) {\n\t\t\t\t\tsuccessChance += Traits[crewMember.traits[t]].skillModifier;\n\t\t\t\t}\n\t\t\t}\n\t\t\t\n\t\t\t\n\t\t\treturn successChance;\n\t\t} else {\n\t\t\treturn 0;\n\t\t}\n\t},\n\t\n\tskillCheck: function(crewMember, requiredTraits, difficulty) {\n\t\treturn random(99) < Crew.getSuccessChance(crewMember, requiredTraits, difficulty);\n\t},\n\t\n\tskillCheckAll: function(crew, requiredTraits, difficulty) {\n\t\tvar membersWhoPass = [];\n\t\tfor (var n = 0; n < crew.length; n++) {\n\t\t\tif (Crew.skillCheck(crew[n], requiredTraits, difficulty)) {\n\t\t\t\tmembersWhoPass.push(n);\n\t\t\t}\n\t\t}\n\t\tif (membersWhoPass.length > 0) {\n\t\t\tvariables().selectedCrewMember = oneOf(membersWhoPass);\n\t\t\treturn true;\n\t\t} else {\n\t\t\treturn false;\n\t\t}\n\t},\n\t\n\t\n\tgiveRandomNamedTrait: function(crew, crewMember, traits) {\n\t\t/* Gives crew member a random trait that they don't already have from the list of named traits */\n\t\t/* Returns the trait given, or null if they already had them all */\n\t\t\n\t\t/* Delete any the crew member already has */\n\t\ttraits.delete(crew[crewMember].traits);\n\t\t/* Give a random one */\n\t\tif (traits.length > 0) {\n\t\t\tvar traitToGive = oneOf(traits);\n\t\t\tcrew[crewMember].traits.push(traitToGive);\n\t\t\treturn traitToGive;\n\t\t} else {\n\t\t\treturn null;\n\t\t}\n\t},\n\t\n\t\n\n\t\n\trandomCrewPool: function(number) {\n\t\tvar pool = [];\n\t\tfor (var n = 0; n < number; n++) {\n\t\t\tpool.push(Crew.randomCrewMember());\n\t\t}\n\t\tpool.sort(Crew.compareLastNames);\n\t\treturn pool;\n\t},\n\t\n\t\n\trandomCrewMember: function(crewMemberClass) {\n\t\tvar traits = [];\n\t\t\n\t\t/* Class - pick a random one if one wasn't passed in */\n\t\tif (crewMemberClass === undefined) {\n\t\t\tcrewMemberClass = oneOf("ePilot", "eEngineer", "eMedic", "ePlanetaryScientist", "eBiologist", "eXenologist");\n\t\t}\n\t\ttraits.push(crewMemberClass);\n\t\t\n\t\t/* Gender */\n\t\tvar gender = oneOf("eMale", "eMale", "eFemale", "eFemale", "eNonBinary");\n\t\ttraits.push(gender);\n\t\t\n\t\t/* Name */\n\t\tvar firstNameList = CrewNameSets[oneOf(CrewNameSets.nameLists)];\n\t\tvar lastNameList;\n\t\tif (random(0,4) == 0) {\n\t\t\tlastNameList = CrewNameSets[oneOf(CrewNameSets.nameLists)];\n\t\t} else {\n\t\t\tlastNameList = firstNameList;\n\t\t}\n\t\n\t\t//var lastName = oneOf(lastNameList.lastNames);\n\t\tvar lastName;\n\t\tif ("femaleLastNames" in lastNameList && (gender == "eFemale" || gender == "eNonBinary" && random(0,1)==0)) {\n\t\t\tlastName = oneOf(lastNameList.femaleLastNames);\n\t\t} else {\n\t\t\tlastName = oneOf(lastNameList.lastNames);\n\t\t}\n\t\tvar firstName = "";\n\t\tvar allFirstNames = [];\n\t\tif (gender == "eMale") {\n\t\t\tallFirstNames = firstNameList.unisexNames.concat(firstNameList.maleNames);\n\t\t} else if (gender == "eFemale") {\n\t\t\tallFirstNames = firstNameList.unisexNames.concat(firstNameList.femaleNames);\n\t\t} else {\n\t\t\tallFirstNames = firstNameList.unisexNames.concat(firstNameList.maleNames,firstNameList.femaleNames);\n\t\t}\n\t\t\n\t\t/* Pick a first name we haven't used yet, unless there are none, in which case pick randomly */\n\t\tvar unusedFirstNames = clone(allFirstNames);\n\t\tunusedFirstNames.delete(variables().crewFirstNamesUsed);\n\t\tif (unusedFirstNames.length > 0) {\n\t\t\tfirstName = oneOf(unusedFirstNames);\n\t\t} else {\n\t\t\tfirstName = oneOf(allFirstNames);\n\t\t}\n\t\t\n\t\tvariables().crewFirstNamesUsed.pushUnique(firstName);\n\t\t\n\t\t// if (gender == "eFemale" && "feminineSurnameTransform" in lastList) {\n\t\t\t// lastName = firstNameList.feminineSurnameTransform(lastName);\n\t\t// }\n\t\t\n\t\tif (firstNameList.reverseOrder && lastNameList.reverseOrder) {\n\t\t\ttraits.push("eReverseNameOrder");\n\t\t}\n\t\t\n\t\tvar crewMember = new CrewMember(firstName, lastName, traits, 1);\n\t\tcrewMember.bio = CrewBios.generate(crewMember);\n\t\treturn crewMember;\n\t},\n\t\n\tcrewPoolSort: function(crewMember1, crewMember2) {\n\t\tvar classSort1 = 0;\n\t\tvar classSort2 = 0;\n\t\tif \t\t(crewMember1.traits.includes("ePilot"))\t\t\t\t{ classSort1 = 1; }\n\t\telse if (crewMember1.traits.includes("eMedic"))\t\t\t\t{ classSort1 = 2; }\n\t\telse if (crewMember1.traits.includes("eEngineer"))\t\t\t{ classSort1 = 3; }\n\t\telse if (crewMember1.traits.includes("ePlanetaryScientist")){ classSort1 = 4; }\n\t\telse if (crewMember1.traits.includes("eBiologist"))\t\t\t{ classSort1 = 5; }\n\t\telse if (crewMember1.traits.includes("eXenologist"))\t\t{ classSort1 = 6; }\n\n\t\tif \t\t(crewMember2.traits.includes("ePilot"))\t\t\t\t{ classSort2 = 1; }\n\t\telse if (crewMember2.traits.includes("eMedic"))\t\t\t\t{ classSort2 = 2; }\n\t\telse if (crewMember2.traits.includes("eEngineer"))\t\t\t{ classSort2 = 3; }\n\t\telse if (crewMember2.traits.includes("ePlanetaryScientist")){ classSort2 = 4; }\n\t\telse if (crewMember2.traits.includes("eBiologist"))\t\t\t{ classSort2 = 5; }\n\t\telse if (crewMember2.traits.includes("eXenologist"))\t\t{ classSort2 = 6; }\n\t\t\n\t\tif (classSort1 != classSort2) {\n\t\t\treturn classSort1 - classSort2;\n\t\t} else if (crewMember1.lastName != crewMember2.lastName) {\n\t\t\treturn crewMember1.lastName.localeCompare(crewMember2.lastName);\n\t\t} else {\n\t\t\treturn crewMember1.firstName.localeCompare(crewMember2.firstName);\n\t\t}\n\t},\n\t\n\t/* Return the index of the crew member with the given unique ID */\n\t/* Returns -1 if that crew member is not on the crew */\n\tgetCrewMemberWithID: function(crew, id) {\n\t\tfor (var n = 0; n < crew.length; n++) {\n\t\t\tif (crew[n].uniqueID == id) {\n\t\t\t\treturn n;\n\t\t\t}\n\t\t}\n\t\treturn -1;\n\t}\n}\n\n\n\n\n
/* Replaces the sugarcube "either" function with one that uses the deterministic random number generator */\nwindow.oneOf = function() {\n\t\n\tvar list = [];\n\tfor (var n = 0; n < arguments.length; n++) {\n\t\tif (Array.isArray(arguments[n])) {\n\t\t\tlist = list.concat(arguments[n]);\n\t\t} else {\n\t\t\tlist.push(arguments[n]);\n\t\t}\n\t}\n\tif (list.length == 0) {\n\t\tconsole.error("oneOf called with no arguments");\n\t\treturn undefined;\n\t}\n\tvar r = random(0, list.length-1);\n\treturn list[r];\n\t\n}\n\n
<<widget opt>>\n\t/% $args[0] is the passage base %/\n\t<<set _optionTextPassage = $args[0] + " Option">>\n\t<<set _successLink = $args[0] + " Success">>\n\t<<set _failureLink = $args[0] + " Failure">>\n\t<<set _invalidTextPassage = $args[0] + " Invalid">>\n\t<<if !Story.has(_successLink) && Story.has($args[0])>>\n\t\t<<set _successLink = $args[0]>>\n\t<</if>>\n\t\n\t/% args[1] is a trait or array of traits required for the option to appear %/\n\t<<if Array.isArray($args[1])>>\n\t\t<<set _requiredTraits = $args[1]>>\n\t<<elseif $args[1] === undefined || $args[1] == "">>\n\t\t<<set _requiredTraits = []>>\n\t<<else>>\n\t\t<<set _requiredTraits = $args[1].split(" ")>>\n\t<</if>>\n\t\n\t/% "not1", "not2", "only1" and "only2" are not traits but have special meanings %/\n\t<<unset _not1, _not2, _only1, _only2>>\n\t<<if _requiredTraits.includes("not1")>>\n\t\t<<set _not1 = true>>\n\t\t<<set _requiredTraits.delete("not1")>>\n\t<</if>>\n\t<<if _requiredTraits.includes("not2")>>\n\t\t<<set _not2 = true>>\n\t\t<<set _requiredTraits.delete("not2")>>\n\t<</if>>\n\t<<if _requiredTraits.includes("only1")>>\n\t\t<<set _only1 = true>>\n\t\t<<set _requiredTraits.delete("only1")>>\n\t<</if>>\n\t<<if _requiredTraits.includes("only2")>>\n\t\t<<set _only2 = true>>\n\t\t<<set _requiredTraits.delete("only2")>>\n\t<</if>>\n\t\n\t\n\t/% args[2] is the difficulty %/\n\t<<set _difficulty = $args[2]>>\n\t<<if _difficulty === undefined>>\n\t\t<<set _successChance = 100>>\n\t\t<<set _difficulty = 100>>\n\t<<elseif _difficulty in Difficulty>>\n\t\t<<set _successChance = Difficulty[_difficulty]>>\n\t\t<<set _difficulty = _successChance>>\n\t<<elseif Number.isSafeInteger(_difficulty)>>\n\t\t<<set _successChance = _difficulty>>\n\t<<else>>\n\t\t<<run console.error("Invalid difficulty "+_difficulty)>>\n\t\t<<set _successChance = 100>>\n\t\t<<set _difficulty = 100>>\n\t<</if>>\n\t\n\t<<set _successChanceModifierTraits = []>>\n\t\n\t/% args[3] is a trait or array of traits that grant a bonus to the success chance %/\n\t<<if Array.isArray($args[3])>>\n\t\t<<set _bonusTraits = $args[3]>>\n\t<<elseif $args[3] === undefined>>\n\t\t<<set _bonusTraits = []>>\n\t<<else>>\n\t\t<<set _bonusTraits = $args[3].split(" ")>>\n\t<</if>>\n\t\n\t/% Adjust success chance for non-crew-member bonus traits %/\n\t<<for _n = 0; _n < _bonusTraits.length; _n++>>\n\t\t<<if $contextTraits.includes(_bonusTraits[_n]) && "skillModifier" in Traits[_bonusTraits[_n]]>>\n\t\t\t<<set _successChance += Traits[_bonusTraits[_n]].skillModifier>>\n\t\t\t<<set _successChanceModifierTraits.push(_bonusTraits[_n])>>\n\t\t<</if>>\n\t<</for>>\n\t\n\t/% args[4] is the passage to fall back on if requirements are not met %/\n\t<<if $args[4]>>\n\t\t<<set _backupPassage = $args[4]>>\n\t\t<<if $args[5]>>\n\t\t\t<<set _backupDifficulty = $args[5]>>\n\t\t<<else>>\n\t\t\t<<set _backupDifficulty = $args[2]>>\n\t\t<</if>>\n\t<<else>>\n\t\t/% These might still be set from a previous option %/\n\t\t<<unset _backupPassage>>\n\t\t<<unset _backupDifficulty>>\n\t<</if>>\n\n\t/% The option appears if all required traits are in $contextTraits %/\n\t<<if $contextTraits.includesAll(_requiredTraits)>>\n\t\t/% Does this option require a crew member? %/\n\t\t<<set _crewTraitCheck = function(traitName) {\treturn traitName.startsWith("e") } >>\n\t\t<<if _requiredTraits.some(_crewTraitCheck) || _only1 || _only2>>\n\t\t\t/% Find all crew members whose traits include any of the required traits %/\n\t\t\t<<set _whoCanAttempt = []>>\n\t\t\t<<if _only1>>\n\t\t\t\t<<set _whoCanAttempt.push($selectedCrewMember)>>\n\t\t\t<<elseif _only2>>\n\t\t\t\t<<set _whoCanAttempt.push($selectedCrewMember2)>>\n\t\t\t<<else>>\n\t\t\t\t<<for _n = 0; _n < $crew.length; _n++>>\n\t\t\t\t\t<<if _not1 && _n == $selectedCrewMember>>\n\t\t\t\t\t\t<<continue>>\n\t\t\t\t\t<</if>>\n\t\t\t\t\t<<if _not2 && _n == $selectedCrewMember2>>\n\t\t\t\t\t\t<<continue>>\n\t\t\t\t\t<</if>>\n\t\t\t\t\t<<if $crew[_n].traits.includesAny(_requiredTraits)>>\n\t\t\t\t\t\t<<set _whoCanAttempt.push(_n)>>\n\t\t\t\t\t<</if>>\n\t\t\t\t<</for>>\n\t\t\t<</if>>\n\t\t\t/% Show an option for each crew member who has a relevant trait %/\n\t\t\t/% At this point we still might output no options, if someone has the trait but they're unavailable due to _not1 or _not2 %/\n\t\t\t<<if _whoCanAttempt.length > 0>>\n\t\t\t\t<<for _n = 0; _n < _whoCanAttempt.length; _n++>>\n\t\t\t\t\t<<set _crewMember = _whoCanAttempt[_n]>>\n\t\t\t\t\t/% Get this crew member's personal success chance, modifying base success chance by their level and traits %/\n\t\t\t\t\t<<set _crewMemberSuccessChance = _successChance>>\n\t\t\t\t\t<<set _crewMemberSuccessChance += $crew[_crewMember].level*Crew.skillBonusPerLevel>>\n\t\t\t\t\t<<set _crewMemberSuccessChanceModifierTraits = clone(_successChanceModifierTraits)>>\n\t\t\t\t\t<<for _t = 0; _t < $crew[_crewMember].traits.length; _t++>>\n\t\t\t\t\t\t<<if "skillModifier" in Traits[$crew[_crewMember].traits[_t]]>>\n\t\t\t\t\t\t\t<<set _crewMemberSuccessChance += Traits[$crew[_crewMember].traits[_t]].skillModifier>>\n\t\t\t\t\t\t\t<<set _crewMemberSuccessChanceModifierTraits.push($crew[_crewMember].traits[_t])>>\n\t\t\t\t\t\t<</if>>\n\t\t\t\t\t<</for>>\n\t\t\t\t\t<<set _crewMemberSuccessChance = Math.clamp(_crewMemberSuccessChance, 0, 100)>>\n\t\t\t\t\t/% Output link %/\n\t\t\t\t\t<<set $selectedCrewMember = _crewMember>>\n\t\t\t\t\t<<set _linkText = "">>\n\t\t\t\t\t<<for _t = 0; _t < _requiredTraits.length; _t++>>\n\t\t\t\t\t\t/%<<set _linkText += getTraitIconImg(_requiredTraits[_t])>>%/\n\t\t\t\t\t\t<<set _trait = _requiredTraits[_t]>>\n\t\t\t\t\t\t<<if "icon" in Traits[_trait]>>\n\t\t\t\t\t\t\t<<set _linkText += "<span class='keyword'><img data-passage="+Traits[_trait].icon+" alt="+Traits[_trait].name+" style='margin-right: 0.5em'><span class='tooltip'>"+Traits[_trait].name+"</span></span>">>\n\t\t\t\t\t\t<</if>>\n\t\t\t\t\t<</for>>\n\t\t\t\t\t<<set _linkText += Story.get(_optionTextPassage).processText()>>\n\n\t\t\t\t\t<<set $pageOptionNumber++>>\n\t\t\t\t\t/%<<if $pageOptionNumber == 0>><br><br><</if>>%/\n\t\t\t\t\t\n\t\t\t\t\t<<set _successChanceBoxID = "success-chance-box-"+$pageOptionNumber>>\t\t\t\n\t\t\t\t\t<<set _successChanceBoxNumber = $pageOptionNumber>>\t\t\t\t\n\t\t\t\t\t<<capture _crewMember, _crewMemberSuccessChance, _successLink, _failureLink, _successChanceBoxNumber, _difficulty>>\n\t\t\t\t\t\t<<if _difficulty < 100>>\n\t\t\t\t\t\t\t<div class="full-width-link">\n\t\t\t\t\t\t\t\t<<link _linkText "SuccessOrFailureLink">>\n\t\t\t\t\t\t\t\t\t<<set $selectedCrewMember = _crewMember>>\n\t\t\t\t\t\t\t\t\t<<if (random(0,99) < _crewMemberSuccessChance || $debug_auto_succeed == 1) && $debug_auto_succeed != -1>>\n\t\t\t\t\t\t\t\t\t\t<<set $optOutcome = "crewSuccess">>\n\t\t\t\t\t\t\t\t\t\t<<set $nextPassage = _successLink>>\n\t\t\t\t\t\t\t\t\t<<else>>\n\t\t\t\t\t\t\t\t\t\t<<set $optOutcome = "failure">>\n\t\t\t\t\t\t\t\t\t\t<<set $nextPassage = _failureLink>>\n\t\t\t\t\t\t\t\t\t<</if>>\n\t\t\t\t\t\t\t\t<</link>>\n\t\t\t\t\t\t\t\t<div class="full-width-link-success-chance">\n\t\t\t\t\t\t\t\t\t<<link `_crewMemberSuccessChance+"%"`>>\n\t\t\t\t\t\t\t\t\t\t<<optToggleSuccessChanceBox _successChanceBoxNumber>>\n\t\t\t\t\t\t\t\t\t<</link>>\n\t\t\t\t\t\t\t\t</div>\n\t\t\t\t\t\t\t</div>\n\t\t\t\t\t\t\t<div class="success-chance-box" @id="_successChanceBoxID">\n\t\t\t\t\t\t\t\t/%<<= _successChanceText>>%/\n\t\t\t\t\t\t\t\t<<optSuccessChanceTable _difficulty $crew[_crewMember].level _crewMemberSuccessChanceModifierTraits>>\n\t\t\t\t\t\t\t</div>\n\t\t\t\t\t\t<<else>>\n\t\t\t\t\t\t\t<div class="full-width-link">\n\t\t\t\t\t\t\t\t<<link _linkText _successLink>>\n\t\t\t\t\t\t\t\t\t<<set $selectedCrewMember = _crewMember>>\n\t\t\t\t\t\t\t\t<</link>>\n\t\t\t\t\t\t\t</div>\n\t\t\t\t\t\t<</if>>\n\t\t\t\t\t<</capture>>\n\t\t\t\t<</for>>\n\t\t\t<<elseif _backupPassage>>\n\t\t\t\t/% If the option is not possible but there is a backup passage, display that option instead %/\n\t\t\t\t<<opt _backupPassage "" _backupDifficulty _bonusTraits>>\n\t\t\t<<else>>\n\t\t\t\t/% If the option is not possible and there is an invalid passage, display its text %/\n\t\t\t\t<<if Story.has(_invalidTextPassage)>>\n\t\t\t\t\t<<set _nonLinkText = Story.get(_invalidTextPassage).processText()>>\n\t\t\t\t\t@@.full-width-link-disabled;_nonLinkText@@\n\t\t\t\t<</if>>\n\t\t\t<</if>>\n\t\t\t\n\t\t<<else>>\n\t\t\t/% Option does not require a crew member %/\n\t\t\t/% Pick a random crew member in case link text needs one, if there isn't already one defined, but *don't* modify success chance by their level %/\n\t\t\t<<if $selectedCrewMember === undefined>>\n\t\t\t\t<<set $selectedCrewMember = random(0,$crew.length-1)>>\n\t\t\t<</if>>\n\t\t\t<<set _crewMember = $selectedCrewMember>>\n\t\t\t<<set _linkText = Story.get(_optionTextPassage).processText()>>\n\t\t\t<<set $pageOptionNumber++>>\n\t\t\t/%<<if $pageOptionNumber == 0>><br><br><</if>>%/\n\t\t\t<<set _successChanceBoxID = "success-chance-box-"+$pageOptionNumber>>\t\n\t\t\t<<set _successChanceBoxNumber = $pageOptionNumber>>\n\t\t\t<<set _successChance = Math.clamp(_successChance, 0, 100)>>\n\t\t\t<<capture _crewMember, _successChance, _successLink, _failureLink, _successChanceBoxNumber, _difficulty>>\n\t\t\t\t<<if _difficulty < 100>>\n\t\t\t\t\t<div class="full-width-link">\n\t\t\t\t\t\t<<link _linkText "SuccessOrFailureLink">>\n\t\t\t\t\t\t\t<<set $selectedCrewMember = _crewMember>>\n\t\t\t\t\t\t\t<<if (random(0,99) < _successChance || $debug_auto_succeed == 1) && $debug_auto_succeed != -1>>\n\t\t\t\t\t\t\t\t<<set $optOutcome = "generalSuccess">>\n\t\t\t\t\t\t\t\t<<set $nextPassage = _successLink>>\n\t\t\t\t\t\t\t<<else>>\n\t\t\t\t\t\t\t\t<<set $optOutcome = "failure">>\n\t\t\t\t\t\t\t\t<<set $nextPassage = _failureLink>>\n\t\t\t\t\t\t\t<</if>>\n\t\t\t\t\t\t<</link>>\n\t\t\t\t\t\t<div class="full-width-link-success-chance">\n\t\t\t\t\t\t\t<<link `_successChance+"%"`>>\n\t\t\t\t\t\t\t\t<<optToggleSuccessChanceBox _successChanceBoxNumber>>\n\t\t\t\t\t\t\t<</link>>\n\t\t\t\t\t\t</div>\n\t\t\t\t\t</div>\n\t\t\t\t\t<div class="success-chance-box" @id="_successChanceBoxID">\n\t\t\t\t\t\t/%<<= _successChanceText>>%/\n\t\t\t\t\t\t<<optSuccessChanceTable _difficulty 0 _successChanceModifierTraits>>\n\t\t\t\t\t</div>\n\t\t\t\t<<else>>\n\t\t\t\t\t<div class="full-width-link">\n\t\t\t\t\t\t<<link _linkText _successLink>>\n\t\t\t\t\t\t\t<<set $selectedCrewMember = _crewMember>>\n\t\t\t\t\t\t<</link>>\n\t\t\t\t\t</div>\n\t\t\t\t<</if>>\n\t\t\t<</capture>>\n\t\t<</if>>\n\t<<elseif _backupPassage>>\n\t\t/% If the option is not possible but there is a backup passage, display that option instead %/\n\t\t<<opt _backupPassage "" _backupDifficulty _bonusTraits>>\n\t<<else>>\n\t\t/% If the option is not possible and there is an invalid passage, display its text %/\n\t\t<<if Story.has(_invalidTextPassage)>>\n\t\t\t<<set _nonLinkText = Story.get(_invalidTextPassage).processText()>>\n\t\t\t@@.full-width-link-disabled;_nonLinkText@@\n\t\t<</if>>\n\t<</if>>\n<</widget>>
/% $args[0] is the base success chance %/\n/% $args[1] is the crew member's level, or zero if there is no crew member %/\n/% $args[2] is an array of relevant traits (possibly empty) %/\n<<widget optSuccessChanceTable>>\n\t<table>\n\t\t<tr>\n\t\t\t<td>Base:</td>\n\t\t\t<td><<= $args[0]>>%</td>\n\t\t</tr>\n\t\t<<if $args[1] > 0>>\n\t\t\t<tr>\n\t\t\t\t<td>Level <<= $args[1]>>:</td>\n\t\t\t\t<td>+<<= $args[1]*Crew.skillBonusPerLevel>>%</td>\n\t\t\t</tr>\n\t\t<</if>>\n\t\t<<set _mentionedTraits = []>>\n\t\t<<for _t = 0; _t < $args[2].length; _t++>>\n\t\t\t<<set _trait = $args[2][_t]>>\n\t\t\t<<set _count = $args[2].count(_trait)>>\n\t\t\t<<if !_mentionedTraits.includes($args[2][_t])>>\n\t\t\t\t<tr>\n\t\t\t\t\t<td>\n\t\t\t\t\t\t<span class="inline-icon"><<= getTraitIconImg(_trait)>></span>\n\t\t\t\t\t\t<<if _count > 1>>\n\t\t\t\t\t\t\t<<= getTraitName(_trait)>> × <<= _count>>:\n\t\t\t\t\t\t<<else>>\n\t\t\t\t\t\t\t<<= getTraitName(_trait)>>:\n\t\t\t\t\t\t<</if>>\n\t\t\t\t\t</td>\n\t\t\t\t\t<td><<if Traits[_trait].skillModifier > 0>>+<</if>><<= Traits[_trait].skillModifier*_count>>%</td>\n\t\t\t\t</tr>\n\t\t\t\t<<set _mentionedTraits.push(_trait)>>\n\t\t\t<</if>>\n\t\t<</for>>\n\t</table>\n<</widget>>
/% $args[0] is the number of the option whose success chance box should be toggled %/\n/% Toggles that box and hides all the others %/\n\n<<widget optToggleSuccessChanceBox>>\n\t<<for _n = 1; _n <= $pageOptionNumber; _n++>>\n\t\t<<set _boxID = "#success-chance-box-"+_n>>\n\t\t<<if _n == $args[0]>>\n\t\t\t<<run $(_boxID).slideToggle()>>\n\t\t<<else>>\n\t\t\t<<run $(_boxID).slideUp()>>\n\t\t<</if>>\n\t<</for>>\n\t\n<</widget>>
\nwindow.getRandomPassageForTraits = function(passageListName, contextTraits, focusTraits, forbiddenEvents) {\n\t\n\tif (!(passageListName in EventLists)) {\n\t\tconsole.error("No such passage list: "+passageListName);\n\t\treturn "";\n\t}\n\t\n\tif (focusTraits === undefined) {\n\t\tfocusTraits = [];\n\t}\n\tif (forbiddenEvents === undefined) {\n\t\tforbiddenEvents = [];\n\t}\n\t\n\tvar passageList = EventLists[passageListName];\n\tvar randomTable = [];\n\tvar cumulativeWeight = 0;\n\tfor (var n = 0; n < passageList.length; n++) {\n\t\t/* Get chance for this trait */\n\t\tvar weight = 0;\n\t\tif ("getWeight" in passageList[n]) {\n\t\t\tweight = passageList[n].getWeight(contextTraits,focusTraits);\n\t\t}\n\t\tif (weight > 0 && !forbiddenEvents.includes(passageList[n].passage)) {\n\t\t\tcumulativeWeight += weight;\n\t\t\trandomTable.push( { passage: passageList[n].passage, rollUnder: cumulativeWeight });\n\t\t}\n\t}\n\t\n\t// console.log("Context traits: " + JSON.stringify(contextTraits));\n\t// console.log("Random event table: " + JSON.stringify(randomTable));\n\t\n\t\t\n\t/* Random table is now the list of passages along with the cumulative chance of each one, i.e. what we need to roll less than in order to add that one */\n\tif (cumulativeWeight == 0) {\n\t\t/* No passages' requirements are met so return blank */\n\t\treturn "";\n\t}\n\t\n\tvar outOf = cumulativeWeight-1;\n\t\n\t/* Roll to see which trait we add */\n\tvar roll = random(0, outOf);\n\t\n\t/* Compare the roll to the table to see which passage name we return */\n\tfor (var n = 0; n < randomTable.length; n++) {\n\t\tif (roll < randomTable[n].rollUnder) {\n\t\t\t/* Return the passage name */\n\t\t\treturn randomTable[n].passage;\n\t\t}\n\t}\n\t\n\treturn "";\n\n}\n\n\n\n\n\n
window.Ship = function() {\n\tthis.name = "Pathfinder";\n\t\n\tthis.traits = [];\n\t\n\tthis.upgrades = [];\n\t\n\tthis.getMaxCrew = function() {\n\t\tvar rv = 3;\n\t\tif (this.upgrades.includes("sUpgradeCrewCapacityPS")) { rv++ };\n\t\tif (this.upgrades.includes("sUpgradeCrewCapacityBio")) { rv++ };\n\t\tif (this.upgrades.includes("sUpgradeCrewCapacityXeno")) { rv++ };\n\t\treturn rv;\n\t}\n\t\n\tthis.fuel = 100;\n\t\n\tthis.getMaxDamage = function () {\n\t\tvar rv = 3;\n\t\tif (this.upgrades.includes("sUpgradeArmourPS")) { rv++ };\n\t\tif (this.upgrades.includes("sUpgradeArmourBio")) { rv++ };\n\t\tif (this.upgrades.includes("sUpgradeArmourXeno")) { rv++ };\n\t\treturn rv;\n\t}\n\n}\n\n
window.traitSort = function(t1,t2) {\n\t\n\tif (!(t1 in Traits)) {\n\t\tconsole.error("traitSort: unknown trait "+t1);\n\t\treturn 0;\n\t}\n\tif (!(t2 in Traits)) {\n\t\tconsole.error("traitSort: unknown trait "+t2);\n\t\treturn 0;\n\t}\n\t\n\t/* If they have sortOrder defined, sort by that */\n\t/* If different data types, sort by data type */\n\tvar sortOrder1 = 0;\n\tvar sortOrder2 = 0;\n\tif ("sortOrder" in Traits[t1]) {\n\t\tsortOrder1 = Traits[t1].sortOrder;\n\t} else if ("dataType" in Traits[t1]) {\n\t\tif (!(Traits[t1].dataType in Traits)) {\n\t\t\tconsole.error("Trait " + t1 + " had invalid data type "+Traits[t1].dataType);\n\t\t\treturn 0;\n\t\t}\n\t\tsortOrder1 = Traits[Traits[t1].dataType].sortOrder;\n\t} else {\n\t\tsortOrder1 = -1;\n\t}\n\tif ("sortOrder" in Traits[t2]) {\n\t\tsortOrder2 = Traits[t2].sortOrder;\n\t} else if ("dataType" in Traits[t2]) {\n\t\tif (!(Traits[t2].dataType in Traits)) {\n\t\t\tconsole.error("Trait " + t2 + " had invalid data type "+Traits[t2].dataType);\n\t\t\treturn 0;\n\t\t}\n\t\tsortOrder2 = Traits[Traits[t2].dataType].sortOrder;\n\t} else {\n\t\tsortOrder2 = -1;\n\t}\n\tif (sortOrder1 != sortOrder2) {\n\t\treturn sortOrder1 - sortOrder2;\n\t}\n\t\n\t/* Otherwise sort by name */\n\tvar n1 = "";\n\tvar n2 = "";\n\tif ("name" in Traits[t1]) {\n\t\tn1 = Traits[t1].name;\n\t} else {\n\t\tn1 = t1;\n\t}\n\tif ("name" in Traits[t2]) {\n\t\tn2 = Traits[t2].name;\n\t} else {\n\t\tn2 = t2;\n\t}\n\treturn n1.localeCompare(n2);\n\n}\n\nwindow.traitNonSecretFilter = function(traitName) {\n\tif (traitName in Traits) {\n\t\treturn !Traits[traitName].secret\n\t} else {\n\t\tconsole.error("Unrecognised trait "+traitName);\n\t\treturn false;\n\t}\n}
\s<<widget civname>>\s\n\t\s<<set _civ = $currentSystem.planets[$planetNumber].nativeCiv>>\s\n\t\s<<= Civs.getKnownName($civilisations[_civ])>>\s\n\s<</widget>>\s
\s<<widget aCivname>>\s\n\t\s<<set _civ = $currentSystem.planets[$planetNumber].nativeCiv>>\s\n\t\s<<= TextUtils.a(Civs.getKnownName($civilisations[_civ]))>>\s\n\s<</widget>>\s
\s<<widget meddlingCivName>>\s\n\t\s<<set _civ = $currentSystem.planets[$planetNumber].interstellarCiv>>\s\n\t\s<<= Civs.getKnownName($civilisations[_civ])>>\s\n\s<</widget>>\s
\s<<widget theMeddlingCiv>>\s\n\t\s<<set _civ = $currentSystem.planets[$planetNumber].interstellarCiv>>\s\n\t\s<<= Civs.getKnownName($civilisations[_civ], true)>>\s\n\s<</widget>>\s
\s<<widget aMeddlingCiv>>\s\n\t\s<<set _civ = $currentSystem.planets[$planetNumber].interstellarCiv>>\s\n\t\s<<= TextUtils.a(Civs.getKnownName($civilisations[_civ]))>>\s\n\s<</widget>>\s
/% $args[0] is the index of the civ %/\n\s<<widget civNameTooltip>>\s\n\t\s<span class="tooltip discovery-tooltip">\s\n\t\t\s<<set _knownTraits = $civilisations[$args[0]].knownTraits>>\s\n\t\t\s<img data-passage="village" alt="Civilisation"> <<= CivDescription.inTooltip(_knownTraits)>>\s\n\t\s</span>\s\n\s<</widget>>\s
\s<<widget name>>\s\n\t\s<<nameX $selectedCrewMember>>\s\n\s<</widget>>\s
\s<<widget name2>>\s\n\t\s<<nameX $selectedCrewMember2>>\s\n\s<</widget>>\s
\s<<widget nameX>>\s\n\t\s<<nameObj $crew[$args[0]]>>\s\n\s<</widget>>\s
\s<<widget nameObj>>\s\n\t\s<span class="keyword"><<= Crew.fullName($args[0])>><<crewMemberTooltip $args[0]>></span>\s\n\s<</widget>>\s
\s<<widget fName>>\s\n\t\s<<= $crew[$selectedCrewMember].firstName>>\s\n\s<</widget>>\s
\s<<widget fName2>>\s\n\t\s<<= $crew[$selectedCrewMember2].firstName>>\s\n\s<</widget>>\s\n\n\n/% ::fName [widget] %/\n/% \s<<widget fName>>\s %/\n\t/% \s@@.keyword;<<= $crew[$selectedCrewMember].firstName>><<crewMemberTooltip $crew[$selectedCrewMember]>>@@\s %/\n/% \s<</widget>>\s %/\n\n/% ::fName2 [widget] %/\n/% \s<<widget fName2>>\s %/\n\t/% \s@@.keyword;<<= $crew[$selectedCrewMember2].firstName>><<crewMemberTooltip $crew[$selectedCrewMember2]>>@@\s %/\n/% \s<</widget>>\s %/
/% If there's more than one living crew member, print "the explorers" %/\n/% If there's only one, do something determined by $args %/\n/% name (default): print last explorer's name; heshe, himher: print appropriate pronoun; X: print nothing %/\n\s<<widget theExplorers>>\s\n\t\s<<if $crew.length != 1>>\s\n\t\t\sthe explorers\s\n\t\s<<elseif $args.includes("heshe")>>\s\n\t\t\s<<= TextUtils.genderSwitch($crew[0].traits, "he", "she", "they")>>\s\n\t\s<<elseif $args.includes("himher")>>\s\n\t\t\s<<= TextUtils.genderSwitch($crew[0].traits, "him", "her", "their")>>\s\n\t\s<<elseif $args.includes("himherself")>>\s\n\t\t\s<<= TextUtils.genderSwitch($crew[0].traits, "himself", "herself", "themself")>>\s\n\t\s<<elseif $args.includes("X")>>\s\n\t\t\s/% Print nothing %/\s\n\t\s<<else>>\s\n\t\t\s<<= Crew.fullName($crew[0])>>\s\n\t\s<</if>>\s\n\s<</widget>>\s\n\n\s<<widget TheExplorers>>\s\n\t\s<<if $crew.length != 1>>\s\n\t\t\sThe explorers\s\n\t\s<<elseif $args.includes("heshe")>>\s\n\t\t\s<<= TextUtils.genderSwitch($crew[0].traits, "He", "She", "They")>>\s\n\t\s<<elseif $args.includes("himher")>>\s\n\t\t\s<<= TextUtils.genderSwitch($crew[0].traits, "Him", "Her", "Their")>>\s\n\t\s<<elseif $args.includes("X")>>\s\n\t\t\s/% Print nothing %/\s\n\t\s<<else>>\s\n\t\t\s<<= Crew.fullName($crew[0])>>\s\n\t\s<</if>>\s\n\s<</widget>>\s\n\n\s<<widget theExplorerss>>\s\n\t\s<<if $crew.length != 1>>\s\n\t\t\sthe explorers'\s\n\t\s<<elseif $args.includes("hisher")>>\s\n\t\t\s<<= TextUtils.genderSwitch($crew[0].traits, "his", "her", "their")>>\s\n\t\s<<elseif $args.includes("X")>>\s\n\t\t\s/% Print nothing %/\s\n\t\s<<else>>\s\n\t\t\s<<= Crew.fullName($crew[0])>>'s\s\n\t\s<</if>>\s\n\s<</widget>>\s\n\n\s<<widget TheExplorerss>>\s\n\t\s<<if $crew.length != 1>>\s\n\t\t\sThe explorers'\s\n\t\s<<elseif $args.includes("hisher")>>\s\n\t\t\s<<= TextUtils.genderSwitch($crew[0].traits, "His", "Her", "Their")>>\s\n\t\s<<elseif $args.includes("X")>>\s\n\t\t\s/% Print nothing %/\s\n\t\s<<else>>\s\n\t\t\s<<= Crew.fullName($crew[0])>>'s\s\n\t\s<</if>>\s\n\s<</widget>>\s
/% $args[0] is the crew member object %/\n\s<<widget crewMemberTooltip>>\n\t\s<div class="tooltip crew-member-tooltip"><<= getTraitIconImg(getMatchingElement($args[0].traits, ["ePilot", "eEngineer", "eMedic", "ePlanetaryScientist", "eBiologist", "eXenologist"]))>> Level <<= $args[0].level>> <<= getTraitName(getMatchingElement($args[0].traits, ["ePilot", "eEngineer", "eMedic", "ePlanetaryScientist", "eBiologist", "eXenologist"]))>>\n\t\t\s<<set _otherTraits = clone($args[0].traits)>>\n\t\t\s<<set _otherTraits.delete("ePilot", "eEngineer", "eMedic", "ePlanetaryScientist", "eBiologist", "eXenologist", "eMale", "eFemale", "eNonBinary", "eReverseNameOrder")>>\n\t\t\s<<set _mentionedTraits = []>>\n\t\t\s<<for _t = 0; _t < _otherTraits.length; _t++>>\n\t\t\t\s<<if !_mentionedTraits.includes(_otherTraits[_t])>>\n\t\t\t\t\s<<set _trait = _otherTraits[_t]>>\n\t\t\t\t\s<<set _count = _otherTraits.count(_trait)>>\n\t\t\t\t\s<<if Traits[_trait].fatalNumber>>\n\t\t\t\t\t\s<br><<= getTraitIconImg(_trait)>> <<= getTraitName(_trait)>> (<<= _count>>/<<= Traits[_trait].fatalNumber>>)\n\t\t\t\t\s<<elseif _count > 1>>\n\t\t\t\t\t\s<br><<= getTraitIconImg(_trait)>> <<= getTraitName(_trait)>> (<<= _count>>)\n\t\t\t\t\s<<else>>\n\t\t\t\t\t\s<br><<= getTraitIconImg(_trait)>> <<= getTraitName(_trait)>>\n\t\t\t\t\s<</if>>\n\t\t\t\t\s<<set _mentionedTraits.push(_trait)>>\n\t\t\t\s<</if>>\n\t\t\s<</for>>\n\t\s</div>\n\s<</widget>>
<<widget keywordTooltip>>\n\t\s<span class="keyword"><<= $args[0]>>\s\n\t\t\s<span class="tooltip">\s\n\t\t\t\s<<if $args[2]>><img @data-passage="$args[2]" @alt="$args[1]"><</if>>\s\n\t\t\t\s<<= $args[1]>>\s\n\t\t\s</span>\s\n\t\s</span>\s\n<</widget>>
/% \t$args[0] is the icon image\n\t$args[1] is the tooltip text %/\n\s<<widget iconWithTooltip>>\s\n\t\s<span class="keyword">\s\n\t\t\s<img @data-passage="$args[0]" @alt="$args[1]">\s\n\t\t\s<span class="tooltip"><<= $args[1]>></span>\s\n\t\s</span>\s\n\s<</widget>>\s
/% $args[0] is the star's traits %/\n<<widget starIcon>>\n\t<<if $args[0].includes("tBlackHole")>> \t\t\t\t<<iconWithTooltip "spiky-eclipse" "Black hole">>\n\t<<elseif $args[0].includes("tNeutronStar")>>\t\t<<iconWithTooltip "explosion-rays" "Neutron star">>\n\t<<elseif $args[0].includes("tPulsar")>>\t\t\t\t<<iconWithTooltip "explosion-rays" "Pulsar">>\n\t<<elseif $args[0].includes("tWhiteDwarf")>>\t\t\t<<iconWithTooltip "white_dwarf" "White dwarf">>\n\t<<elseif $args[0].includes("tSizeHypergiant")>>\t\t<<iconWithTooltip "sun_6" "Hypergiant star">>\n\t<<elseif $args[0].includes("tSizeSupergiant")>>\t\t<<iconWithTooltip "sun_6" "Supergiant star">>\n\t<<elseif $args[0].includes("tSizeGiant")>> \t\t\t<<iconWithTooltip "sun_6" "Giant star">>\n\t<<elseif $args[0].includes("tSizeSubgiant")>> \t\t<<iconWithTooltip "sun_5" "Subgiant star">>\n\t<<elseif $args[0].includes("tSizeMainSequence")>>\t<<iconWithTooltip "sun_4" "Main sequence star">>\n\t<<elseif $args[0].includes("tSizeDwarf")>>\t\t\t<<iconWithTooltip "sun_3" "Dwarf star">>\n\t<</if>>\n<</widget>>
/% \t$args[0] is the name of the trait %/\n<<widget traitIcon>>\n\t<<if $args[0] in Traits && "icon" in Traits[$args[0]]>>\n\t\t<<set _icon = Traits[$args[0]].icon>>\n\t\t<<set _text = getTraitName($args[0])>>\n\t\t<span class="keyword">\n\t\t\t<img @data-passage="_icon" @alt="_text">\n\t\t\t<span class="tooltip">\n\t\t\t\t<<if Traits[$args[0]].hazard && (!("hazardNegatedBy" in Traits[$args[0]]) || !$contextTraits.includes(Traits[$args[0]].hazardNegatedBy))>>\n\t\t\t\t\t<span class="inline-icon-small"><img data-passage="hazard-sign" alt="Hazard"></span>\n\t\t\t\t<</if>>\n\t\t\t\t<<= _text>>\n\t\t\t</span>\n\t\t</span>\n\t<</if>>\n<</widget>>
<<widget hesheObj>>\s\n\t<<= TextUtils.genderSwitch($args[0].traits, "he", "she", "they")>>\s\n<</widget>>\s\n<<widget HeSheObj>>\s\n\t<<= TextUtils.genderSwitch($args[0].traits, "He", "She", "They")>>\s\n<</widget>>\s\n<<widget himherObj>>\s\n\t<<= TextUtils.genderSwitch($args[0].traits, "him", "her", "them")>>\s\n<</widget>>\s\n<<widget HimHerObj>>\s\n\t<<= TextUtils.genderSwitch($args[0].traits, "Him", "Her", "Them")>>\s\n<</widget>>\s\n<<widget hisherObj>>\s\n\t<<= TextUtils.genderSwitch($args[0].traits, "his", "her", "their")>>\s\n<</widget>>\s\n<<widget HisHerObj>>\s\n\t<<= TextUtils.genderSwitch($args[0].traits, "His", "Her", "Their")>>\s\n<</widget>>\s\n\n<<widget hesheX>>\s\n\t<<= TextUtils.genderSwitch($crew[$args[0]].traits, "he", "she", "they")>>\s\n<</widget>>\s\n<<widget HeSheX>>\s\n\t<<= TextUtils.genderSwitch($crew[$args[0]].traits, "He", "She", "They")>>\s\n<</widget>>\s\n<<widget himherX>>\s\n\t<<= TextUtils.genderSwitch($crew[$args[0]].traits, "him", "her", "them")>>\s\n<</widget>>\s\n<<widget HimHerX>>\s\n\t<<= TextUtils.genderSwitch($crew[$args[0]].traits, "Him", "Her", "Them")>>\s\n<</widget>>\s\n<<widget hisherX>>\s\n\t<<= TextUtils.genderSwitch($crew[$args[0]].traits, "his", "her", "their")>>\s\n<</widget>>\s\n<<widget HisHerX>>\s\n\t<<= TextUtils.genderSwitch($crew[$args[0]].traits, "His", "Her", "Their")>>\s\n<</widget>>\s\n\n<<widget heshe>>\s\n\t<<hesheX $selectedCrewMember>>\s\n<</widget>>\s\n<<widget HeShe>>\s\n\t<<HeSheX $selectedCrewMember>>\s\n<</widget>>\s\n<<widget himher>>\s\n\t<<himherX $selectedCrewMember>>\s\n<</widget>>\s\n<<widget HimHer>>\s\n\t<<HimHerX $selectedCrewMember>>\s\n<</widget>>\s\n<<widget hisher>>\s\n\t<<hisherX $selectedCrewMember>>\s\n<</widget>>\s\n<<widget HisHer>>\s\n\t<<HisHerX $selectedCrewMember>>\s\n<</widget>>\s\n\n<<widget heshe2>>\s\n\t<<hesheX $selectedCrewMember2>>\s\n<</widget>>\s\n<<widget HeShe2>>\s\n\t<<HeSheX $selectedCrewMember2>>\s\n<</widget>>\s\n<<widget himher2>>\s\n\t<<himherX $selectedCrewMember2>>\s\n<</widget>>\s\n<<widget HimHer2>>\s\n\t<<HimHerX $selectedCrewMember2>>\s\n<</widget>>\s\n<<widget hisher2>>\s\n\t<<hisherX $selectedCrewMember2>>\s\n<</widget>>\s\n<<widget HisHer2>>\s\n\t<<HisHerX $selectedCrewMember2>>\s\n<</widget>>\s\n\n<<widget himherselfObj>>\s\n\t<<= TextUtils.genderSwitch($args[0].traits, "himself", "herself", "themsef")>>\s\n<</widget>>\s\n<<widget himherselfX>>\s\n\t<<= TextUtils.genderSwitch($crew[$args[0]].traits, "himself", "herself", "themself")>>\s\n<</widget>>\s\n<<widget himherself>>\s\n\t<<himherselfX $selectedCrewMember>>\s\n<</widget>>\s\n<<widget himherself2>>\s\n\t<<himherselfX $selectedCrewMember2>>\s\n<</widget>>\s\n\n\n/% Print "them" etc. if more than 1 crew member is alive, or the appropriate pronoun for the last survivor if only one %/
\s<<widget they>>\s\n\t\s<<if $crew.length > 1>>\s\n\t\t\sthey\s\n\t\s<<else>>\s\n\t\t\s<<= TextUtils.genderSwitch($crew[0].traits, "he", "she", "they")>>\s\n\t\s<</if>>\s\n\s<</widget>>\s\n\n\s<<widget them>>\s\n\t\s<<if $crew.length > 1>>\s\n\t\t\sthem\s\n\t\s<<else>>\s\n\t\t\s<<= TextUtils.genderSwitch($crew[0].traits, "him", "her", "them")>>\s\n\t\s<</if>>\s\n\s<</widget>>\s\n\n\s<<widget their>>\s\n\t\s<<if $crew.length > 1>>\s\n\t\t\stheir\s\n\t\s<<else>>\s\n\t\t\s<<= TextUtils.genderSwitch($crew[0].traits, "his", "her", "their")>>\s\n\t\s<</if>>\s\n\s<</widget>>\s\n\n\s<<widget They>>\s\n\t\s<<if $crew.length > 1>>\s\n\t\t\sThey\s\n\t\s<<else>>\s\n\t\t\s<<= TextUtils.genderSwitch($crew[0].traits, "He", "She", "They")>>\s\n\t\s<</if>>\s\n\s<</widget>>\s\n\n\s<<widget Them>>\s\n\t\s<<if $crew.length > 1>>\s\n\t\t\sThem\s\n\t\s<<else>>\s\n\t\t\s<<= TextUtils.genderSwitch($crew[0].traits, "Him", "Her", "Them")>>\s\n\t\s<</if>>\s\n\s<</widget>>\s\n\n\s<<widget Their>>\s\n\t\s<<if $crew.length > 1>>\s\n\t\t\sTheir\s\n\t\s<<else>>\s\n\t\t\s<<= TextUtils.genderSwitch($crew[0].traits, "His", "Her", "Their")>>\s\n\t\s<</if>>\s\n\s<</widget>>\s\n\n\s<<widget themselves>>\s\n\t\s<<if $crew.length > 1>>\s\n\t\t\sthemselves\s\n\t\s<<else>>\s\n\t\t\s<<= TextUtils.genderSwitch($crew[0].traits, "himself", "herself", "themself")>>\s\n\t\s<</if>>\s\n\s<</widget>>\s
<<widget shipName>><em><<= $ship.name>></em><</widget>>
/% $args[0] is the number of the star, if undefined assume it's the primary %/\n\s<<widget starName>>\n\t\s<<if $args[0]>><<= $currentSystem.stars[$args[0]].name>>\n\t\s<<else>><<= $currentSystem.stars[0].name>>\n\t\s<</if>>\n\s<</widget>>
<<widget systemName>><<= $currentSystem.name>><</widget>>
<<widget planetName>><<= $currentSystem.planets[$planetNumber].name>><</widget>>
<<widget planetNoun>><<if $contextTraits.includes("pIsMoon")>>moon<<else>>planet<</if>><</widget>>
\s<<widget surfaceAdj>>\s\n\t\s<<if $currentSystem.planets[$planetNumber].traits.includes("pSurfaceRocky")>>\s\n\t\t\srocky\s\n\t\s<<elseif $currentSystem.planets[$planetNumber].traits.includes("pSurfaceIce")>>\s\n\t\t\sicy\s\n\t\s<</if>>\s\n\s<</widget>>\s
\s<<widget alienShipNoun>>\s\n\t\s<<if $contextTraits.includesAny("psOrbitingStarship","psLandedStarship")>>ship\s\n\t\s<<elseif $contextTraits.includesAny("psOrbitalStation")>>station\s\n\t\s<<elseif $contextTraits.includesAny("psSurfaceStation")>>base\s\n\t\s<<else>>ship\s\n\t\s<</if>>\s\n\s<</widget>>\s
\s<<widget animalAdj>>\s\n\t\s<<if $currentSystem.planets[$planetNumber].traits.includes("psLandAnimalsLegs")>>\s\n\t\t\smulti-legged\s\n\t\s<<elseif $currentSystem.planets[$planetNumber].traits.includes("psLandAnimalsWorms")>>\s\n\t\t\sworm-like\s\n\t\s<<elseif $currentSystem.planets[$planetNumber].traits.includes("psLandAnimalsWheeled")>>\s\n\t\t\swheeled\s\n\t\s<<elseif $currentSystem.planets[$planetNumber].traits.includes("psWingedAnimals")>>\s\n\t\t\swinged\s\n\t\s<<elseif $currentSystem.planets[$planetNumber].traits.includesAny("psGasbagAnimals")>>\s\n\t\t\sfloating\s\n\t\s<<elseif $currentSystem.planets[$planetNumber].traits.includesAny("psFloatingVegAnimals")>>\s\n\t\t\samphibious\s\n\t\s<<elseif $currentSystem.planets[$planetNumber].traits.includesAny("psForestAnimals")>>\s\n\t\t\sarboreal\s\n\t\s<<elseif $currentSystem.planets[$planetNumber].traits.includesAny("psBurrowingWorms")>>\s\n\t\t\sburrowing\s\n\t\s<</if>>\s\n\s<</widget>>\s
/% Find the star with the trait $args[0] and print its name %/\n<<widget starNameWithTrait>>\n\t<<set _possibleStars = []>>\n\t<<for _n = 0; _n < $currentSystem.stars.length; _n++>>\n\t\t<<if $currentSystem.stars[_n].traits.includes($args[0])>>\n\t\t\t<<set _possibleStars.push(_n)>>\n\t\t<</if>>\n\t<</for>>\n\t<<if _possibleStars.length == 0>>\n\t\t<<run console.error("Interplanetary Solar Flare ran but no stars had tSolarFlares trait!")>>\n\t\t<<set _possibleStars = [0]>>\n\t<</if>>\n\t<<set _star = oneOf(_possibleStars)>>\n\t<<starName _star>>\n<</widget>>
/% $args[0] is the crew member or NPC object, $args[1] is the singular form, $args[2] is plural/they form. %/\n/% If there is no $args[2] and $args[1] ends in "s", remove the s for the plural/they form. %/\n\s<<widget verbObj>>\s\n\t\s<<if $args[0].traits.includes("eNonBinary")>>\s\n\t\t\s<<if $args[2]>>\s\n\t\t\t\s<<= $args[2]>>\s\n\t\t\s<<elseif $args[1].endsWith("s")>>\s\n\t\t\t\s<<= $args[1].substring(0,$args[1].length-1)>>\s\n\t\t\s<<else>>\s\n\t\t\t\s<<= $args[1]>>\s\n\t\t\s<</if>>\s\n\t\s<<else>>\s\n\t\t\s<<= $args[1]>>\s\n\t\s<</if>>\s\n\s<</widget>>\s
/% $args[0] is the crew member, $args[1] is the singular form, $args[2] is plural/they form. %/\n/% If there is no $args[2] and $args[1] ends in "s", remove the s for the plural/they form. %/\n\s<<widget verbX>>\s\n\t\s<<if $crew[$args[0]].traits.includes("eNonBinary")>>\s\n\t\t\s<<if $args[2]>>\s\n\t\t\t\s<<= $args[2]>>\s\n\t\t\s<<elseif $args[1].endsWith("s")>>\s\n\t\t\t\s<<= $args[1].substring(0,$args[1].length-1)>>\s\n\t\t\s<<else>>\s\n\t\t\t\s<<= $args[1]>>\s\n\t\t\s<</if>>\s\n\t\s<<else>>\s\n\t\t\s<<= $args[1]>>\s\n\t\s<</if>>\s\n\s<</widget>>\s
\s<<widget verb>>\s\n\t\s<<verbX $selectedCrewMember $args[0] $args[1]>>\s\n\s<</widget>>\s
\s<<widget verb2>>\s\n\t\s<<verbX $selectedCrewMember2 $args[0] $args[1]>>\s\n\s<</widget>>\s
\s<<widget is>>\s\n\t\s<<verb is are>>\s\n\s<</widget>>\s\n\n\s<<widget is2>>\s\n\t\s<<verb2 is are>>\s\n\s<</widget>>\s\n\n\n\n\n\n/% everyoneVerb %/\n/% $args[1] is the singular form, $args[0] is plural/they form %/\n/% Prints $args[0] if more than 1 crew member is alive, or $args[1] if only one is %/\n/% if $args[1] is omitted, print $args[0] + "s" %/
\s<<widget eVerb>>\s\n\t\s<<if $crew.length > 1>>\s\n\t\t\s<<= $args[0]>>\s\n\t\s<<elseif $args[1]>>\s\n\t\t\s<<= $args[1]>>\s\n\t\s<<else>>\s\n\t\t\s<<= $args[0]>>s\s\n\t\s<</if>>\s\n\s<</widget>>\s\n\n/% Same but connected to a pronoun not a name, so use plural form if last remaining crew member is non-binary %/\n\s<<widget eVerbpn>>\s\n\t\s<<if $crew.length > 1 || $crew[0].traits.includes("eNonBinary")>>\s\n\t\t\s<<= $args[0]>>\s\n\t\s<<elseif $args[1]>>\s\n\t\t\s<<= $args[1]>>\s\n\t\s<<else>>\s\n\t\t\s<<= $args[0]>>s\s\n\t\s<</if>>\s\n\s<</widget>>\s\n\n\s<<widget are>>\s\n\t\s<<if $crew.length > 1 || $crew[0].traits.includes("eNonBinary")>>are<<else>>is<</if>>\s\n\s<</widget>>\s\n\n\n/% Noun for something that each crew member should have %/\n/% Returns plural version ($args[0]) if $crew.length > 1, otherwise singular version ($args[1]) %/\n/% If no $args[1] and $args[0] ends in s, singular version is $args[0] with last letter removed %/\n/% If no $args[1] and $args[0] ends in something else, singular version is $args[0] %/
\s<<widget eNoun>>\s\n\t\s<<if $crew.length > 1>>\s\n\t\t\s<<= $args[0]>>\s\n\t\s<<elseif $args[1]>>\s\n\t\t\s<<= $args[1]>>\s\n\t\s<<elseif $args[0].endsWith("s")>>\s\n\t\t\s<<= $args[0].substring(0,$args[0].length-1)>>\s\n\t\s<<else>>\s\n\t\t\s<<= $args[0]>>\s\n\t\s<</if>>\s\n\s<</widget>>\s
window.Civs = {\n\tgetKnownName: function(civ, the) {\n\t\tif (the) {\n\t\t\tif (civ === undefined) {\n\t\t\t\tconsole.error("Civs.getKnownName: undefined civ");\n\t\t\t\treturn "an alien";\n\t\t\t} else if (civ.knownTraits.includes("cKnowName")) {\n\t\t\t\treturn "the " + civ.civName;\n\t\t\t} else if (civ.tempName) {\n\t\t\t\treturn "the " + civ.tempName;\n\t\t\t} else {\n\t\t\t\treturn "an Unknown Alien";\n\t\t\t}\n\t\t} else {\n\t\t\tif (civ === undefined) {\n\t\t\t\tconsole.error("Civs.getKnownName: undefined civ");\n\t\t\t\treturn "alien";\n\t\t\t} else if (civ.knownTraits.includes("cKnowName")) {\n\t\t\t\treturn civ.civName;\n\t\t\t} else if (civ.tempName) {\n\t\t\t\treturn civ.tempName;\n\t\t\t} else {\n\t\t\t\treturn "Unknown Aliens";\n\t\t\t}\n\t\t}\n\t},\n\t\n\t/* Gatebuilders first, then spacefaring civs, then regular civs */\n\t/* Within each category, sort alphabetically by known name */\n\tdataViewSort: function(civindex1, civindex2) {\n\t\tvar civ1 = variables().civilisations[civindex1];\n\t\tvar civ2 = variables().civilisations[civindex2];\n\t\t\n\t\tvar category1, category2;\n\n\t\tif (civ1.knownTraits.includes("icGatebuilders")) { category1 = 0; }\n\t\telse if (civ1.knownTraits.includes("ctSpacefaring")) { category1 = 1; }\n\t\telse { category1 = 2; }\n\n\t\tif (civ2.knownTraits.includes("icGatebuilders")) { category2 = 0; }\n\t\telse if (civ2.knownTraits.includes("ctSpacefaring")) { category2 = 1; }\n\t\telse { category2 = 2; }\n\t\t\n\t\tif (category1 != category2) {\n\t\t\treturn category1 - category2;\n\t\t}\n\t\t\n\t\tvar sortname1 = Civs.getKnownName(civ1);\n\t\tvar sortname2 = Civs.getKnownName(civ2);\n\t\t\n\t\treturn sortname1.localeCompare(sortname2);\n\t}\n\n}
window.getTraitName = function(trait) {\n\tif ("name" in Traits[trait]) {\n\t\treturn Traits[trait].name;\n\t} else {\n\t\treturn trait;\n\t}\n}\n\nwindow.getTraitIconImg = function(trait) {\n\tif (trait in Traits && "icon" in Traits[trait]) {\n\t\tvar title = getTraitName(trait);\n\t\tvar img = Traits[trait].icon;\n\t\treturn "<img data-passage='"+img+"' alt='"+title+"'>";\n\t} else {\n\t\treturn "";\n\t}\n}
window.TextUtils = {\n\tvowels: ["a","e","i","o","u","A","E","I","O","U"],\n\tpunctuation: [".",",",";",":"],\n\t\n\t/* Delete all characters that have special meaning in SugarCube, except / for italics (which bios use for the ship name) */\n\t/* Exception: replace any number of ' with a single ' */\n\t/* Delete any number of !, # or * but only at the start of a line */\n\tsanitiseString: function(str) {\n\t\treturn str.replace(/[<>\s$\s[\s]_=\s^~{}@\sn#\s*]/g,"").replace(/'+/g,"'").replace(/^[!]+/g,"");\n\t},\n\n\t/* Put "a" or "an" as appropriate at the start of a string */\n\ta: function(str, uppercase) {\n\t\tif ( TextUtils.vowels.includes(str[0]) || str.startsWith("&") && TextUtils.vowels.includes(str[1]) )\n\t\t{\n\t\t\treturn "an " + str;\n\t\t}\n\t\telse\n\t\t{\n\t\t\treturn "a " + str;\n\t\t}\n\t},\n\t\n\tnumberWord: function(number) {\n\t\tswitch(number) {\n\t\t\tcase 0:\treturn "zero";\n\t\t\tcase 1:\treturn "one";\n\t\t\tcase 2:\treturn "two";\n\t\t\tcase 3:\treturn "three";\n\t\t\tcase 4:\treturn "four";\n\t\t\tcase 5:\treturn "five";\n\t\t\tcase 6:\treturn "six";\n\t\t\tcase 7:\treturn "seven";\n\t\t\tcase 8:\treturn "eight";\n\t\t\tcase 9:\treturn "nine";\n\t\t\tcase 10: return "ten";\n\t\t\tcase 11: return "eleven";\n\t\t\tcase 12: return "twelve";\n\t\t\tcase 13: return "thirteen";\n\t\t\tcase 14: return "fourteen";\n\t\t\tcase 15: return "fifteen";\n\t\t\tcase 16: return "sixteen";\n\t\t\tcase 17: return "seventeen";\n\t\t\tcase 18: return "eighteen";\n\t\t\tcase 19: return "nineteen";\n\t\t\tcase 20: return "twenty";\n\t\t\tdefault: return number.toString();\n\t\t}\n\t},\n\t\n\tordinalWord: function(number) {\n\t\tif (number%100 >= 10 && number%100 <= 19) \t{ return number.toString()+"th"; }\n\t\telse if (number%10 == 1) \t\t\t\t\t{ return number.toString()+"st"; }\n\t\telse if (number%10 == 2) \t\t\t\t\t{ return number.toString()+"nd"; }\n\t\telse if (number%10 == 3) \t\t\t\t\t{ return number.toString()+"rd"; }\n\t\telse \t\t\t\t\t\t\t\t\t\t{ return number.toString()+"th"; }\n\t},\n\n\tromanNumeral: function(number) {\n\t\tswitch(number) {\n\t\t\tcase 1:\t\treturn "I";\n\t\t\tcase 2:\t\treturn "II";\n\t\t\tcase 3:\t\treturn "III";\n\t\t\tcase 4:\t\treturn "IV";\n\t\t\tcase 5:\t\treturn "V";\n\t\t\tcase 6:\t\treturn "VI";\n\t\t\tcase 7:\t\treturn "VII";\n\t\t\tcase 8:\t\treturn "VIII";\n\t\t\tcase 9:\t\treturn "IX";\n\t\t\tcase 10:\treturn "X";\n\t\t\tcase 11:\treturn "XI";\n\t\t\tcase 12:\treturn "XII";\n\t\t\tcase 13:\treturn "XIII";\n\t\t\tcase 14:\treturn "XIV";\n\t\t\tcase 15:\treturn "XV";\n\t\t\tcase 16:\treturn "XVI";\n\t\t\tcase 17:\treturn "XVII";\n\t\t\tcase 18:\treturn "XVIII";\n\t\t\tcase 19:\treturn "XIX";\n\t\t\tcase 20:\treturn "XX";\n\t\t\tdefault: return number.toString();\n\t\t}\n\t},\n\t\n\tmoonLetter: function(number) {\n\t\tswitch(number) {\n\t\t\tcase 1:\t\treturn "a";\n\t\t\tcase 2:\t\treturn "b";\n\t\t\tcase 3:\t\treturn "c";\n\t\t\tcase 4:\t\treturn "d";\n\t\t\tcase 5:\t\treturn "e";\n\t\t\tcase 6:\t\treturn "f";\n\t\t\tcase 7:\t\treturn "g";\n\t\t\tcase 8:\t\treturn "h";\n\t\t\tcase 9:\t\treturn "i";\n\t\t\tcase 10:\treturn "j";\n\t\t\tcase 11:\treturn "k";\n\t\t\tcase 12:\treturn "l";\n\t\t\tcase 13:\treturn "m";\n\t\t\tcase 14:\treturn "n";\n\t\t\tcase 15:\treturn "o";\n\t\t\tcase 16:\treturn "p";\n\t\t\tcase 17:\treturn "q";\n\t\t\tcase 18:\treturn "r";\n\t\t\tcase 19:\treturn "s";\n\t\t\tcase 20:\treturn "t";\n\t\t\tcase 21:\treturn "u";\n\t\t\tcase 22:\treturn "v";\n\t\t\tcase 23:\treturn "w";\n\t\t\tcase 24:\treturn "x";\n\t\t\tcase 25:\treturn "y";\n\t\t\tcase 26:\treturn "z";\n\t\t\tdefault: return number.toString();\n\t\t}\n\t},\n\t\n\t/* Comma-format a number e.g. 1000 -> 1,000 */\n\tformatNumber: function(number) {\n\t\t/* Round number to the nearest integer and convert to a string */\n\t\tif (Math.abs(number) >= 10) {\n\t\t\t\n\t\t\tvar numberString = Math.round(Math.abs(number)).toString();\n\t\t\tvar returnString = numberString.slice(-3);\n\t\t\t\n\t\t\t/* Starting from the end of the string, insert a comma every third character */\n\t\t\tfor (var n = numberString.length-3; n > 0; n -= 3) {\n\t\t\t\t\n\t\t\t\treturnString = numberString.slice(Math.max(n-3,0), n) + "," + returnString;\n\t\t\t}\n\t\t\tif (number < 0) {\n\t\t\t\treturnString = "-" + returnString;\n\t\t\t}\n\t\t\treturn returnString;\n\t\t} else {\n\t\t\treturn number.toPrecision(2).toString();\n\t\t}\n\t\t\n\t},\n\t\n\t/* Thank you https://stackoverflow.com/questions/43785788/convert-string-to-title-case-after-dash-or-slash */\n\ttitleCase: function(str) {\n\t\treturn str.replace(/(?:^|\ss|\s/|\s-)\sw/g, function (match) { \n\t\t return match.toUpperCase(); \n\t\t});\n\t},\n\t\n\t/* Return a word based on the actor's gender */\n\t/* First argument should be either an array of traits (including a gender trait), or a single gender trait */\n\tgenderSwitch: function(traits, maleWord, femaleWord, nbWord) {\n\t\tif (!Array.isArray(traits)) {\n\t\t\ttraits = [traits];\n\t\t}\n\t\tif (traits.includes("eMale")) {\n\t\t\treturn maleWord;\n\t\t} else if (traits.includes("eFemale")) {\n\t\t\treturn femaleWord;\n\t\t} else {\n\t\t\treturn nbWord;\n\t\t}\n\t},\n\t\n\trandomShipNames: [\n\t\t/* Words */\n\t\t"Aurora",\n\t\t"Curiosity",\n\t\t"Discovery",\n\t\t"Eclipse",\n\t\t"Endeavour",\n\t\t"Equinox",\n\t\t"Excelsior",\n\t\t"Explorer",\n\t\t"Horizon",\n\t\t"Intrepid",\n\t\t"Pathfinder",\n\t\t"Pioneer",\n\t\t"Stargazer",\n\t\t"Voyager",\n\t\t"Wayfarer",\n\t\t/* Historical explorers/pioneers */\n\t\t"Ibn Battuta",\n\t\t"Leif Ericson",\n\t\t"Marco Polo",\n\t\t"Magellan",\n\t\t"Zheng He",\n\t\t/* Astronauts etc. */\n\t\t"Armstrong",\n\t\t"Gagarin",\n\t\t"Glenn",\n\t\t"Tereshkova",\n\t\t/* Astronomers/rocket scientists etc. */\n\t\t"Al-Battani",\n\t\t"Giordano Bruno",\n\t\t"Sagan",\n\t\t/* Tsiolkovsky, Oberth, Goddard and Esnault-Pelterie are regarded as the founders of modern astronautics. */\n\t\t"Esnault-Pelterie",\n\t\t"Goddard",\n\t\t"Oberth",\n\t\t"Tsiolkovsky",\n\t],\n\t\n\tgreekLetters: [\n\t\t"Alpha",\n\t\t"Beta",\n\t\t"Gamma",\n\t\t"Delta",\n\t\t"Epsilon",\n\t\t"Zeta",\n\t\t"Eta",\n\t\t"Theta",\n\t\t"Iota",\n\t\t"Kappa",\n\t\t"Lambda",\n\t\t"Mu",\n\t\t"Nu",\n\t\t"Xi",\n\t\t"Omicron",\n\t\t"Pi",\n\t\t"Rho",\n\t\t"Sigma",\n\t\t"Tau",\n\t\t"Upsilon",\n\t\t"Phi",\n\t\t"Chi",\n\t\t"Psi",\n\t\t"Omega"],\n\t\t\n\tmonths: [\n\t\t"January",\n\t\t"February",\n\t\t"March",\n\t\t"April",\n\t\t"May",\n\t\t"June",\n\t\t"July",\n\t\t"August",\n\t\t"September",\n\t\t"October",\n\t\t"November",\n\t\t"December"\n\t],\n\t\n\tdateString: function(date) {\n\t\treturn TextUtils.months[date.getMonth()] + " " + date.getDate() + ", " + date.getFullYear();\n\t},\n\t\n\n\tpilot: function() {\n\t\tvariables().selectedCrewMember = Crew.getRandomWithTraits(variables().crew, ["ePilot"], true);\n\t\treturn Crew.fullName(variables().crew[variables().selectedCrewMember]);\n\t},\n\tengineer: function() {\n\t\tvariables().selectedCrewMember = Crew.getRandomWithTraits(variables().crew, ["eEngineer"], true);\n\t\treturn Crew.fullName(variables().crew[variables().selectedCrewMember]);\n\t},\n\tmedic: function() {\n\t\tvariables().selectedCrewMember = Crew.getRandomWithTraits(variables().crew, ["eMedic"], true);\n\t\treturn Crew.fullName(variables().crew[variables().selectedCrewMember]);\n\t},\n\tplanetaryScientist: function() {\n\t\tvariables().selectedCrewMember = Crew.getRandomWithTraits(variables().crew, ["ePlanetaryScientist"], true);\n\t\treturn Crew.fullName(variables().crew[variables().selectedCrewMember]);\n\t},\n\tbiologist: function() {\n\t\tvariables().selectedCrewMember = Crew.getRandomWithTraits(variables().crew, ["eBiologist"], true);\n\t\treturn Crew.fullName(variables().crew[variables().selectedCrewMember]);\n\t},\n\txenologist: function() {\n\t\tvariables().selectedCrewMember = Crew.getRandomWithTraits(variables().crew, ["eXenologist"], true);\n\t\treturn Crew.fullName(variables().crew[variables().selectedCrewMember]);\n\t},\n\ttheExplorers: function(fallback) {\n\t\tif (variables().crew.length > 1) {\n\t\t\treturn "the explorers";\n\t\t} else if (fallback == "heshe") {\n\t\t\treturn TextUtils.heshe(variables().crew[0]);\n\t\t} else if (fallback == "himher") {\n\t\t\treturn TextUtils.himher(variables().crew[0]);\n\t\t} else {\n\t\t\treturn Crew.fullName(variables().crew[0]);\n\t\t}\n\t},\n\ttheExplorerss: function(fallback) {\n\t\tif (variables().crew.length > 1) {\n\t\t\treturn "the explorers'";\n\t\t} else if (fallback == "hisher") {\n\t\t\treturn TextUtils.heshe(variables().crew[0]);\n\t\t} else {\n\t\t\treturn Crew.fullName(variables().crew[0]) + "'s";\n\t\t}\n\t},\n\t\n\theshe: function(crewMember) {\n\t\tif (crewMember === undefined) {\n\t\t\tcrewMember = variables().crew[variables().selectedCrewMember];\n\t\t}\n\t\treturn TextUtils.genderSwitch(crewMember.traits, "he", "she", "they");\n\t},\n\thimher: function(crewMember) {\n\t\tif (crewMember === undefined) {\n\t\t\tcrewMember = variables().crew[variables().selectedCrewMember];\n\t\t}\n\t\treturn TextUtils.genderSwitch(crewMember.traits, "him", "her", "them");\n\t},\n\thisher: function(crewMember) {\n\t\tif (crewMember === undefined) {\n\t\t\tcrewMember = variables().crew[variables().selectedCrewMember];\n\t\t}\n\t\treturn TextUtils.genderSwitch(crewMember.traits, "his", "her", "their");\n\t},\n\tthey: function() {\n\t\tif (variables().crew.length > 1) {\n\t\t\treturn "they";\n\t\t} else {\n\t\t\treturn heshe(variables().crew[0]);\n\t\t}\n\t},\n\tthem: function() {\n\t\tif (variables().crew.length > 1) {\n\t\t\treturn "them";\n\t\t} else {\n\t\t\treturn himher(variables().crew[0]);\n\t\t}\n\t},\n\ttheir: function() {\n\t\tif (variables().crew.length > 1) {\n\t\t\treturn "their";\n\t\t} else {\n\t\t\treturn hisher(variables().crew[0]);\n\t\t}\n\t},\n\t\n\tverb: function(singular, plural, crewMember) {\n\t\tif (crewMember === undefined) {\n\t\t\tcrewMember = variables().crew[variables().selectedCrewMember];\n\t\t}\n\t\tif (crewMember === undefined) {\n\t\t\tcrewMember = { traits: [] };\n\t\t}\n\t\tif (plural === undefined) {\n\t\t\tif (singular.endsWith("s")) {\n\t\t\t\tplural = singular.substring(0, singular.length-1);\n\t\t\t} else {\n\t\t\t\tplural = singular;\n\t\t\t}\n\t\t}\n\t\tif (crewMember.traits.includes("eNonBinary")) {\n\t\t\treturn plural;\n\t\t} else {\n\t\t\treturn singular;\n\t\t}\n\t},\n\teVerb: function(plural, singular) {\n\t\tif (singular === undefined) {\n\t\t\tsingular = plural + "s";\n\t\t}\n\t\tif (variables().crew.length > 1) {\n\t\t\treturn plural;\n\t\t} else {\n\t\t\treturn singular;\n\t\t}\n\t},\n\teNoun: function(plural, singular) {\n\t\tif (singular === undefined) {\n\t\t\tif (plural.endsWith("s")) {\n\t\t\t\tsingular = plural.substring(0, plural.length-1);\n\t\t\t} else {\n\t\t\t\tsingular = plural;\n\t\t\t}\n\t\t}\n\t\tif (variables().crew.length > 1) {\n\t\t\treturn plural;\n\t\t} else {\n\t\t\treturn singular;\n\t\t}\n\t},\n\t\n\tshipName: function() {\n\t\treturn "//" + variables().ship.name + "//";\n\t},\n\t\n\tplanetNoun: function(traits) {\n\t\tif (traits === undefined) {\n\t\t\ttraits = variables().currentSystem.planets[variables().planetNumber].knownTraits;\n\t\t}\n\t\tif (traits.includes("pWormhole")) {\n\t\t\treturn "Gate";\n\t\t} else if (traits.includes("psActuallyASpaceWhale")) {\n\t\t\treturn "organism";\n\t\t} else if (traits.includes("pBelt")) {\n\t\t\treturn "belt";\n\t\t} else if (traits.includes("pIsMoon")) {\n\t\t\treturn "moon";\n\t\t} else if (traits.includesAll("pMinorPlanet","pSurfaceIce")) {\n\t\t\treturn "comet";\n\t\t} else if (traits.includes("pMinorPlanet")) {\n\t\t\treturn "asteroid";\n\t\t} else {\n\t\t\treturn "planet";\n\t\t}\n\t},\n\t\n\tplanetName: function(planet) {\n\t\tif (planet === undefined) {\n\t\t\tplanet = variables().currentSystem.planets[variables().planetNumber];\n\t\t}\n\t\treturn planet.name;\n\t},\n\t\n\tparentName: function(system, planetNum) {\n\t\tif (system === undefined) {\n\t\t\tsystem = variables().currentSystem;\n\t\t}\n\t\tif (planetNum === undefined) {\n\t\t\tplanetNum = variables().planetNumber;\n\t\t}\n\t\tif (system.planets[planetNum].moonOf != -1) {\n\t\t\treturn system.planets[system.planets[planetNum].moonOf].name;\n\t\t} else {\n\t\t\treturn system.stars[0].name;\n\t\t}\n\t},\n\t\n\tstarName: function(system) {\n\t\tif (system === undefined) {\n\t\t\tsystem = variables().currentSystem;\n\t\t}\n\t\treturn system.stars[0].name;\n\t}\n}\n\n\n\n\n\n